神州数码802.1x、DCBA协议认证方案:修订间差异
取消由222.190.117.219 (对话)所作出的修订 113127 |
修改图像链接等错误 |
||
第1行: | 第1行: | ||
本文作者:PT<br> | |||
授权许可:[http://www.creativecommons.cn/licenses/by-nc-sa/1.0/ 创作共享协议] <br> | |||
测试平台:Ubuntu 8.04、8.10<br> | |||
<br> | |||
= '''前言''' = | |||
神舟数码的认证主要有两种,一是私有化的802.1x协议,基于链路层的认证;另一是DCBA,基于应用层的认证协议。常见采用其中一种或者两种联合使用。<br> | |||
其中802.1x的认证官方没有提供Win平台以外的软件,但庆幸的是已经有人将其协议破解并写出了基于Java的认证软件(802.1x client for DigitalChina 软件作者:姚琦),至于DCBA的认证,官方提供了一个Linux的Console程序,虽不完美,但至少可用。<br> | |||
本文将以Step by Step的方式介绍两种协议的认证方法和具体的步骤,在其他Linux发行版下应该也通用。 | |||
<br> | |||
= '''神州数码802.1x私有协议认证''' = | |||
<br> | |||
== 准备工作<br> == | |||
<blockquote>认证软件运行需要sun-java6-jre软件包,同时需要一个第三方java库:jpcap。</blockquote><blockquote>(由于jpcap库无法支持amd64的系统,因此64位系统下的认证尚未能解决。)</blockquote> | <blockquote>认证软件运行需要sun-java6-jre软件包,同时需要一个第三方java库:jpcap。</blockquote><blockquote>(由于jpcap库无法支持amd64的系统,因此64位系统下的认证尚未能解决。)</blockquote> | ||
=== 下载文件 === | |||
<blockquote> | <blockquote>'''考虑未认证的Ubuntu无法使用网络,需要在其他平台下载以下的文件再到Ubuntu中安装: '''<pre>http://mirror.lupaworld.com/ubuntu/pool/main/libt/libtool/libltdl3_1.5.26-1ubuntu1_i386.deb | ||
http://mirror.lupaworld.com/ubuntu/pool/main/j/java-common/java-common_0.28ubuntu3_all.deb | http://mirror.lupaworld.com/ubuntu/pool/main/j/java-common/java-common_0.28ubuntu3_all.deb | ||
http://mirror.lupaworld.com/ubuntu/pool/main/u/unixodbc/odbcinst1debian1_2.2.11-16build1_i386.deb | http://mirror.lupaworld.com/ubuntu/pool/main/u/unixodbc/odbcinst1debian1_2.2.11-16build1_i386.deb | ||
第23行: | 第31行: | ||
http://mirror.lupaworld.com/ubuntu/pool/multiverse/s/sun-java6/sun-java6-jre_6-07-3ubuntu2_all.deb | http://mirror.lupaworld.com/ubuntu/pool/multiverse/s/sun-java6/sun-java6-jre_6-07-3ubuntu2_all.deb | ||
http://netresearch.ics.uci.edu/kfujii/jpcap/jpcap-0.7.deb | http://netresearch.ics.uci.edu/kfujii/jpcap/jpcap-0.7.deb | ||
</pre><br | </pre><br></blockquote> | ||
=== 安装软件运行环境 === | |||
<blockquote>Linux小知识提示:<br | <blockquote>Linux小知识提示:<br>文件名很长很长很长……但不需要人手敲进去,当打了前几个字母后敲Tab,没反应多敲几下……还没反应?你确定?那么你打错字母了。Linux中的长命令长参数长文件名都这么解决的,再高手也不可能、也不会笨到去记住这么长的命令。</blockquote><blockquote>1.安装odbc、java-common (若想双击安装,必须按下面各个文件出现的次序安装,否则会提示依赖问题)<br> <pre>$sudo dpkg -i \ | ||
libltdl3_1.5.26-1ubuntu1_i386.deb \ | libltdl3_1.5.26-1ubuntu1_i386.deb \ | ||
odbcinst1debian1_2.2.11-16build1_i386.deb \ | odbcinst1debian1_2.2.11-16build1_i386.deb \ | ||
第31行: | 第39行: | ||
java-common_0.30_all.deb | java-common_0.30_all.deb | ||
</pre> | </pre> | ||
2.安装jre(这里不能双击deb文件进行安装。安装过程中出现用户协议,按Tab移动光标确认。) | |||
<pre>$sudo dpkg -i sun-java6-bin_6-07-3ubuntu2_i386.deb sun-java6-jre_6-07-3ubuntu2_all.deb</pre> | <pre>$sudo dpkg -i sun-java6-bin_6-07-3ubuntu2_i386.deb sun-java6-jre_6-07-3ubuntu2_all.deb</pre> | ||
3.安装jpcap-0.7(参数忽略了不必要的Jdk依赖) | |||
<pre>$sudo dpkg --ignore-depends\=sun-java6-jdk -i jpcap-0.7.deb</pre></blockquote> | |||
<pre>$sudo dpkg --ignore-depends\=sun-java6-jdk -i jpcap-0.7.deb</pre></blockquote> | == <br> 安装、配置认证软件<br> == | ||
<blockquote>[http://wiki.ubuntu.org.cn/images/9/97/802.1x_client_for_DigitalChina_0.6.1.tar.gz 802.1x_client_for_DigitalChina_0.6.1.tar.gz] (文件大小: 80 KB, MIME 类型: application/x-gzip) </blockquote> <blockquote>这里提供的是简化版本,可到作者网站下载最新版:<a href="http://www.yaoqi.name/">[http://www.yaoqi.name http://www.yaoqi.name/]</a> (先匿名登录,然后进入“软件开发”)。<br> 解压文件到任意目录,并从终端进入。 </blockquote> <blockquote>1.给文件赋予可执行属性 <pre>$chmod +x 8021x_linux | |||
<blockquote> | |||
</pre> | </pre> | ||
2.把软件安装到系统程序目录 | |||
<pre>$sudo cp 8021x_linux /usr/local/bin | <pre>$sudo cp 8021x_linux /usr/local/bin | ||
</pre> | </pre> | ||
3.尝试运行认证软件(软件需要root权限直接控制网卡,故需要sudo,否则程序找不到网卡设备) | |||
<pre>$sudo 8021x_linux +javahome /usr/lib/jvm/java-6-sun/jre | <pre>$sudo 8021x_linux +javahome /usr/lib/jvm/java-6-sun/jre | ||
</pre> | </pre> | ||
4.在桌面建立启动器: (右击桌面-创建启动器,类型选择“应用程序”、名称填写DigiChina、命令中填入) | |||
<pre>gksu 8021x_linux +javahome /usr/lib/jvm/java-6-sun/jre</pre> | <pre>gksu 8021x_linux +javahome /usr/lib/jvm/java-6-sun/jre</pre> | ||
第一次运行程序,注意Program菜单里面有个“中文界面”,点击了软件就变成中文了。按照提示在配置信息里面把东西填好,然后 保存配置信息,回到主界面,连接即可。<br> [[Image:Sup2.png|thumb|right]] | |||
可以参照右图:(勾上自动连接的时候,密码框内容不能修改,请注意) <br> | |||
< | |||
<br> 有些认证方案中,是认证后才通过DHCP分配的IP,勾上“自动分配IP”即可。如果在认证之前本机就已经获取IP的,需要填上本机的ip、dns、网关等。 | |||
<br> | |||
Ubuntu中,可右键右上角的网络连接查看本机IP、DNS之类的信息。[[Image:Sup.jpg|thumb|right]]<br> | |||
<br> | |||
<br> | |||
<br> | |||
作者的网站: | 连接成功的界面(右图): | ||
<br> | |||
在802.1x和DCBA双重认证的系统中,如果认证了802.1x后30秒内没有进行DCBA认证,则程序会提示掉线,此时需要退出程序,重新运行、连接。<br> | |||
<blockquote>DCBA的认证是基于应用层的,使用相对简单一些: | <br> | ||
==== 最新版本的认证软件<br> ==== | |||
最新版本0.7.5中程序添加了一些功能,尤其有“'''自定义认证版本'''”的选项,可能对某些因升级不能使用linux客户端认证的环境有效。 | |||
'''但是在使用中,新版的稳定性不若0.6.1版本,且内存占用很大(50M+)。若旧版能够正常认证,不推荐升级。''' | |||
作者的网站:[http://www.yaoqi.name/ http://www.yaoqi.name/] (先匿名登录,然后进入“软件开发”)。 <br>[[Image:Screenshot-神州数码802.1x协议认证辅助客户端 V0.7.5.png|center]][[Image:Screenshot-神州数码802.1x协议认证辅助客户端 V0.7.5高级设置.png|center]]<br></blockquote> | |||
= '''<br>神州数码DCBA认证''' = | |||
<blockquote>DCBA的认证是基于应用层的,使用相对简单一些: <a href="http://wiki.ubuntu.org.cn/images/3/37/LinuxClient.tar.gz">LinuxClient.tar.gz</a> (文件大小: 15 KB, MIME 类型: application/x-gzip) <br></blockquote><blockquote>下载附件到主文件夹,解压后有一个linuxClient文件夹。 运行终端进入linuxClient: <pre>./upnet -h host -u username -p password</pre> | |||
(-h是认证主机的IP,-u是用户名,-p是密码,如果不清楚网络的认证主机,可以查看Win版本的客户端中的ini文件的信息) | |||
之后程序会提示选择服务,按1,回车即可。屏幕提示如下: | |||
<pre>$ ./upnet -h 192.168.28.5 -u user -p password(运行命令) | <pre>$ ./upnet -h 192.168.28.5 -u user -p password(运行命令) | ||
第86行: | 第98行: | ||
</pre></blockquote> | </pre></blockquote> | ||
=== 使用shell脚本保存账号密码的简便方法<br> === | |||
<blockquote>!!!注意!!! | <blockquote>!!!注意!!! '''在使用脚本登录前先在终端手动认证,成功后再配置脚本,可减少出错的可能。''' </blockquote><blockquote>1.安装程序到系统本地程序目录 <pre>$sudo cp upnet /usr/local/bin</pre> 2.运行一次认证<pre>$upnet -h 192.168.28.5 -u user -p password</pre> | ||
'''若能成功上网,继续,否则请<u>耐心调试</u>:'''<br> | |||
3.创建认证脚本 | |||
<pre>$sudo gedit /usr/local/bin/authupnet</pre> | <pre>$sudo gedit /usr/local/bin/authupnet</pre> | ||
输入如下内容(脚本中不要用-f、-h的参数)<br> | |||
<blockquote><pre>#!/bin/sh | <blockquote><pre>#!/bin/sh | ||
upnet -u username -p password | upnet -u username -p password | ||
</pre> </blockquote> | </pre> </blockquote> | ||
2.保存后给该文件赋予可执行权限 | |||
<pre>$sudo chmod +x /usr/local/bin/authupnet</pre> | <pre>$sudo chmod +x /usr/local/bin/authupnet</pre> | ||
3.运行:<br>在终端里面直接执行authupnet,就可以上网了!或者为authupnet建立一个桌面启动器,双击即可。<br> | |||
<pre>$authupnet</pre></blockquote> | <pre>$authupnet</pre></blockquote> | ||
=== 注意事项 === | |||
<blockquote>1. 强烈建议第一次运行DCBA认证时不要使用脚本,至少在终端中命令方式运行一次upnet成功上网后,再考虑配置脚本(第一次成功认证后程序会将一些参数记录,以后认证时作为默认参数)。 </blockquote><blockquote>2. 常见程序给出This procedure has Exsit!的错误提示,但是又不能上网,是因为之前错误运行了upnet,而进程又没有正常退出的缘故。使用killall upnet命令终止程序,重新执行upnet。若情况依旧,试试执行downnet或者重启系统(重启x upnet不会终止)。 <br | <blockquote>1. 强烈建议第一次运行DCBA认证时不要使用脚本,至少在终端中命令方式运行一次upnet成功上网后,再考虑配置脚本(第一次成功认证后程序会将一些参数记录,以后认证时作为默认参数)。 </blockquote><blockquote>2. 常见程序给出This procedure has Exsit!的错误提示,但是又不能上网,是因为之前错误运行了upnet,而进程又没有正常退出的缘故。使用killall upnet命令终止程序,重新执行upnet。若情况依旧,试试执行downnet或者重启系统(重启x upnet不会终止)。 <br><br>3.在自动登录脚本里面不要使用-h和-f参数,否则会出现服务选择菜单而无法自动应答。</blockquote> | ||
<br> | |||
= '''具体环境的认证过程细节''' = | |||
=== 广州大学 大学城校区<br> === | |||
大学城校区使用的正是本套神州数码认证,但是具体到不同的宿舍,又有不同的认证流程。(原Win下的认证都分成3个版本) | |||
其中B15宿舍楼使用的是802.1x和DCBA联合认证方法,故联网必须先按本文的方法先后验证。而其他宿舍楼宇,则只需使用DCBA协议验证。 <br> | |||
<pre>B1 ~B21楼使用的DCBA服务器 192.168.28.5 | <pre>B1 ~B21楼使用的DCBA服务器 192.168.28.5 | ||
B22~B25楼使用的DCBA服务器 192.168.28.4</pre> | B22~B25楼使用的DCBA服务器 192.168.28.4</pre> | ||
<br> | |||
=== 武汉大学<br> === | |||
由于武汉大学的验证协议升级,即使Win平台下以前版本的验证客户端都不能用了(会显示“版本过低,禁止登录“等字样),而对应的linux版神州数码也不能用了。= =#,现暂无其他解决办法。 | |||
<br> | |||
(原作者提醒:不知道武大的同学有没有测试过0.7.5版本的验证软件,可以自定义验证版本) | |||
(武汉大学的同学回复:刚刚试过,我们的版本号是3.5.04.1013 Beta,改过来后依然显示版本过低,...,强烈期待姚琦出新的版本!) <br> |
2009年3月3日 (二) 12:23的版本
本文作者:PT
授权许可:创作共享协议
测试平台:Ubuntu 8.04、8.10
前言
神舟数码的认证主要有两种,一是私有化的802.1x协议,基于链路层的认证;另一是DCBA,基于应用层的认证协议。常见采用其中一种或者两种联合使用。
其中802.1x的认证官方没有提供Win平台以外的软件,但庆幸的是已经有人将其协议破解并写出了基于Java的认证软件(802.1x client for DigitalChina 软件作者:姚琦),至于DCBA的认证,官方提供了一个Linux的Console程序,虽不完美,但至少可用。
本文将以Step by Step的方式介绍两种协议的认证方法和具体的步骤,在其他Linux发行版下应该也通用。
神州数码802.1x私有协议认证
准备工作
认证软件运行需要sun-java6-jre软件包,同时需要一个第三方java库:jpcap。
(由于jpcap库无法支持amd64的系统,因此64位系统下的认证尚未能解决。)
下载文件
考虑未认证的Ubuntu无法使用网络,需要在其他平台下载以下的文件再到Ubuntu中安装:
http://mirror.lupaworld.com/ubuntu/pool/main/libt/libtool/libltdl3_1.5.26-1ubuntu1_i386.deb http://mirror.lupaworld.com/ubuntu/pool/main/j/java-common/java-common_0.28ubuntu3_all.deb http://mirror.lupaworld.com/ubuntu/pool/main/u/unixodbc/odbcinst1debian1_2.2.11-16build1_i386.deb http://mirror.lupaworld.com/ubuntu/pool/main/u/unixodbc/unixodbc_2.2.11-16build1_i386.deb http://mirror.lupaworld.com/ubuntu/pool/multiverse/s/sun-java6/sun-java6-bin_6-07-3ubuntu2_i386.deb http://mirror.lupaworld.com/ubuntu/pool/multiverse/s/sun-java6/sun-java6-jre_6-07-3ubuntu2_all.deb http://netresearch.ics.uci.edu/kfujii/jpcap/jpcap-0.7.deb
安装软件运行环境
Linux小知识提示:
文件名很长很长很长……但不需要人手敲进去,当打了前几个字母后敲Tab,没反应多敲几下……还没反应?你确定?那么你打错字母了。Linux中的长命令长参数长文件名都这么解决的,再高手也不可能、也不会笨到去记住这么长的命令。
1.安装odbc、java-common (若想双击安装,必须按下面各个文件出现的次序安装,否则会提示依赖问题)
$sudo dpkg -i \ libltdl3_1.5.26-1ubuntu1_i386.deb \ odbcinst1debian1_2.2.11-16build1_i386.deb \ unixodbc_2.2.11-16build1_i386.deb \ java-common_0.30_all.deb2.安装jre(这里不能双击deb文件进行安装。安装过程中出现用户协议,按Tab移动光标确认。)
$sudo dpkg -i sun-java6-bin_6-07-3ubuntu2_i386.deb sun-java6-jre_6-07-3ubuntu2_all.deb3.安装jpcap-0.7(参数忽略了不必要的Jdk依赖)
$sudo dpkg --ignore-depends\=sun-java6-jdk -i jpcap-0.7.deb
安装、配置认证软件
802.1x_client_for_DigitalChina_0.6.1.tar.gz (文件大小: 80 KB, MIME 类型: application/x-gzip)
这里提供的是简化版本,可到作者网站下载最新版:<a href="http://www.yaoqi.name/">http://www.yaoqi.name/</a> (先匿名登录,然后进入“软件开发”)。
解压文件到任意目录,并从终端进入。
1.给文件赋予可执行属性
$chmod +x 8021x_linux2.把软件安装到系统程序目录
$sudo cp 8021x_linux /usr/local/bin3.尝试运行认证软件(软件需要root权限直接控制网卡,故需要sudo,否则程序找不到网卡设备)
$sudo 8021x_linux +javahome /usr/lib/jvm/java-6-sun/jre4.在桌面建立启动器: (右击桌面-创建启动器,类型选择“应用程序”、名称填写DigiChina、命令中填入)
gksu 8021x_linux +javahome /usr/lib/jvm/java-6-sun/jre第一次运行程序,注意Program菜单里面有个“中文界面”,点击了软件就变成中文了。按照提示在配置信息里面把东西填好,然后 保存配置信息,回到主界面,连接即可。
可以参照右图:(勾上自动连接的时候,密码框内容不能修改,请注意)
有些认证方案中,是认证后才通过DHCP分配的IP,勾上“自动分配IP”即可。如果在认证之前本机就已经获取IP的,需要填上本机的ip、dns、网关等。
Ubuntu中,可右键右上角的网络连接查看本机IP、DNS之类的信息。
连接成功的界面(右图):
在802.1x和DCBA双重认证的系统中,如果认证了802.1x后30秒内没有进行DCBA认证,则程序会提示掉线,此时需要退出程序,重新运行、连接。
最新版本的认证软件
最新版本0.7.5中程序添加了一些功能,尤其有“自定义认证版本”的选项,可能对某些因升级不能使用linux客户端认证的环境有效。
但是在使用中,新版的稳定性不若0.6.1版本,且内存占用很大(50M+)。若旧版能够正常认证,不推荐升级。
作者的网站:http://www.yaoqi.name/ (先匿名登录,然后进入“软件开发”)。
神州数码DCBA认证
DCBA的认证是基于应用层的,使用相对简单一些: <a href="http://wiki.ubuntu.org.cn/images/3/37/LinuxClient.tar.gz">LinuxClient.tar.gz</a> (文件大小: 15 KB, MIME 类型: application/x-gzip)
下载附件到主文件夹,解压后有一个linuxClient文件夹。 运行终端进入linuxClient:
./upnet -h host -u username -p password(-h是认证主机的IP,-u是用户名,-p是密码,如果不清楚网络的认证主机,可以查看Win版本的客户端中的ini文件的信息)
之后程序会提示选择服务,按1,回车即可。屏幕提示如下:
$ ./upnet -h 192.168.28.5 -u user -p password(运行命令) Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html(这行提示不用理会) select server: 1. servicename please select(e-Exit):1(输入1选择服务器) The attestation is successful, you can be then now internet access!(提示认证成功,可以上网了)
使用shell脚本保存账号密码的简便方法
!!!注意!!! 在使用脚本登录前先在终端手动认证,成功后再配置脚本,可减少出错的可能。
1.安装程序到系统本地程序目录
$sudo cp upnet /usr/local/bin2.运行一次认证
$upnet -h 192.168.28.5 -u user -p password若能成功上网,继续,否则请耐心调试:
3.创建认证脚本
$sudo gedit /usr/local/bin/authupnet输入如下内容(脚本中不要用-f、-h的参数)
#!/bin/sh upnet -u username -p password2.保存后给该文件赋予可执行权限
$sudo chmod +x /usr/local/bin/authupnet3.运行:
在终端里面直接执行authupnet,就可以上网了!或者为authupnet建立一个桌面启动器,双击即可。
$authupnet
注意事项
1. 强烈建议第一次运行DCBA认证时不要使用脚本,至少在终端中命令方式运行一次upnet成功上网后,再考虑配置脚本(第一次成功认证后程序会将一些参数记录,以后认证时作为默认参数)。
2. 常见程序给出This procedure has Exsit!的错误提示,但是又不能上网,是因为之前错误运行了upnet,而进程又没有正常退出的缘故。使用killall upnet命令终止程序,重新执行upnet。若情况依旧,试试执行downnet或者重启系统(重启x upnet不会终止)。
3.在自动登录脚本里面不要使用-h和-f参数,否则会出现服务选择菜单而无法自动应答。
具体环境的认证过程细节
广州大学 大学城校区
大学城校区使用的正是本套神州数码认证,但是具体到不同的宿舍,又有不同的认证流程。(原Win下的认证都分成3个版本)
其中B15宿舍楼使用的是802.1x和DCBA联合认证方法,故联网必须先按本文的方法先后验证。而其他宿舍楼宇,则只需使用DCBA协议验证。
B1 ~B21楼使用的DCBA服务器 192.168.28.5 B22~B25楼使用的DCBA服务器 192.168.28.4
武汉大学
由于武汉大学的验证协议升级,即使Win平台下以前版本的验证客户端都不能用了(会显示“版本过低,禁止登录“等字样),而对应的linux版神州数码也不能用了。= =#,现暂无其他解决办法。
(原作者提醒:不知道武大的同学有没有测试过0.7.5版本的验证软件,可以自定义验证版本)
(武汉大学的同学回复:刚刚试过,我们的版本号是3.5.04.1013 Beta,改过来后依然显示版本过低,...,强烈期待姚琦出新的版本!)