最近新入手了一个 京东无线宝 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] |
这样可以保证服务启动顺序正确,避免网络初始化时的冲突。