树莓派论坛

 找回密码
 立即注册

树莓派连接锐捷认证的校园网

xzj1995 发表于 2014-10-17 22:03:48 | 显示全部楼层 |阅读模式
本帖最后由 xzj1995 于 2014-10-17 22:05 编辑

本人是华科的学生,但是在看了中级教程中的 树莓派连接有线802.1x认证网络后,发现派不上用场,这让我很头疼,所以研究了几个小时后解决了这个问题~~~
作为mentohust发源地的学生,解决锐捷认证的主要方法当然是使用mentohust来登陆校园网
但是mentohust的官网上没有树莓派适用的软件版本,而且需要翻墙才能够下载,十分不方便,因此我带来校园网登陆的教程
(我也是折腾了一晚上额·····树莓派果然是趣(zhe)味(teng)性十足啊~~~)

1.安装mentohust,安装包和安装方法附在下面
游客,如果您要查看本帖隐藏内容请回复

2.安装完mentohust之后并没有结束哦
不过在终端直接输入mentohust后已经有字样了,说明mentohust安装成功,但是它显示缺少libnotify和libpcap这两个依赖,认证失败,所以接下来就要安装这两个依赖
游客,如果您要查看本帖隐藏内容请回复

这样就基本上是大功告成啦
3.登陆mentohust
如果你直接使用pi的账号输入mentohust你还是会发现无法运行,因为权限不够啦
所以最好使用root权限来运行。
1.可以随便打开一个文件夹,然后用root身份打开再用终端打开,然后输入mentohust就能启动认证服务啦
2.使用root账号登陆树莓派直接可以运行,运行后pi的账号也能使用有线网

4.配置mentohust
第一次使用mentohust需要进行基本配置,输入账号密码,有线网卡是eth0,其他的配置个人有所不同,而且在之后也可以随意更改,至此教程结束,附登陆成功图片
360截图-17223531.jpg
输入ifconfig后查看eth0对应的各项数据已不再是0,登陆成功了
360截图-17292046.jpg
在成功登陆一次之后,各项数据会自动保存,下次只需要在终端输入mentohust即可认证
楼下附登陆时各项参数及解释。
xzj1995  楼主| 发表于 2014-10-19 16:48:06 | 显示全部楼层
Errors(可能出现的错误):
1> 认证失败!
     $$ 系统提示: 不允许使用的客户端类型!
     !! 打开libnotify失败,请检查是否已安装该库文件。
Solution:提供windows下的相应文件
step 1 > 不管libnotify的事情,它不影响认证过程,只跟显示信息有关
step 2 > 在mentohust的目录下( File System/etc/ )新建一个文件夹 ‘mentohust’
          这步可以Terminal --> sudo mkdir /etc/mentohust
step 3 > 把window下锐捷目录中的8021x.exe和W32N55.dll和SuConfig.dat复制到刚刚新建的mentohust文件夹中
step 4 > Terminal --> sudo mentohust 测试能否认证成功并且连上网,如果能认证成功但是没法连上网,请看下面

2> 认证成功,无法获取IP以及子网掩码,无法上网
Solution:在windows下用mentohusttool抓包,如何抓包请看下面详解
step 1 > 下载mentohusttool工具,我上传在CSDN上面,0资源分,里面附有抓包说明。
              下载地址:http://download.csdn.net/detail/tmjfzy/4020001
step 2 > 把保存好的包(命名为 data.mpf )复制到linux下上面说的新建好的mentohust的目录下面
step 3 > Terminal --> sudo mentohust 测试能否认证成功并且连上网

Tips(小提示)
如果无法复制到mentohust目录下,说没有权限什么的,需要用sudo命令,比如你可以把8021x.exe或者SuConfig.dat或者W32N55.dll或者data.mpf先复制到home目录下面,然后举个例子:
                            sudo cp /home/...(这里是你的用户名)/8021x.exe /etc/mentohust/8021x.exe
常用命令:
新建文件夹 mkdir : sudo mkdir /etc/mentohust
删除文件夹 rmdir : sudo rmdir /etc/mentohust
删除文件 rm : sudo rm /etc/mentohust/data.mpf
递归删除,加 -r : sudo rm -r /etc/mentohust
强行删除,加 -f : sudo rm -f /etc/mentohust/data.mpf

来源 http://ggicci.blog.163.com/blog/static/210364096201201391529988/
xzj1995  楼主| 发表于 2014-10-17 22:08:40 | 显示全部楼层
引子
MentoHUST参数丰富,以最大程度适应不同学校的不同锐捷认证环境。本程序使用配置文件(/etc/mentohust.conf)保存参数,虽然该配置文件是还算标准的ini格式文件,并不复杂,但还是有人因多加空格或;导致配置出现问题,所以不建议手工修改配置文件来设置参数。

