最近新入手了一個 京東無線寶 AX6600(雅典娜),刷上了 OpenWrt,本來打算直接橋接校園網使用,結果發現一個很致命的問題:
❌ 校園網使用的是企業級 PEAP 認證,而 OpenWrt 預設只有
wpa-basic,無法完成認證
雖然理論上可以安裝 wpa-supplicant-full,但在這個型號和韌體組合下始終無法穩定連線。
💡 思路轉變:用樹莓派當“中間路由”
正好手頭有一塊 樹莓派 4B,測試發現:
- ✅ 樹莓派可以穩定透過 PEAP 認證校園網
- ❌ 但樹莓派 無法同時作為 Wi-Fi 客戶端 + Wi-Fi 熱點(硬體 / 驅動限制)
- ✅ 但可以:
Wi-Fi 連線校園網 → 透過有線網口共享給路由器
最終方案如下:
1 | 校園網 Wi-Fi(PEAP) |
👉 樹莓派只負責認證和轉發,路由功能仍由 OpenWrt 承擔
🧱 一、樹莓派刷機與首次聯網
📀 刷機說明
系統:Raspberry Pi OS(官方,帶桌面)
刷寫工具:Raspberry Pi Imager
在 Imager 裡開啟:
- SSH
- 初始 Wi-Fi(⚠️ 這個後面不一定生效)
⚠️ 實際發現:
Imager 裡設定的 Wi-Fi 在某些環境下不會自動連線
所以我額外準備了一個“保底方案”。
🛜 備用 Wi-Fi:寫入 boot 分割槽
刷完系統後,在 SD 卡的 boot 分割槽 放入:
/boot/wpa_supplicant.conf
1 | country=US |
💡 這裡用的是 手機 / 電腦開的個人熱點
目的只有一個:確保能 SSH 上樹莓派進行後續配置
開機後:
- 在路由器或熱點裡檢視樹莓派 IP
ssh pi@<ip>登入
🖥 二、連線校園網(PEAP)
為了圖省事,我直接:
使用
raspi-config開啟 VNC透過 VNC 進入桌面
使用 NetworkManager 圖形介面
選擇校園網 Wi-Fi,填寫:
- EAP:PEAP
- 內部認證:MSCHAPv2
- 使用者名稱 / 密碼
✅ 連線非常穩定
✅ 不需要手寫 wpa_supplicant.conf
换源:
目前版本是debian13,與網網上換源不同,我這裡是使用ChatGPT的建議/etc/apt/sources.list:
1 | deb https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie main contrib non-free non-free-firmware |
🔌 三、將 Wi-Fi 網路共享到網口
1️⃣ 禁用有線網口自動連線
如果不關掉 eth0 的自動連線,樹莓派會:
- 開機優先等有線
- 導致 Wi-Fi 連線 非常慢
1 | sudo nmcli connection modify "netplan-eth0" connection.autoconnect no |
同時確保校園網 Wi-Fi 自動連線、優先順序更高:
1 | nmcli connection modify "Test_wifi" \ |
關閉樹莓派WiFi省電模式,避免斷網:
1 | sudo iw dev wlan0 set power_save off |
2️⃣ 網路共享指令碼
建立指令碼:
/usr/local/bin/share-campus-net.sh
1 |
|
別忘了加執行許可權:
1 | sudo chmod +x /usr/local/bin/share-campus-net.sh |
⚙️ 四、設定 systemd 開機自啟
建立服務檔案:
/etc/systemd/system/share-campus-net.service
1 | [Unit] |
啟用並啟動:
1 | sudo systemctl daemon-reload |
✅ 最終效果
- 🟢 樹莓派開機
- 🟢 自動連線校園網(PEAP)
- 🟢 等 Wi-Fi 真正就緒後執行共享指令碼
- 🟢 OpenWrt 路由器透過網線獲得網路
- 🟢 路由器負責 NAT / DHCP / 防火牆
2026.4.18 補充:
最近遇到一個奇怪的狀況:斷電重啟後,樹莓派本身可以上網,但 OpenWrt 路由器卻沒有網路。經過排查,發現如果開機後手動執行:
1 | sudo ip addr flush dev eth0 |
路由器就能正常上網。推測原因是 share-campus-net.service 啟動得太快,即便設定了延遲啟動,也依然會立即運行,導致網口還未完全就緒就開始共享,從而出現路由器無網的問題。
進一步檢查發現,即使將 share-campus-net.service 停用(disable),它仍會立即被觸發。原因是它依賴於 dnsmasq.service。後來的解法是改用 crontab 定時任務延遲啟動:
- 先停用 dnsmasq 和 share-campus-net.service 開機自啟:
1 | sudo systemctl disable dnsmasq.service |
- 編輯 root crontab:
1 | sudo crontab -e |
- 增加延遲啟動指令(例如延遲 5 分鐘):
1 | @reboot sleep 300 && systemctl start dnsmasq.service |
這樣設定後,樹莓派啟動並連線校園網後,路由器就能正常獲取網路。
另外,如果需要確保 dnsmasq.service 在共享服務之後啟動,可修改 systemd override:
1 | sudo nano /etc/systemd/system/dnsmasq.service.d/override.conf |
內容如下:
1 | [Unit] |
這樣可以保證服務啟動順序正確,避免網路初始化時的衝突。