神州数码802.1x、DCBA协议认证方案
本文作者:PT
授权许可:创作共享协议
测试平台:Ubuntu 8.04
网络环境:广州大学(大学城校区宿舍)校园网接入
前言
神舟数码的认证主要有两种,一是私有化的802.1x协议,基于链路层的认证;另一是DCBA协议,也是神州私有的,基于应用层的认证。国内高校常见采用其中一种或者两种联合使用。
其中私有802.1x的认证官方没有提供Win平台以外的认证软件,但庆幸的是已经有人将其协议破解并写出了基于Java的认证软件(802.1x client for DigitalChina 软件作者:姚琦),至于DCBA的认证,官方提供了一个Linux的Console程序,虽不完美,但至少可以使用。
本文将以Step by Step的方式介绍在Ubuntu 8.04下两种协议的认证方法和具体的步骤,在其他Linux发行版下应该也通用。
神州数码802.1x私有协议认证
准备工作
Java软件运行需要jre6,jpcap等软件包。
下载文件
考虑未认证的Ubuntu无法使用网络,可在其他平台下载以下的文件再到Ubuntu中安装:
http://mirrors.cn99.com/ubuntu/pool/main/j/java-common/java-common_0.30_all.deb(可不必下载,DVD光盘版自带) http://mirrors.cn99.com/ubuntu/pool/main/u/unixodbc/unixodbc_2.2.11-16build1_i386.deb(可不必下载,DVD光盘版自带) http://ubuntu.cn99.com/ubuntu/pool/multiverse/s/sun-java6/sun-java6-bin_6-06-0ubuntu1_i386.deb http://ubuntu.cn99.com/ubuntu/pool/multiverse/s/sun-java6/sun-java6-demo_6-06-0ubuntu1_i386.deb http://ubuntu.cn99.com/ubuntu/pool/multiverse/s/sun-java6/sun-java6-jdk_6-06-0ubuntu1_i386.deb http://ubuntu.cn99.com/ubuntu/pool/multiverse/s/sun-java6/sun-java6-jre_6-06-0ubuntu1_all.deb http://ubuntu.cn99.com/ubuntu/pool/main/u/unixodbc/odbcinst1debian1_2.2.11-16.deb http://netresearch.ics.uci.edu/kfujii/jpcap/jpcap-0.7.deb若有条件使用网络,推荐使用新立得安装jre6
安装软件环境
1.安装java-common、odbcinst1debian1、unixodbc(这三个是jre依赖的软件包,若有DVD光盘,建议在新立得安装) unixodbc依赖于odbcinst1debian1包,所以需要先安装
$sudo dpkg -i odbcinst1debian1_2.2.11-16.deb $sudo dpkg -i java-common_0.30_all.deb $sudo dpkg -i unixodbc_2.2.11-16build1_i386.deb2.安装下载的Jre (安装过程中出现协议,按Tab移动光标)
$sudo dpkg -i sun-java*3.安装libcap(这一步不确定,libpcap库Ubuntu 8.04 DVD版本默认安装了,但其他发行版最好自己用新立得检查一下)
4.安装jpcap-0.7(认证软件的依赖软件包)
$sudo dpkg -i jpcap-0.7.deb
安装、配置认证软件
802.1x_client_for_DigitalChina_0.6.1.tar.gz (文件大小: 80 KB, MIME 类型: application/x-gzip)
这里提供的是简化版本,可到作者网站下载最新版:http://www.yaoqi.name/ (先匿名登录,然后进入“软件开发”)。
解压文件,例子中解压到~/DigiChina。
在桌面建立认证软件的启动器(相当于Win的快捷方式): 右击桌面-创建启动器,类型选择“应用程序”、名称填写DigiChina、命令中填入
gksu "java -jar /home/xxx/DigiChina/8021x_linux"注意你的用户文件夹的名称,这里假设是xxx,确定即可。
第一次运行程序,注意Program菜单里面有个“中文界面”,点击了软件就变成中文了。按照提示在配置信息里面把东西填好,然后 保存配置信息,回到主界面,连接即可。
可以参照下图:
本机IP可以在右上角托盘的连接处看:右键连接,“连接信息”(若显示IP地址0.0.0.0,可以先把“启动网络”的勾取消,再钩上,待一会连接DHCP成功了就应该能看到IP了,若依然看不到,就可能网络或者rp出问题了)
连接成功的界面:
在802.1x和DCBA双重认证的系统中,如果认证了802.1x后30秒内没有进行DCBA认证,则程序会提示掉线,此时需要退出程序重新运行、连接。
神州数码DCBA认证
DCBA的认证是基于应用层的,使用相对简单一些:
LinuxClient.tar.gz (文件大小: 15 KB, MIME 类型: application/x-gzip)
下载附件到主文件夹,解压后有一个linuxClient文件夹。 运行终端cd进入linuxClient: cd LinuxClient ./upnet –h host –u username –p password (-h是认证主机的IP,-u是用户名,-p是密码,如果不清楚网络的认证主机,可以查看Win版本的客户端中的ini文件的信息)
之后程序会提示选择服务,按1,回车即可。屏幕提示如下:
PT@PT-desktop:~/linuxClient$ ./upnet -h 192.168.28.5 -u 0615200000 -p 0615200000(运行命令)
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.创建authupnet:
gedit ~/authupnet输入如下内容:
#!/bin/sh cd ~/LinuxClient ./upnet -u username -p password exit2.保存后给该文件赋予可执行权限
chmod +x authupnet3.运行:
以后双击该文件,就可以上网了!(有对话框提示,按“运行”即可)也可把authupnet复制到程序文件夹:
sudo cp authupnet /usr/local/bin这样在终端中运行authupnet、或者为authupnet建立一个桌面启动器,就可以认证上网了。
注意事项
1. 强烈建议第一次运行DCBA认证时不要使用脚本,至少在终端中命令方式运行一次upnet成功上网后,再考虑配置脚本(第一次成功认证后程序会将一些参数记录,以后认证时作为默认参数)。
2. 常见程序给出This procedure has Exsit!的错误提示,但是又不能上网,是因为之前错误运行了upnet,而进程又没有正常退出的缘故。打开“系统监视器”(按Alt+F2输入 gnome-system-monitor,不是Ubuntu的Linux可能有出入),找到名为upnet或者sh的进程将其结束,重新执行upnet。若情况依旧,试试执行downnet或者重启系统(重启x upnet不会终止)。
3.在自动登录脚本里面不要使用-h和-f参数,否则会出现服务选择菜单而无法自动应答。
4.具体到某些大学(比如武汉大学),由于神州数码windows客户端已经升级,以前的版本都不能用了,使用以前的版本登录会显示“版本过低,禁止登录“等字样,对应的linux版神州数码也不能用了,= =#,只能等其他人先写出最新版本对应的linux版神州数码了