获取帮助信息
打开终端,输入以下命令

sudo mentohust -h
将显示如下内容:

欢迎使用MentoHUST        版本: 0.3.4
Copyright (C) 2009-2010 HustMoon Studio
人到华中大,有甜亦有辣。明德厚学地,求是创新家。
Bug report to http://code.google.com/p/mentohust/issues/list

用法:    mentohust [-选项][参数]
选项:    -h 显示本帮助信息
        -k -k(退出程序) 其他(重启程序)
        -w 保存参数到配置文件
        -u 用户名
        -p 密码
        -n 网卡名
        -i IP[默认本机IP]
        -m 子网掩码[默认本机掩码]
        -g 网关[默认0.0.0.0]
        -s DNS[默认0.0.0.0]
        -o Ping主机[默认0.0.0.0,表示关闭该功能]
        -t 认证超时(秒)[默认8]
        -e 心跳间隔(秒)[默认30]
        -r 失败等待(秒)[默认15]
        -l 允许失败次数[0表示无限制,默认8]
        -a 组播地址: 0(标准) 1(锐捷) 2(赛尔) [默认0]
        -d DHCP方式: 0(不使用) 1(二次认证) 2(认证后) 3(认证前) [默认0]
        -b 是否后台运行: 0(否) 1(是,关闭输出) 2(是,保留输出) 3(是,输出到文件) [默认0]
        -y 是否显示通知: 0(否) 1~20(是) [默认5]
        -v 客户端版本号[默认0.00表示兼容xrgsu]
        -f 自定义数据文件[默认不使用]
        -c DHCP脚本[默认dhclient]
        -q 显示SuConfig.dat的内容(如-q/path/SuConfig.dat)
例如:     mentohust -uusername -ppassword -neth0 -i192.168.0.1 -m255.255.255.0 -g0.0.0.0
-s0.0.0.0 -o0.0.0.0 -t8 -e30 -r15 -a0 -d1 -b0 -v4.10 -fdefault.mpf -cdhclient
注意:使用时请确保是以root权限运行!

>> 认证已退出。
各参数详细解释
-h 或 -?:
显示帮助信息,也就是上面的内容。

-k:
MentoHUST支持daemon运行(也就是认证成功后可以关闭终端而认证不会中断),当进入daemon运行方式后,是不能像没有进入这一模式时一样通过Ctrl+C退出的,这时如果需要退出就可以使用以下命令来退出认证。

sudo mentohust -k
或者

pkill mentohust
-w:
在命令行参数中指定的参数默认不会保存到配置文件,如果需要保存,请加上该参数,例如下面这个命令将会把用户名更新为hust,密码更新为123456。

sudo mentohust -uhust -p123456 -w
-u,-p,-n:
分别指定用户名、密码、网卡,这三个参数如果不指定就会自动判断是否需要输入。

-i,-m,-g,-s:
用于静态IP用户指定学校分配的IP、子网掩码、网关、DNS,其中好像只有IP会影响认证是否成功(要想正常上网,还必须要在NetworkManager中设置IP、子网掩码、网关、DNS,在NetworkManager中设置好后在mentohust中可以不设置这些)。 对于动态IP用户,这些参数无效。

-o:
指定智能重连时用来ping的目标IP,例如未认证时IP1.2.3.4无法ping通,认证成功后可以ping通,就可以加上参数-o1.2.3.4,当掉线且未收到服务器下线通知时会在掉线1分钟之内重连(除非网络不好,一般不会掉线,掉线且收到服务器下线通知时会在掉线后立即重连)。

-t:
指定认证时多少秒后仍未收到服务器回应则重启认证,一般保持默认即可。

-e:
指定认证成功后每隔多少秒向服务器发送一次数据以表明自己仍然在线,一般保持默认即可。

-r:
由于有些学校会规定认证失败后一定时间内不允许再次认证,所以在这期间不论发多少数据服务器都不会响应,为了减少这种垃圾数据,MentoHUST会在认证失败后等待一段时间或者服务器向客户端请求数据时再认证,这个时间就由此参数指定,一般保持默认即可。 -r15并不是说在认证失败后15秒才会再次认证,如果在15秒内服务器发来一个数据包要求开始认证,MentoHUST会放弃等待,立即开始再次认证。

-a:
指定组播地址或客户端类型,-a0标准 -a1锐捷私有,这两个分别对应于锐捷中的标准和私有,有些学校只能用标准,有些学校只能用私有,所以如果提示“找不到服务器”而网卡并没有选错,就检查是不是这里设置错了。-a2表示将MentoHUST用于赛尔认证(赛尔的用-a0标准也行)。

