校园网的Linux用户大概都有这样的苦恼,现在大多数校园网都必须安装基于802.1X协议的认证软件才能够上网,也许windows操作系统的用户觉得安装这样的软件上网,那是一件很简单的事情,但是对于linux操作系统的用户时常会觉得很棘手,我也曾经有过同样的感觉,于是到处找了很多有关 802.1X协议的资料以及认证软件,整理成为这篇文章,并附上相关软件包,与大家共享一下研究的心得。 安装步骤: 1.将lib文件夹中的将所需库文件复制到/usr/lib/文件夹中; 2.将bin文件夹中的所有文件复制到/usr/bin/文件夹中; 3.可选:(如果不安装expect,只能在root下用myxrgsu -a命令进行认证) 网络设置: 1.静态认证方式:如果校园网采用的是静态IP认证的方式,那么请先在网络配置那里配置好你的静态IP、子网掩码和网关,然后使用 myxrgsu -a 命令通过认证。 2.动态认证方式:如果校园网采用的是动态IP认证的方式,那么请先在网络配置那里设置成自动获取IP地址的形式,然后使用 xrgsu 命令通过认证。 (这种方式我现在还没测试成功过,估计它的源程序有点问题。假如你们校园的校园网采用动态IP地址认证,可以按照以下方法解决) 方法: 1.在windows下运行锐捷的认证客户端,通过认证之后查看你当前被分配到的IP地址信息,把IP信息记录下来,由于校园网的DHCP服务的IP租借期一般都比较长,我们学校是n个月才换一次,所以我们可以在linux下使用静态IP配置,也照样能够通过认证。 2.进入linux,将网络配置成静态IP的形式,IP信息要跟先前我们在windows下看到的一致。 3.如果不安装expect,只能在root下用myxrgsu -a命令进行认证。 4.如果安装了expect,在命令提示行(普通用户或root都行)中输入netlogin就会自动连接上网了。 #如果你还嫌麻烦,那就在桌面上做个快捷方式,对象命令为:netlogin,以后双击就可以上网了。爽吧? #如果你是第一次使用这个脚本,请先到/usrl/bin/下用vi或gedit修改autoconnect和autoconnectasroot两个文件。 #按说明填上您的帐号资料等。记住要保存哦! #以后使用这个脚本就不用输入任何帐号密码了,不过这样做的安全性,呵呵,你知道的啦。 #如果你的802.1x协议感兴趣,想了解更多它的原理,可以参考我收集到的一篇写得不错的文章:http://andrewlee.blog.51cto.com/66132/135396 这是目前为止LINUX下使用锐捷认证上网的比较完美的解决方法了。以前那个版本的说明还有些不完善的地方,应广大网友的要求,最近抽空写了这个比较完善的说明,如果有写得不够清晰的地方,欢迎随时找我交流。 附自动脚本范例: netlogin: #!/bin/bash #by linuxjerry #这个脚本用于自动判断当前用户是root还是普通用户,从而调用autoconnectasroot或autoconnect来进行上网认证。 #还有自动重连功能,方便在网络不好的条件下使用。下面的1000是重试次数,你可以自行更改。 for ((i=1;i<=1000;i++)) do [[ $(id -u) -eq 0 ]]&&autoconnectasroot||autoconnect done 自动配置脚本(也放在/usr/bin文件夹中): autoconnectasroot: #! /usr/bin/expect # --by Linuxjerry 2004.10. #这个脚本是为root用户使用xrgsu而写的,目的是省去每次输入上网帐户的麻烦。 #root用户要上网只需在命令提示行中输入autoconnectasroot就会自动连接上网了。 #在非root下不能使用本命令,所以建议用netlogin命令,它会自动判断是否可以使用本命令而做出正确的选择。 #如果你还嫌麻烦,那就在桌面上做个快捷方式,对象命令为:netlogin,以后双击就可以上网了。爽吧? #如果您是第一次使用这个脚本,请先到/usr/local/bin/下用vi或kwrite修改autoconnectasroot文件, #按说明填上您的帐号资料等。记住要保存哦! #一般修改myNetUsername、myNetPassword 2处即可。 #以后使用这个脚本就不用输入任何帐号密码了,不过这样做的安全性,呵呵,你知道的啦。 send "如果您是第一次使用这个脚本,请先到/usr/local/bin/下修改autoconnect和autoconnectasroot文件,按说明填上您的帐号资料等。\r\n " set timeout 3 spawn myxrgsu -a expect "Please input your user name:" send "myNetUsername\r" #用你的上网帐号替换myNetUsername。 expect "Please input your password:" send "myNetPassword\r" #用你的上网密码myNetPassword expect "Use DHCP,1-Use,0-UnUse(Default: 0):" send "1\r" #如果你是用动态ip,就将0改为1,否则为0 expect "Use default auth parameter,0-Use 1-UnUse(Default: 0):" #是否使用默认参数,为了脚本简单这里只设计了为0的。 send "0\r" sleep .2 set timeout 10 expect "Please input 'unauth' to LogOff:" set timeout 360000 expect "xrgsu exit!" sleep .2 send_user "Reconnect please.\r\r" close #end 来源:http://andrewlee.blog.51cto.com/66132/135389 |
基于802.1x的锐捷linux客户端认证方法(最新)
精选 转载上一篇:“鸡肋” 校园网
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
802.1x 客户端获取ip过程 很详细
802.1x 客户端获取ip过程 很详细
wireless dot1x dhcp -
802.1x登录认证
目前遇到802.1x有关的问题,系统软件环境如下:Client端:Windows XP、Windows 7Server端:Windows 2003 SP2使用的验证方法是:PEAP、EAP-MSCHAP v2,整合AD验证用户名和密码;从其它电脑远程(RDP)登入该电脑,登入看到桌面几秒钟后就断网;(大概07年XP SP3就有遇到了,基本可以排除Client端的问题,因为有遇到过新安装的系统也会这样。或许因为只有IT单位才经常用RDP,所以反映此问题的人相对前一问题较少)关于这个问题,网上搜到一些说明(似乎是无解?想确认下):
802.1x认证 802.1x 认证客户端 802.1x认证系统 802.1x认证失败 802.1x认证协议