心想事成 发表于 2005-9-25 21:34:32

转:在锐捷802.1x网络中使用xsupplicant的补丁进行认证源代码和教程

原贴:
http://www.linuxsir.org/bbs/showthread.php?t=219727
作者:gnap


锐捷的网络使用私有的协议,而且客户端有诸多限制。在前人的很多工作的基础上,我通过修改xsupplicant的代码来实现锐捷网络的稳定认证。基本不会掉线(和锐捷在Windows下的客户端的掉线频率差不多)。而且支持的平台是受xsupplicant的发行版本决定的。目前在我的两台FC4和FreeBSD下工作正常。现在希望外校的朋友们协助测试。这里发行xsupplicant的patch.
配置方法和xsupplicant完全一样。
首先下载官方的源程序http://www.open1x.org/ 和补丁(附件)
$ls
xsupplicant-1.2.1.tar.gz xsupplicant-1.2.1-rj.patch.tar.bz2
$tar xf xsupplicant-1.2.1.tar.gz
$tar jxf xsupplicant-1.2.1-rj.patch.tar.bz2
$patch -p2 < xsupplicant-1.2.1-rj.patch
$cd xsupplicant-1.2.1
$./configure
$make
$su
#make install
然后将xsupplicant-1.2.1/etc中的xsupplicant.conf拷贝到/etc下,然后用vi编辑:
identity = 你的用户名 这里提倡是你的用户名。因为锐捷的包里将用户名作为identity发送。
接下来eap-md5部分中的username password就是你的用户名 密码。然后开始运行认证了:
#/sbin/xsupplicant -i eth0
#dhclient eth0(可能之前要killall dhclient)
这里的eth0是你的用来上网的网卡。

编译的问题:在很多老系统中有编译的问题。应该属于发布的问题了!建议升级一下autoconf之类的配置工具。

下载文件的问题:官方的文件下载连接有问题,从页面直接连接回连到pre2的发行版本。点击上面的all files released by this project。回得到所有的发行列表。一定要选择1.2.1的版本下载。

patch的问题:请大家patch的时候加上-p2参数。我在FreeBSD下不用这个参数。今天发现在FC4下patch会找不到路径。不知道加了这个参数之后在FreeBSD下会不会成功。我装FreeBSD电脑的硬盘坏了!~还好备份了patch. 很惊险啊!

自动获取IP的问题:回帖中提到了first_auth_command的问题。我看了一下代码,1.2.1 和我最初修改的一个CVS的版本中都没有这个功能。而1.0.1的release版本的代码中包含了这个功能。所以这个版本编译出的xsupplciant没有实现自动获取地址。大概是开源社区不喜欢太集成的东东吧!而且这样也方便写配置脚本。其实锐捷的windows客户端也是调用ipconfig获取地址的,留意的话可以在任务管理器中发现他的进程。

掉线的问题:还是有掉线的问题的。不过最近我们学校的网络连Windows都总是掉线。如果只是零
星的掉线的话建议还是手动重连比较好,重连前先killall xsupplicant.

报错:如果出现错误不能认证的话,请kill掉xsupplicant的进程重新使用xsupplciant -i eth0 -d A参数运行认证程序。并且把/var/log/xsupplicant.log贴到这里来。或者发邮件给我gnap.an AT gmail.com.如果会使用Windump的话,请帮忙在自己网络中用Window的机器截一些认证的数据来一起发给我。

心想事成 发表于 2005-9-25 21:36:20

http://www.53ucity.com/bbs/UploadFile/2005-4/20054222232856639.jpg
http://www.53ucity.com/bbs/UploadFile/2005-4/20054222240576072.jpg
http://www.53ucity.com/bbs/UploadFile/2005-4/200542222324188227.jpg
http://www.53ucity.com/bbs/UploadFile/2005-4/200542222325343766.jpg
页: [1]
查看完整版本: 转:在锐捷802.1x网络中使用xsupplicant的补丁进行认证源代码和教程