找回密码
 注册
查看: 1418|回复: 6

xsupplicant的锐捷补丁-patch和使用方法,原创

[复制链接]
发表于 2005-12-11 01:24:54 | 显示全部楼层 |阅读模式
在锐捷802.1x网络中使用xsupplicant的补丁进行认证的源代码和教程 [原创]

锐捷的网络使用私有的协议,而且客户端有诸多限制。在前人的很多工作的基础上,我通过修改xsupplicant的代码来实现锐捷网络的稳定认证。基本不会掉线(和锐捷在Windows下的客户端的掉线频率差不多)。而且支持的平台是受xsupplicant的发行版本决定的。目前在我的两台FC4和 FreeBSD下工作正常。现在希望外校的朋友们协助测试。这里发行xsupplicant的patch.
配置方法和xsupplicant完全一样。
首先下载官方的源程序http://www.open1x.org/ 和http://blog.linuxeden.com/get/106223....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就是你的用户名 密码。然后开始运行认证了:
代码:

#/usr/local/sbin/xsupplicant -i eth0
#dhclient eth0(可能之前要killall dhclient)

这里的eth0是你的用来上网的网卡。

执行路径的问题:向各位道歉!原来文中给出的/sbin/xsupplicant应该改为/usr/local/sbin/xsupplicant 才对。主要是我去掉了Fedora系统脚本中按照权限分别patchmunge的语句。所以我在虚拟终端su后是可以直接执行/sbin/ /usr/local/sbin下的程序的。由于写文章时候考虑到大家的系统su后可能两个路径都不在PATH中,但是却给写错了。实在不好意思!

编译的问题:在很多老系统中有编译的问题。应该属于发布的问题了!建议升级一下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的机器截一些认证的数据来一起发给我。

本文我已经帖到了linuxeden的blog中,鉴于在这里回帖不多而且很多容易被新帖冲掉。以后最新的改动和恢复都将放到我的blog中。我为我的blog申请了一个短一点的域名,这样便于大家访问:
我的BLOG:http://gnap.haokoo.net/
如果不能访问,试试原始的地址:http://blog.linuxeden.com/post/106223/3094

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2005-12-11 01:31:19 | 显示全部楼层
事实上,帖子我是先在别的论坛发的。因为会议得知这个论坛后觉得这里的气氛我十分喜欢。所以就转载到这里来了。至于发到这里没有帖到应用的地方是希望有人能够协助开发和测试。希望感兴趣的朋友能够帮忙!
回复

使用道具 举报

发表于 2005-12-11 01:51:34 | 显示全部楼层
支持下,不过我们学校有自己的认证系统。帮不了你-_-
回复

使用道具 举报

发表于 2005-12-11 04:17:13 | 显示全部楼层
我校也是用锐捷认证,但我的机却不用认证就可上网,Windows/Linux都一样,原因不明……
回复

使用道具 举报

发表于 2005-12-13 09:29:53 | 显示全部楼层
问一下,用户名里有字母可以通过吗?我这使用的是xrgsu,不能通过。谢谢。
回复

使用道具 举报

发表于 2005-12-13 09:50:24 | 显示全部楼层
锐捷在Windows下的客户端的掉线频率?有多大频率呀?

不用认证就可上网……你赚大了,别去开户,哈哈!
回复

使用道具 举报

 楼主| 发表于 2005-12-13 15:03:40 | 显示全部楼层
在我们学校里十几分钟到几小时都可能掉。比较讽刺的是这是在学校升级了新的交换机软件版本之后,原先都是几小时的。
xrgsu是锐捷自己的软件,他好像也是限制代理和多网卡的。我没有用过。不过我对那种交互式的程序很反感,害的网上的朋友还要用expect为他写脚本。而且是binary的,别的平台就没法用了。
想不通为什么锐捷有那么多的客户!私自改动802.1x协议,而且做得很不好!他的协议的唯一好处就是可以减轻交换机上软件的实现负担,省去功夫很多的代码。估计他们交换机上的程序比客户端还小,肯定连状态机都没有写!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-7 14:08 , Processed in 0.027194 second(s), 16 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表