Dr.com 认证的校园网里使用 WiFi

Solution for Dr.com,Wifi users in Campus Network

Posted by ypingcn on October 9, 2016 Lastest updated on November 2, 2021
[AD] -- 正文广告 --

昨天校园网改造,从 inode 的认证换成 Dr.com 的认证,无线路由器又是要重新折腾一番了。手头上有的是淘来的 TP-Link TL-WR740N v5 的硬件,已经安装了带有 LuCI 的 OpenWrt Barrier Breaker r36195 ,自带锐捷认证和 H3C 认证。

连接网络

用浏览器登录192.168.1.1(管理路由器的IP地址),点击选项卡里的 网络 -> 无线 -> 搜索 选项,将路由器加入可以使用的网络。

更改软件源

点击 系统–»软件包–»配置 选项,将路由器的openwrt的软件源修改为相应版本。

src/gz barrier_breaker_base http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base  
src/gz barrier_breaker_luci http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/luci  
src/gz barrier_breaker_packages http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/packages  
src/gz barrier_breaker_routing http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/routing  
src/gz barrier_breaker_telephony http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/telephony  
src/gz barrier_breaker_management http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/management  
src/gz barrier_breaker_oldpackages http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/oldpackages

14.07是 openwrt 的版本号,ar71xx 是硬件分类,可以尝试opkg update命令查看报错信息大致确认。

安装Python环境

ssh 连接进路由器( Windows 用 putty ,Linux 可以直接在终端执行ssh [email protected],用户名和IP地址大同小异),执行以下命令安装Python运行环境。

opkg update
opkg install python-mini

处理错误

终端里运行在 关于P版的PPPoE拨号问题 的HighLight部分运行所提供的命令

#!/bin/sh
cp /lib/netifd/proto/ppp.sh /lib/netifd/proto/ppp.sh_bak
sed -i '/proto_run_command/i username=`echo -e "$username"`' /lib/netifd/proto/ppp.sh
sed -i '/proto_run_command/i password=`echo -e "$password"`' /lib/netifd/proto/ppp.sh

登录抓包

按照 关于P版的PPPoE拨号问题 用 wireshark 抓包生成 config.txt,相同学校内容应该相同,内容类似于

server = '1.1.1.1'
pppoe_flag = '\x1d'
keep_alive2_flag = '\xd8'

上传文件

Windows 用户应使用支持 Unix换行符 的文件编辑器,如 Editplus, notepad2, notepad++ ,sublime text 编辑以下文件。

Linux 用scp ,Windows 下用 WinSCP 将本地修改的文件替换(或增添/修改)路由器里的文件

/usr/bin/drcom
/usr/bin/pppoe.sh
/etc/drcom.conf

/usr/bin/drcom : 自己学校可用的心跳认证 python 脚本,drcom5.2.0 p心跳不对。#82的也不能用 #116 这个反馈中提供的脚本代码可在自家学校的环境中使用。

/etc/drcom.conf : 使用登录抓包获取到的config.txt文件。

/usr/bin/pppoe.sh : 使用 p版简略使用和配置说明 提到的 地址 替换,最后一行的exec python /usr/bin/drcom-pppoe.py 改为 exec python /usr/bin/drcom

上传后赋予脚本可执行权限:

chmod +x /usr/bin/drcom
chmod +x /usr/bin/pppoe.sh

调整开机启动

在 系统–»启动项 中先禁用 H3C_Clientmentohust ,在本地启动脚本(即/etc/rc.local )的exit 0 前添加

sleep 15
pppoe.sh

配置上网账号

根据登录抓包获得的文件,在 网络–»接口–»WAN–»修改 里的 PAP/CHAP 用户名和 PAP/CHAP 密码填写相对应的上网账号,抓包得到的文件里账号信息要完全填写,包括 /r/n 等转义字符。

完成

尽情享受上网的乐趣吧!

参考

Github wiki

p版简略使用和配置说明

关于P版的PPPoE拨号问题