个人工具

“神州数码802.1x、DCBA协议认证方案”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
具体环境的认证过程细节
第9行: 第9行:
 
神舟数码的认证主要有两种:  
 
神舟数码的认证主要有两种:  
  
#802.1x EAPOL协议,基于链路层的认证;
+
# 802.1x EAPOL协议,基于链路层的认证;
#DCBA-BAS,基于应用层的认证协议。
+
# DCBA-BAS,基于应用层的认证协议。
  
 
常见采用其中一种或者两种联合使用。  
 
常见采用其中一种或者两种联合使用。  
  
其中802.1x的认证官方没有提供Win平台以外的软件,但有第三方分析出来版本如scut_supplicant,以及本文介绍的[http://code.google.com/p/zdcclient/ ZDClient]; 至于BAS的认证,官方提供了一个Linux的Console程序upnet,也有基于其反汇编后写出的开源客户端[http://gitorious.org/aecium aecium]。  
+
其中802.1x的认证官方没有提供Win平台以外的软件,但有第三方分析出来版本如scut_supplicant,以及本文介绍的[http://code.google.com/p/zdcclient/ ZDClient]; 至于BAS的认证,官方提供了一个Linux的CLI程序upnet,也有基于其反汇编后写出的开源客户端[http://gitorious.org/aecium aecium]。  
  
 
本文介绍两种协议的认证方法和具体的步骤,在其他Linux发行版下应该也通用。  
 
本文介绍两种协议的认证方法和具体的步骤,在其他Linux发行版下应该也通用。  
第22行: 第22行:
 
== 下载解压  ==
 
== 下载解压  ==
  
从[http://code.google.com/p/zdcclient/ ZDClient项目主页]下载最新的二进制包,下面以zdclient_0.4_i386_bin.tar.gz为例:  
+
从[http://code.google.com/p/zdcclient/ ZDClient项目主页]下载最新的二进制包,下面以zdclient_bin_1.1_i686_bin.tar.gz为例:  
  
  tar xvfz zdclient_0.4_i386_bin.tar.gz
+
  tar xvfz zdclient_bin_1.1_i686_bin.tar.gz
cd ZDClient_i386_bin
+
  
== 启动脚本 ==
+
== 配置与安装 ==
  
现在目录里面有两个自动运行的脚本,dhcp_zdc_run.sh和st_zdc_run.sh,分别对应动态IP和静态IP模式使用……别慌,区别很简单:'''如果使用Win系统,在认证之前的提示“本地连接收限”的,就使用dhcp_zdc_run.sh''',其他的一律使用st_zdc_run.sh。
+
现在目录下有Readme.txt  install  runzdclient  zdclient四个文件,先使用gedit之类的编辑器编辑runzdclient,把开始的user、pass分别换成您的帐号和密码并保存。
  
好,下面假设大家已经选好了适用的'''xxx.sh'''
+
安装需要root权限,这通常使用sudo或者su -c
  
现在假设大家用的是默认版本的ubuntu,系统里面有gedit编辑器:
+
sudo ./install
  
gedit xxx.sh
+
成功执行安装将看到####Installation Done.####的提示。
  
很明显大家看到一行
+
== 运行  ==
  
./zdclient -u username -p password -b
+
如果用户配置的帐号信息无误并且安装成功,那么用户只需要运行runzdclient,即可看到有关的认证成功的信息。
  
当然,就是改上你的用户名和密码了,保存。
+
如果系统内安装有libnotify的工具,运行脚本时会出现如图的提示(Ubuntu中的效果,如果没有,请安装sudo apt-get libnotify-bin):[没有安装libnotify-bin虽然不能显示,但并不影响认证。]
  
== 运行认证  ==
+
[[Image:http://wiki.ubuntu.org.cn/File:Notify.png|border|150px|服务器信息]]
  
回到终端下面:
+
可以通过桌面的启动器运行runzdclient,或把把runzdclient加入到比如GNOME的“系统->首选项->启动程序“当中,以便每次登录系统即可自动认证上网。
  
sudo ./xxx.sh
+
更详细请看ZDClient的用户手册:[http://code.google.com/p/zruijie4gzhu/wiki/zRuijie_User_Manual]
 
+
恩,会出现一系列的提示,不过完了之后看到类似
+
 
+
&&Info: Authorized Access to Network.
+
&&Info: ZDClient Forked background with PID: [12345]
+
 
+
如果是DHCP模式的话还有几行获取新IP的过程……
+
 
+
'''~~理论上~~现在你就能上网了!'''
+
 
+
以后每次都进来这个目录,重复'''运行认证'''这个步骤,就可以上网了!
+
 
+
== 能不能简单点  ==
+
 
+
能!如果你按上面的步骤已经能用ZDClient上网了,那么以后“一键上网”也不是什么难事:
+
 
+
首先,重新用gedit打开刚才的xxx.sh,把行首的“./”去掉,保存。
+
 
+
sudo cp zdclient xxx.sh /usr/local/bin
+
sudo chmod 4755 /usr/local/bin/zdclient
+
 
+
然后在桌面新建一个启动器,名称自定,命令里面输入
+
 
+
xxx.sh
+
 
+
这样之后每次只需双击这个图标,或者把它拉到面板上面,单击,就可以上网了!
+
 
+
 
+
[因为4755模式里面的4修改了可执行文件的suid,每次执行的时候以拥有者的身份执行,所以就不需要输入密码来获取root权限了。]
+
  
 
= DCBA-BAS 使用教程  =
 
= DCBA-BAS 使用教程  =
第144行: 第114行:
  
 
=== 武汉大学  ===
 
=== 武汉大学  ===
武汉大学使用ZDClient可正常认证校园网
+
武汉大学使用ZDClient 0.4 以上可正常认证校园网
 +
 
 +
=== 山东聊城大学 ===
 +
山东聊城大学使用ZDClient 1.1以上可正常认证校园网,若使用1.0或以前版本,需要使用参数--ver 3.5.04.1110fk来定义认证版本。

2009年7月18日 (六) 14:52的版本

本文作者:PT

授权许可:创作共享协议

测试平台:Ubuntu 8.04、8.10、9.04

前言

神舟数码的认证主要有两种:

  1. 802.1x EAPOL协议,基于链路层的认证;
  2. DCBA-BAS,基于应用层的认证协议。

常见采用其中一种或者两种联合使用。

其中802.1x的认证官方没有提供Win平台以外的软件,但有第三方分析出来版本如scut_supplicant,以及本文介绍的ZDClient; 至于BAS的认证,官方提供了一个Linux的CLI程序upnet,也有基于其反汇编后写出的开源客户端aecium

本文介绍两种协议的认证方法和具体的步骤,在其他Linux发行版下应该也通用。

ZDClient 使用教程

下载解压

ZDClient项目主页下载最新的二进制包,下面以zdclient_bin_1.1_i686_bin.tar.gz为例:

tar xvfz zdclient_bin_1.1_i686_bin.tar.gz

配置与安装

现在目录下有Readme.txt install runzdclient zdclient四个文件,先使用gedit之类的编辑器编辑runzdclient,把开始的user、pass分别换成您的帐号和密码并保存。

安装需要root权限,这通常使用sudo或者su -c

sudo ./install 

成功执行安装将看到####Installation Done.####的提示。

运行

如果用户配置的帐号信息无误并且安装成功,那么用户只需要运行runzdclient,即可看到有关的认证成功的信息。

如果系统内安装有libnotify的工具,运行脚本时会出现如图的提示(Ubuntu中的效果,如果没有,请安装sudo apt-get libnotify-bin):[没有安装libnotify-bin虽然不能显示,但并不影响认证。]

服务器信息

可以通过桌面的启动器运行runzdclient,或把把runzdclient加入到比如GNOME的“系统->首选项->启动程序“当中,以便每次登录系统即可自动认证上网。

更详细请看ZDClient的用户手册:[1]

DCBA-BAS 使用教程

DCBA-BAS的认证是基于应用层的:文件:LinuxClient.tar.gz下载附件到主文件夹,解压后有一个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 downnet /usr/local/bin

2.在用户目录下运行完整运行一次认证(生成attrfile.ini自动应答文件)

$cd
$upnet -h 192.168.28.5 -u user -p password

若能成功上网,可运行downnet,再执行一次不带-h参数的upnet,应该能正常免应答认证。

3.创建认证脚本

$sudo gedit /usr/local/bin/authupnet

输入如下内容

#!/bin/sh
upnet -u username -p password

4.保存后给该文件赋予可执行权限

$sudo chmod +x /usr/local/bin/authupnet

5.在终端里面直接执行authupnet,就可以上网了!

$authupnet

或者为authupnet建立一个桌面启动器,以后双击即可。

注意事项

  1. 至少在终端中命令方式运行一次upnet成功上网后,再配置脚本(第一次成功认证后程序会在当前目录下生成自动应答文件attrfile.ini)。
  2. 常见程序给出This procedure has Exsit!的错误提示,但是又不能上网,是因为之前错误运行了upnet,而进程又没有正常退出的缘故。使用killall upnet命令终止程序,重新执行upnet。若情况依旧,试试执行downnet或者重启系统(重启x upnet不会终止)。
  3. upnet程序不会响应用户名密码是否正确,即使给与错误的帐号,其提示和正常认证一样。如发现不能上网,检查账户是否错误。

开源的aecium

aecium本来是针对“安腾通信”公司的认证系统的客户端,不过和神州数码的BAS兼容。上面所说的upnet的缺点是只能使用系统中的eth0设备,如果你的网卡是eth1或者其他,就别想用了,而aecium则支持使用不同的网卡设备。 aecium的用法和上述的upnet程序几乎完全一致。

Aecium的二进制版本可在这里下载文件:Aecium.tar.gz

可正常使用的环境

武汉大学

武汉大学使用ZDClient 0.4 以上可正常认证校园网

山东聊城大学

山东聊城大学使用ZDClient 1.1以上可正常认证校园网,若使用1.0或以前版本,需要使用参数--ver 3.5.04.1110fk来定义认证版本。