路由器进行校园网安腾认证的一种方法
2018-05-28刘玉琪
刘玉琪
摘要:阐述了路由器刷入PandoraBox固件,将基于C语言开发的跨平台第三方安腾认证客户端交叉编译并在路由器上运行的过程。打破了校园网络的限制,将有线网络转变成无线网络,所使用的方法同样适用于其他路由器系统。
关键词:安腾认证; 交叉编译; PandoraBox固件; 无线路由器; atclient
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)09-0039-02
Abstract: This article demonstrates the method of flashing PandoraBox firmware into router and cross-compiling a cross-platform third-party amtium authentication client based on C language which running on router.Breaking the limitation of campus network, transforming wired network into wireless network, this method also suit for other router systems.
Key words:Amtium Certification Program; cross compiling; PandoraBox firmware; Router; atclient
当代网络技术发展十分迅速,大学生与互联网的结合也越来越紧密,各高校也在学生宿舍内部署了校园有线局域网。有别于传统的PPOE、 802.1X、Portal认证,这些局域网需要用专用的客户端进行登录。尽管这样的认证方式有利于学校计费管理与接入控制,但却使传统认证方式的无线路由器无法正常运行,导致宿舍不能覆盖无线网络。由于绝大部分高校仅提供有线网络接入,大学生在宿舍内想要上网,必须用电脑打开客户端进行认证,然后再用电脑上网,依赖于无线网络的平板电脑、手机等设备终端便成了摆设。
本文提供了一种改造路由器的方法,通过笔者编写的基于C语言的第三方安腾认证客户端,成功地将仅限Windows系统使用的认证客户端移植到了无线路由器所运行的PandoraBox系统上。在经过认证后,无线路由器发射出来的Wi-Fi信号可提供给手机、平板电脑上网。
1 路由器进行安腾校园网认证原理
安腾校园网认证是一种基于UDP连接的认证方式,通常使用这种认证方式的校园网认证客户端还有安朗、神州客户端等客户端。本文以安腾客户端为例,经过分析,客户端发送的报文是加密过后的UDP数据包。在获取加密算法后,笔者根据加密算法编写了一个开源的第三方安腾认证客户端atclient,它基于C语言,可移植性好,适合嵌入式设备运行。在刷入第三方PandoraBox系统替换原有操作系统后,将此第三方安腾认证客户端atclient交叉编译并上传到路由器上,完成认证。
2 路由器进行安腾校园网认证步骤
2.1 交叉编译atclient
交叉编译指在某一平台下编译另一平台的可执行文件。以本文为例,由于本文编译环境使用的是Linux桌面版,运行平台是X86,所以我们需要通过交叉编译在Linux桌面版上编译MIPS平台的Linux的可执行文件。
2.1.1 atclient介绍
atclient是一款适用于Linux系统的安腾第三方认证客户端,可替代官方客户端完成认证,基于C语言编写,可交叉编译至PandoraBox系统运行。
2.1.2 准备工作
1) 一台运行Linux系统的电脑,笔者选用的是Centos6.4(64位)系统。
2) 下载atclient源码并解压,源码下载地址:https://github.com/lyq1996/atclient
3) 下载交叉编译所需要的工具链并解压,下载地址:https://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/OpenWrt-SDK-15.05.1-ar71xx-generic_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2
2.1.3 配置编译环境
按下Ctrl+T打开终端,分别输入:
export PATH=$PATH:/pandorabox/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin:/pandorabox/staging_dir/host/bin
export STAGING_DIR=/pandorabox/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/mips-openwrt-linux-uclibc
这两个命令把工具链中的可执行文件目录添加到了环境变量中,指定交叉编译所使用gcc编译器,这里的路径是工具链解压后所在的路径。
2.1.4 交叉編译atclient
按下Ctrl+T打开终端,输入:cd atclient && ./configure --host=mips-openwrt-linux-uclibc && make,等到终端输出编译完成后关闭终端,编译后生成的atclient文件在/src目录。
2.2 路由器刷入PandoraBox系统
2.2.1 PandoraBox介绍
PandoraBox是一种嵌入式Linux系统,基于OpenWrt深度定制,系统底层部分采用了商业驱动,并非开源驱动,因而其对比于OpenWrt更稳定。它的所有目录均可写,与普通电脑无异,可以运行用户自己编写的程序。市面上部分无线路由器都可以支持这个系统,笔者本文中使用的是一款CPU为MTK MT7620A、内存64MB、闪存8MB的2.4Ghz、5Ghz双频100Mbps路由器。
2.2.2 刷入PandoraBox系统
PandoraBox系统受到广大无线路由器用户欢迎,接下来是刷入PandoraBox系统的步骤。
1) 进入PandoraBox下载地址: http://downloads.openwrt.org.cn/PandoraBox/,选择对应路由器型号的.bin固件。
2) 将电脑连接路由器的LAN口,等待路由器分配IP地址。
3) 打开终端,在终端输入:ifconfig查看路由器的IP地址,通常路由器的IP地址为192.168.1.1。
4) 在浏览器输入http://192.168.1.1进入路由器网页后台管理页面,点击固件。
5) 在弹出来的选取框中选取下载的PandoraBox固件,点击升级刷入PandoraBox固件。
2.3 在路由器上完成安腾认证
2.3.1 将atclient可执行文件上传到路由器
1) 等待刷入PandoraBox系统并自动重启后,将电脑连接路由器的LAN口。
2) 打开终端,在终端输入:scp /atclient/src/atclient root@192.168.1.1:/bin,其中root表示以root用户登录,默认访问22端口,输入后要求输入密码,若未修改则默认密码为admin,此命令将安腾认证程序atclient上传到路由器的/bin目录。
2.3.2 测试atclient能否正常运行
1) 在浏览器中输入http://192.168.1.1进入路由器网页后台管理页面。
2) 在网页后台管理页面的侧栏标题为网络的选项中,点击接口,记录WAN口的eth号,PandoraBox系统的WAN口默认是eth0.2。
3) 再点击WAN口旁边的修改,将协议设置成DHCP客户端,路由器即可自动获取内网地址,点击保存&应用后关闭浏览器。
4) 等待无线路由器获取到校园网内网地址,此时可以访问校内资源,但由于未经过二次认证,所以无法访问外网。
5) 打开终端,在终端输入:ssh root@192.168.1.1,以root用户登录路由器的Secure Shell。
6) 再输入 atclient –u admin –p 123456 –i 1.1.1.1 –d eth0.2,此命令可以运行atclient,以用来测试atclient是否能完成安腾认证。这里的-u指定用户名参数为admin,-p指定密码参数为123456,-i指定服务器地址为1.1.1.1,-d指定网卡为eth0.2。
7) 若测试时终端输出 [atclient]:Login Success! 则安腾认证成功。
2.3.3 设置路由器开机自启动atclient
1) 在浏览器中输入http://192.168.1.1进入路由器网页后台管理页面。
2) 在网页后台管理页面的侧栏标题为系统的选项中,点击启动项,在本地启动脚本的输入框中输入:sleep 30,换行,再输入:atclient –u admin –p 123456 –i 1.1.1.1 –d eth0.2 >/dev/null &。
3) 点击提交,设置开机自启动atclient完成。
4) 重启路由器。
2.3.4 常见问题解决方法
1) 若测试时终端输出[ERROR]: ioctl: Cannot assign requested address,原因是啟动命令-d指定的网卡不正确,atclient无法获取网卡上的IP地址,解决方法是在启动命令中的-d指定正确的网卡。
2) 若测试时终端输出[ERROR]:Recvice Size Error,原因是接受到的数据包字节数与包头的字节数不一致,表明数据包可能被人篡改,解决方法是重新认证。
3) 若测试时终端输出[atclient]:Login Failed!Retry,原因是用户名、密码不正确,或账户欠费,解决方法是检查用户名或密码、充值账户。
3 结束语
通过上述步骤,路由器刷写了PandoraBox系统,运行了atclient安腾认证第三方客户端,成功的将校园有线网络转变成Wi-Fi发射了出去,让手机等移动设备也可以享受校园网络的方便与快捷。
参考文献:
[1] 林雄.智能路由器固件的编译及烧写[J].电脑编程技巧与维护,2017(19).
[2] 张晓华,张玉华.基于路由器的开源嵌入式操作系统学习平台[J].单片机与嵌入式系统应用,2013(2).
[3] 阎书强.DD-WRT 让我们的无线路由器用上Linux[J].电脑迷,2007(3).
[4] 刘耀义.基于嵌入式Linux系统的无线路由器设计[J].科技与创新,2016(21).
[5] 陈永强,陶品,王笃强.嵌入式Linux移植[J].实验室研究与探索,2012(9).