知行社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

知行社区 门户 技术 查看内容

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

2012-5-15 21:11| 发布者: 知行| 查看: 1191| 评论: 0|来自: 知行近思

摘要: 以前用njit-client的时候,会提示版本太旧,学校要求的iNode版本是 V3.60-E6307,不过学校提供的6307版的iNode客户端会45秒掉一次线。但是将他们配合使用,先用iNode连上网,然后在45秒之内用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:

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

然后运行help

1
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所在目录。在用

1
sudo njit-client account password

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

1
2
3
4
5
6
7
8
9
10
11
File "/usr/bin/njit-RefreshIP", line 41, in <module>
    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)

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

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

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

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

1
sudo njitclient

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

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


鲜花

握手

雷人

路过

鸡蛋
发表评论

最新评论

相关分类



QQ|小黑屋|手机版|知行技术社区 ( 湘ICP备11020288号-1 )

GMT+8, 2020-4-5 11:05 , Processed in 0.010756 second(s), 8 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部