64位Ubuntu 12.04 单独使用njit-client连接校园网

以前用njit-client的时候,会提示版本太旧,学校要求的iNode版本是 V3.60-E6307,不过学校提供的6307版的iNode客户端会45秒掉一次线。但是将他们配合使用,先用iNode连上网,然后在45秒之内用njit-client拨号,倒是可以上网,就是太麻烦。

既然njit-client只是提示版本太旧,那把版本号改了就应该可以了吧?于是就试着改版本好,然后重新编译安装了一遍。

首先下载最新的njit-client源码包,(下载完整源码,即download as tar.gz那一项)修改src目录下 auth.c 文件,大约在33行左右,把版本号修改成 3.60-6307:

const char H3C_VERSION[16]="EN V3.60-6307"; // 华为客户端版本号
const char H3C_KEY[]      ="HuaWei3COM1X";  // H3C的固定密钥

然后运行help

sudo ./help

按照提示来就可以了。

然后参照帮助文件:

 

[从源代码编译]
为方便大家研究讨论,我们已将客户端源代码随编译好的可执行文件一同发布。
进行编译之前需安装的几个开发包如下:
对应Ubuntu/Debian的是:
	sudo apt-get install libpcap-dev libssl-dev
对应Fedora/Redhat的是:
	yum install libpcap-devel openssl-devel

从源码包开始编译客户端的命令为:
	tar xzf njit8021xlient-1.0.tar.gz
	cd njit8021xlient-1.0
	./configure
	make
安装:
	make install
注1:默认安装至/usr/local目录,需要root管理员权限
注2:可以通过设置DESTDIR将编译好的文件输出至临时文件夹,然后压缩打包
	make install DESTDIR="/tmp/临时文件夹"
	...
	cd /tmp/临时文件夹/
	tar xzf njit8021xlient-1.0-i386.tar.gz .

安装完成后在/usr/local/sbin目录下面,而不是帮助文档里说的/usr/local目录。
然后在找到RefreshIP.py,重命名为njit-RefreshIP,复制到njit-client所在目录。在用

sudo njit-client account password

就可以联网了。
因为是64位系统,RefreshIP不能用,会报如下错误:

File "/usr/bin/njit-RefreshIP", line 41, in 
    ac.service    = GetProperty('ServiceName', ac.obj, 'org.freedesktop.NetworkManager.Connection.Active')
  File "/usr/bin/njit-RefreshIP", line 28, in GetProperty
    return dbus.Interface(object, 'org.freedesktop.DBus.Properties').Get(interface_name, property_name)
  File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 70, in __call__
    return self._proxy_method(*args, **keywords)
  File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in __call__
    **keywords)
  File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.AccessDenied: Property "ServiceName" of interface "org.freedesktop.NetworkManager.Connection.Active" isn't exported (or may not exist)

不过貌似联网依然正常,就没去管它了。

为了易用性,创建一个脚本:

#!/bin/sh
njit-client account password >/dev/null 2>&1 &

随便保存一个名字,比如njitclient,注意不用和njit-client同名,放到/usr/local/bin或者其他环境变量包含的路径,然后直接

sudo njitclient

就可以联网了,很方便,而且没有讨厌的不能关闭的终端了。

附上我编译的njit-client:
njit8021xclient-1.1-hnu_amd64.tar

8 thoughts on “64位Ubuntu 12.04 单独使用njit-client连接校园网

  1. 博主你好,请问你是njit的学生吗?,今天我收到njit的ad,专业是CE。不知到你是什么专业,向请教你那里教学质量好不好,治安有没有网上说的那么坏?

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注