配置OpenWRT的802.1x认证加入内部网
又是很久没有更新了,其实这个已经完成了很多时候了,但是事情太多一直没来的及写。
因为学校使用的Ethernet是通过802.1x认证的(好像WIFI也是),对于智能家居等不方便更改网络的设备非常不方便,遂有了添加路由器的想法。
顺便说一句,校园网的速度还是非常爽的,最重要的是包含在房租里了,不用另外付费。
这个测速确认是外网速度,校园内没有测速节点。(可惜是NAT3,不然可以开机子了🤣)
硬件配置
主路由使用的是R2S,对于我一个人来说性能足够了(毕竟不需要科学上网了)。
整体速度能跑满上下千兆,内网还带了一个nas做pt下载用,性能足够。
本人使用骷髅头固件,注意自编译固件会有大负载下重启的问题,此固件无此类问题。传送门
另外我还买了一个小米AX1800,就是国内的小米AX5作为AP使用,刷入极客固件,无线网的速度能跑到700Mbps左右。
其实这个成绩还是挺差的,没有达到我的心理预期,WIFI6性价比路由器还没有WIFI5强,其实没有升级的必要
配置802.1x认证
最重要的就是配置802.1x认证了,不然都是瞎扯。
1. 安装完整WPAD
现在OpenWRT上默认使用的是wpad-mini,并不支持802.1x认证,需要安装wpad来进行认证。
如果OpenWRT系统使用了wpad完整版或者Hostapd就无需再次安装,直接跳到下一步,上面使用的骷髅头固件,在2022/2/19的版本以后已经集成了hostapd,无需此步。
如果有网络访问
1 | opkg update |
这时候一般是没有外网的,可以通过手机热点,共享给电脑,再通过windows共享给路由器,路由器注意修改网关,稍微有些复杂,这里不再赘述,不会的话可以通过下面的方式。
如果没有外网访问
1. 获取软件包的位置
在控制台中输入 opkg update
找到如下的一个URL(从开头一直到base):
将网址输入浏览器,查找wpad,下载对应的软件包,如下所示:
通过SCP或者FTP将软件包上传到软路由下并进行安装:opkg install wpadxxxxxx.ipk
配置802.1x配置文件
创建一个配置文件:
1 | vim /etc/config/wpa_supplicant.802.1x.conf |
输入如下信息:
1 | ctrl_interface=/var/run/wpa_supplicant |
这里需要注意一下校园或者单位的加密方式等配置,具体请在各自网站查找,或询问技术人员。
验证信息
查找验证自己WAN口的网卡设备名称
执行命令并确认是否正常:(注意修改网卡名称)
1 | wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa_supplicant.802.1x.conf -dd -t |
创建开机脚本
创建文件:
1 | vim /etc/init.d/wpa-autostart |
输入以下内容:(注意修改网卡设备名称)
1 | !/bin/sh /etc/rc.common |
赋予脚本权限和启动自启脚本:
1 | chmod +x /etc/init.d/wpa-autostart |
创建检测脚本
此脚本是为了断线重连,非必须。
创建一个crontab脚本:
1 | !/bin/sh |
注意:请修改对应的网卡设备名称,此脚本只检测是否存在对应的IPV4地址,并不检测和上级路由是否通畅。
添加crontab任务:
1 | crontab -l |
加入以下内容:
1 | * * * * * /bin/sh -x /etc/config/check.802.1x.sh &> /tmp/check.802.1x.log |
启动crontab服务并观察:
1 | /etc/init.d/cron enable |
到这里就基本完成上网的认证了
升级OpenWRT系统相关问题
由于Openwrt系统默认不保存我们生成的系统文件,我们要对备份做一些修改。进入web后台:
加入下列路径:
1 | /etc/config/wpa_supplicant.802.1x.conf |
如果没有wpad的系统也可以备份一下wpad安装包,根据自己的路径进行备份。(有可能升级以后旧版wpad安装包无法安装)
点击右下角提交,进入动作
选项卡,执行一次备份。
关于DNS接管问题
有的时候认证成功获取到ip以后访问外网IP可以通,外网域名无法解析的情况下,可能是内网将dns接管了
只需要在 luci 的 Network > DHCP and DNS 下关闭 Rebind protection
并且使用内网DNS地址就能解决该问题了。