-d:
指定DHCP方式,使用动态IP的同学应该在这里正确设置,一般不是1就是2,如果用3认证成功却无法上网,请改成1试试。使用静态IP的同学应该将这里设为0。

-b:
指定后台(daemon)运行方式,-b0不后台运行,这时认证成功后不能关闭终端;-b1、-b2后台运行,前者看不到输出,后者保留输出;-b3后台运行并将输出保存到/tmp/mentohust.log,可以随时打开该文件查看输出。

-y:
指定是否显示通知(notify),-y0不显示,1~20显示,其中数字指定通知持续时间(由于Ubuntu采用了新的通知机制,所以只在Fedora下时间才有效)。当该参数不为0且系统中有libnotify.so.1(几乎所有系统都有该文件),可显示如下效果的通知(上Ubuntu,下Fedora)



-f:
由于MentoHUST内置数据是与xrgsu兼容的(即如果用xrgsu能认证成功,用MentoHUST不设置这个参数就也能认证成功),有些学校关闭了xrgsu的认证(一般提示“不允许使用的客户端类型”),这时可以将8021x.exe和W32N55.dll复制到/etc/mentohust目录,如果认证失败,再将SuConfig.dat复制到/etc/mentohust目录一般即可认证成功。 如果还失败就需要抓包并指定该参数。到最新下载列表下载MentoHUST抓包工具,然后运行其中的MentoHUSTTool,视情况勾选是否“集成8021x.exe”和“集成W32N55.dll”(建议勾选),点击“开始”,运行“锐捷”,捕获锐捷认证时的数据包,等待抓包结束保存文件。 然后在Linux下将数据文件路径指定在这个参数中,如果没有勾选“集成8021x.exe”和“集成W32N55.dll”,则还要将8021x.exe与W32N55.dll复制到数据文件所在目录,接下来就可以开始认证了。认证失败的话,再将SuConfig.dat也复制到该目录即可认证成功。

-c:
指定动态IP用户DHCP时运行的脚本,一般保持默认即可。如果觉得这个输出太多影响和谐,可以改为-cdhclient>/dev/null。 MacOS用户可尝试使用dhcping代替dhclient来获取IP,一般下载并复制dhcping到/usr/bin目录即可。

-q:
很多锐捷用户不清楚他们的DHCP方式是什么,本参数用于显示解密后的锐捷SuConfig.dat文件内容。假如锐捷所在目录为/RuijiePath

mentohust -q'/RuijiePath/SuConfig.dat'
配置及认证例子
例子一
某静态IP(192.168.1.10)用户,用户名hust,密码123456,希望ping192.168.1.254智能重连,同时deamon方式保存输出到文件。
首先在NetworkManager中配置好IP、网关、掩码、DNS等信息,然后运行:

sudo mentohust -uhust -p123456 -o192.168.1.254 -b3 -w
下次认证时只需运行这个命令:

sudo mentohust
若想退出认证,则运行这个命令:

sudo mentohust -k
例子二
某动态IP用户(二次认证),用户名hust,密码123456,使用数据文件/etc/mentohust/3_73.mpf
首先运行:

sudo mentohust -uhust -p123456 -d1 -f/etc/mentohust/3_73.mpf -w
下次认证时只需

sudo mentohust
若想退出认证,则运行这个命令:

sudo mentohust -k
例子三
某用户已经设置好了相关参数,但需要临时使用用户名为hust@hust,密码与原密码相同的账号认证
这时运行如下命令:

sudo mentohust -uhust@hust
树老大 发表于 2014-10-18 11:02:44 | 显示全部楼层
必须赞一下。加精。
chonps 发表于 2014-10-18 14:04:30 | 显示全部楼层
楼主  我也是华科的!!!我在韵苑这边
chonps 发表于 2014-10-18 14:52:35 | 显示全部楼层
请把文件压缩包发给我的邮箱  谢谢楼主啦   zhoumisszhou@gmail.com
xzj1995  楼主| 发表于 2014-10-18 15:47:44 | 显示全部楼层
chonps 发表于 2014-10-18 14:52
请把文件压缩包发给我的邮箱  谢谢楼主啦

等等哈。等我回去。我也是韵苑的''''正在体验新图书馆~~~~
xzj1995  楼主| 发表于 2014-10-18 15:49:53 | 显示全部楼层
树老大 发表于 2014-10-18 11:02
必须赞一下。加精。

谢谢老大~~
chonps 发表于 2014-10-18 17:23:01 | 显示全部楼层
好滴  我要参加晚上的夜跑
h1515502400 发表于 2014-10-18 19:24:02 | 显示全部楼层
6666
h1515502400 发表于 2014-10-18 19:24:18 | 显示全部楼层
6666
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版 | Archiver | 树莓派论坛 ( 粤ICP备15075382号-1 )