|
|
上次是给xsupplicant打补丁,结果编译成了大问题。不仅是其他发行版上编译有问题,gentoo上也往往出错,所以一直想解决这个问题。
后来用Ubuntu和FC的同学也陆续出现了xrgsu网卡检测错误的问题,更让我觉得应该把linux下的锐捷认证客户端写出来。
暑假回家后就开始着手此事。python用了有一段时间了,一直都想学习面向对象的编程,这次就边学边用了:-)
锐捷的私有协议部分,我封装到一个类中(class ruijie),方便整合进标准的EAP-MD5认证。在改写的过程中,发现了先前认证程序算法的错误(导致掉线),研究了一个晚上,得到了正确的算法。
XMU是厦门大学的缩写,因为XMU-Ruijie是在我的母校厦门大学完成并测试的:-) XMU-Ruijie是用python写的,直接运行,安装中不需要编译。不过不知道64位的环境中能否使用,加了~amd64,用64位环境的兄弟试试看吧。
在Gentoo和Ubuntu下测试过了没有问题:-)
XMU-ruijie同xsupplicant-1.2.8-rj.patch一样,基于Mentoo supplicant的核心算法并改进和修正,具体地说的针对锐捷2.56的算法。在Gentoo下安装有ebuild可用,见最后的附件链接。我自己用iptables,firewall的USE下安装的启动脚本是针对iptables的,使用前请务必修改好/etc/iptables_rules.bak。XMU-ruijie需要ping DNS来确认在线。如果你没有装基于iptables的防火墙,就不要用firewall这个USE。
使用很简单,首先在/etc/conf.d/xmuruijie.conf中设置好用户名,密码,网卡界面。如果是动态IP认证的话,用root在终端中运行 xmuruijie,看看能不能通过,可以的话就用Ctrl+C 杀掉xmuruijie,准备用后台模式运行,用/etc/init.d/ruijie start启动认证及DHCP客户端(dhcpcd,dhclient均可,dhcpcd优先);如果是静态IP认证则先将/etc/init.d/saier中的 nameserver 后的 210.34.0.18改成你的DNS,在/etc/resovle.conf中设置好DNS,然后按静态IP的方式设置好/etc/conf.d/net。比如eth0为认证的网卡,设置好ip,routes,DNS后,先/etc/init.d/net.eth0 start,用root在终端中运行 xmuruijie,看看能不能通过,可以的话也用Ctrl+C 杀掉xmuruijie,准备用后台模式运行。先把eth0停掉: /etc/init.d/net.eth0 stop,然后用/etc/init.d/saier start 启动网卡和认证。
更多的参见我的Blog:http://acevery.cnlog.org,欢迎留言;-)
打包好的Ebuild:
http://acevery.cnlog.org/upload/portage-xmuruijie.zip
源代码:
http://acevery.cnlog.org/upload/xmuruijie-1.2.tar.gz |
|