0. 安装 OpenWrt
不同的路由器安装方法不同。以 R6220 为例,只需要按照官网的教程 (https://openwrt.org/toh/netgear/netgear_r6220), 下载 Firmware OpenWrt Install
的镜像并上传到网件官方后台进行系统更新即可。
安装后可登录 Luci http://192.168.1.1/ 配置管理员密码以及 WiFi 设置。管理员密码同时也是 ssh 到 root 时的密码。
1. 安装完整版 wpad
OpenWrt 官方镜像中只有阉割掉了 802.1x 的 wpad-basic
, 因此需要先安装完整版 wpad
。
如果路由器已连接到外网(如使用电脑共享网络)
如果路由器已经连接到网络, 可以直接使用 opkg
包管理工具进行下载安装
# 更新软件目录
opkg update
# 下载 wpad (防止卸载 wpad-basic 后断网)
opkg download wpad
# 卸载 wpad-basic
opkg remove wpad-basic
# 安装 wpad (文件名为下载 wpad 时的输出, 可以使用tab自动填充)
opkg install wpad_<version>_<arch>.ipk
如果路由器没有外网连接
如果路由器没有外网连接, 则需要手动下载 ipk 文件并上传安装。
首先需要确认路由器架构:
opkg print-architecture | awk '{print $2}' | grep -v all | grep -v noarch
如在 R6220 上:
root@R6220:~# opkg print-architecture | awk '{print $2}' | grep -v all | grep -v noarch
mipsel_24kc
接着就可以在 https://downloads.openwrt.org/releases/ 上找到对应的 .ipk
下载
如 R6220 的下载链接为: http://downloads.openwrt.org/releases/19.07.3/packages/mipsel_24kc/base/wpad_2019-08-08-ca8c2bd2-4_mipsel_24kc.ipk
使用 scp 上传文件:
scp wpad_2019-08-08-ca8c2bd2-4_mipsel_24kc.ipk [email protected]:/root
然后就可以在路由器上安装:
# 卸载 wpad-basic
opkg remove wpad-basic
# 安装 wpad
opkg install wpad_2019-08-08-ca8c2bd2-4_mipsel_24kc.ipk
同理也可以在 luci 界面中 System > Sotware 下使用 Upload Packages 来进行安装。
2. 配置 802.1x 网络
首先创建配置文件 (/tmp/8021x.cnf):
echo 'ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=root
ap_scan=0
network={
key_mgmt=IEEE8021X
eap=PEAP
identity="<<username>>"
password="<<password>>"
phase2="auth=MSCHAPV2"
priority=2
}' > /tmp/8021x.cnf
然后尝试进行连接:
wpa_supplicant -D wired -i eth0.2 -c /tmp/8021x.cnf
此时路由器就该能正常连接网络。
为了添加到开机启动并方便在 luci 图形化界面中修改配置,我们把它添加到 luci 的 System > Startup > Local Startup 下 (也可以 ssh 下 vi /etc/rc.local
进行修改):
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
# Connect to 802.1x network
echo 'ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=root
ap_scan=0
network={
key_mgmt=IEEE8021X
eap=PEAP
identity="<<username>>"
password="<<password>>"
phase2="auth=MSCHAPV2"
priority=2
}' > /tmp/8021x.cnf
wpa_supplicant -D wired -i eth0.2 -c /tmp/8021x.cnf -B -s
exit 0
后续如果要修改账号密码,在这里修改并重启路由器即可。
接着重启路由器,应该就能正常连接到网络了。如果有异常,可以在 luci 中 Status > System Log
中搜索 wpa_supplicant
查看日志。
3. 常见问题
某些校园内网资源无法访问
这可能是因为 OpenWrt 默认开启了 Rebind protection。这个选项会忽视上游 DNS 服务器返回的内网的 IP 地址。只需要在 luci 的 Network > DHCP and DNS 下关闭 Rebind protection
即可。