|
发表于 2006-3-9 14:45:35
|
显示全部楼层
由于现在不少大学学生宿舍上网采用的是锐捷802.1x认证,所以如何在Linux下认证上网也就 成了一个很多人遇到的问题。
IEEE 802.1x 称为基于端口的访问控制协议(Port based network access control protocol)。
1,安装篇
介绍如何在linux安装上校园网的必要软件。
RH下:
下载xrgsupplicant.zip,解压之。对于RH用户之需要libpcap-0.7.2
7.9.1.1.i686.rpm和xrgsu。xrgsu就是校园网需要的认证软件,目前只有这个可以顺利通过校园网的认证是jierui出的-0-。
安装libpcap:
#rpm -ivh libpcap-0.7.2-7.9.1.1.i686.rpm
########################################[100%]
Debian下:
Debian下稍微麻烦点,因为这个rpm不能直接用在Debian上,而标准打包的libpcap deb包缺少libpcap.so.0.6.2这个软件会导致认证软件出错的,如果你的认证软件出现
findalldevs错误,那就是缺少这个so,需要手工复制到lib库里面。这个so是我从rpm提取出来的,可以在debian下正常工作。
安装开始:
$dpkg -i libpcap0.8_0.8.3-4_i386.deb
然后复制libpcap.so.0.6.2到/lib目录下
2,使用篇
好了!到此前面的安装过程你都完成了,那么可以开始认证了,就像xp拨号一样。
cd ./xrgsupplicant
chmod 777 xrgsu //加上执行的权限
./xrgsu //执行认证软件
XRGSupplicant 1.0.1
RuiJie Network CopyRight 2004
Please input your user name:***********
Please input your password:
Use DHCP,1-Use,0-UnUse(Default: 0):
Use default auth parameter,0-Use 1-UnUse(Default: 0):1
Please input Eap-start Timeout(Default: 30s):
please input Eap-response Timeout(Default: 30s):
please input Eap-packet resend Time(Default: 3):
Use Red-Giant private MAC? 1-Use,0-UnUse(Default: 1):
Searching server...
Connecting server...
Authenticating...
欢迎进入 客户端版本较低, 建议升级!
Authenticate SUCCESSFULLY!
Please input 'unauth' to LogOff:
到此就可以在上校园网了.
3,有用的教本
xrgsu同样没有u、p参数,我的解决办法是自己用expect编一个shell解决。shell的运行需要expect-5.38.0-88.i386.rpm\expect-devel-5.38.0-88.i386.rpm
由于xrgsu只能在root下运行,因此在普通用户下和root下有所不同:
xrgsu需要复制ro连接到/usr/local/bin or /usr/bin
root用户请将下面蓝色部分复制命名为connect-root.sh(其他文件名也可以),保存到路径/usr/local/bin,并将红色部分替换为你的id和pw。再做个联接到桌面上,双击就可以上网了(不要关这个会话),再不用每天输入帐号密码了。
***********************************************************************
!这里yourname和yourpassword代表你的lan用户名和密码,yourrootpassword代表
root的密码。
***********************************************************************
#! /usr/bin/expect
#supplicant
spawn xrgsu -a
expect "Please input your user name:"
send "yourname\r"
expect "Please input your password:"
send "yourpassword\r"
expect "Use DHCP,1-Use,0-UnUse(Default: 0):"
send "\r"
expect "Use default auth parameter,0-Use 1-UnUse(Default: 0):"
send "\r"
expect "LogOff:"
sleep 360000
#end
非root用户将下面部分复制命名为connect-user.sh(其他文件名也可以),保存到路径/usr/local/bin,并替换你的id和pw。
#! /usr/bin/expect
spawn su -c xrgsu
expect "Password:*"
send "yourrootpassword\r"
#supplicant
expect "Please input your user name:"
send "yourname\r"
expect "Please input your password:"
send "yourpassword\r"
expect "Use DHCP,1-Use,0-UnUse(Default: 0):"
send "\r"
expect "Use default auth parameter,0-Use 1-UnUse(Default: 0):"
send "\r"
expect "LogOff:"
sleep 360000
#end
注意,以明文的形式将密码保存在硬盘上是非常危险的,尤其是root密码。所以强烈不赞成第二个文件。普通用户最好是做好第一个文件,然后在会话中输入su,登陆,在运行connect-root.sh。
4,有用的资料
如果你想多了解一下start认证的东西,或者想自己编译libpcap的话可以参考下面的资料:
http://www.linuxsir.org/bbs/showthread.php?s=&threadid=128897&perpage=15&highlight=findalldevs&pagenumber=1 |
|