锐捷是很多大学上网的认证客户端,在windows上使用麻烦,而linux则因用户较少,版本已经很久未更新,使用起来更是磕磕绊绊,总结下来还是有不少地方需要踩坑的。
使用
安装
锐捷客户端的下载在各大学校的网站都有,以广州大学为例子,只要开通了网络端口,直接将网线连接到电脑,然后任意点开一个网址就可以跳转到锐捷客户端下载界面,下载选择linux版本即可。
然后进入终端,输入:
1cd Downloads
进入下载目录,下载下来的文件是Linux锐捷客户端_V1.31.zip
,用一下命令解压:
1unzip Linux锐捷客户端_V1.31.zip
没有unzip
命令的需要先安装:
1# Ubuntu/Debian
2apt install unzip
3
4# CentOS/Fedora
5dnf install unzip
解压后进入解压目录:
1cd Linux锐捷客户端_V1.31/rjsupplicant
先给锐捷运行脚本赋予执行权限:
1chmod +x rjsupplicant.sh
然后运行脚本检查一下网卡:
1sudo ./rjsupplicant.sh -l
输出结果可能像这个样子:
1sysctl: write error: Bad file descriptor
2sysctl: write error: Bad file descriptor
3sysctl: write error: Bad file descriptor
4版本 RG-SU For Linux V1.31
5认证方式 有线认证
6认证网卡
7用户名 �
8----------------------------------------
9网卡列表 [1] enp4s0f2
10 [2] virbr0
上面三句sysctl: write error: Bad file descriptor
是报错,登录锐捷的时候也会有这样的报错,不过不影响使用,所以不用理会。
重要的是下面的网卡列表
,可以看到有两个网卡,第一个enp4s0f2
就是接下来需要用到的,这个是新版本的linux系统网卡的默认名字,而在旧版本的linux系统中,这个默认的网卡名字叫做eth0
,因为锐捷客户端版本采用的是老式的名字,所以使用eth0
来认证的时候就不能通过了,也就是现在网上很多教程不能用的原因。
值得一提的是,直到ubuntu 14.04
都还是用eth0
,而ubuntu 16.04
之后就已经被变成enp4s0f2
更改网卡名称
因为就算使用锐捷客户端指定用第一个enp4s0f2
网卡,锐捷在运行的时候还是使用eth0
来认证,所以就需要先将网卡名称改为eth0
。
当然了,可以先尝试3. 登录锐捷
能不能认证成功,如果不成功再更改网卡名称也不迟。
先使用一个临时更改网卡名称的方式进行更改,好处是不用重启:
1# 关闭网卡
2ifconfig enp4s0f2 down
3
4# 更改网卡名称
5ip link set enp4s0f2 name eth0
6
7# 打开网卡
8ifconfig eth0 up
这种更改方式即时生效,不过下次重启就失效了,所以还需要进行永久更改。
更改默认网卡名称可以通过添加一个配置文件来指定新的名称,先新建一个文件:
1sudo vim /etc/udev/rules.d/10-rename-network.rules
添加以下内容:
1SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="硬件地址", NAME="eth0"
其中,ATTR{address}里面的硬件地址可以通过这条命令获得:
1ifconfig
输出结果中的ether 80:
后面的字符串就是需要的地址,大概长这样子:fa:5a:01:49:78
登录
锐捷登录认证不是简单运行脚本就可以的,需要执行以下这一长串命令:
1sudo ./rjsupplicant.sh -d 1 -S 1 -a 1 -s internet -u 用户名 -p 密码
运行脚本后面所使用的参数的解释可以看本文最下面的表,广州大学的用户名一般是学号,密码是身份证后7位的前6位。如果最后出现认证成功的提示就表示没错了,此时要退出客户端可以直接按下q
键。
登录上锐捷之后终端不能关闭,否则网络就断了,经过一次成功的登录之后,以后运行锐捷就不用再加那么多参数,直接运行脚本即可:
1sudo ./rjsupplicant.sh
而如果每次开机都要这样运行一条命令就显得麻烦了,所以需要设置一下开机自动登录认证。
直接编辑开机自启动脚本:
1sudo vim /etc/rc.local
在最后添加这样一行:
1~/Downloads/Linux锐捷客户端_V1.31/rjsupplicant/rjsupplicant.sh
也就是添加锐捷客户端执行脚本的路径,不过,强烈建议将路径中的中文去掉,或者换成英文,也就是把Linux锐捷客户端_V1.31
这个文件夹的名字改成英文或者去掉中文。
然后,开始享受网络吧。
问题解决
锐捷登录认证会停用系统原本的NetworkManager网络管理软件,有些人可能会需要用到这个软件,所以还需要解决一下:
编辑配置文件
1sudo vim /etc/NetworkManager/NetworkManager.conf
将manager = false
改为managed = true
, 然后重启NetworkManager:
1sudo service network-manager restart
我也很费解锐捷为什么要特意停用系统的网络管理功能,反正就就是坑。
说明
锐捷运行脚本参数的含义
参数 | 含义 |
---|---|
-a | 认证方式 (带参数,0表示无线认证,1表示有线认证;不指定时采用上一次认证方式或者为有线认证) |
-d | dhcp方式 (带参数,0表示静态IP认证,1表示使用动态获取IP方式认证;不使用-d默认使用上一次配置) |
-n | 认证网卡 (参数为网卡名称 (参考-l结果),不指定时采用上一次使用的网卡或者第一张网卡) |
-s | 服务 (参数为服务名称 (参考-l结果),不指定时采用上一次使用的服务或者第一个服务) |
-I | 无线认证ssid (参数为ssid名称(参考-l结果),不指定时采用上一次使用的SSID或者第一个SSID,无线认证有效) |
-w | 扫描无线网络 : 无参数,可使用-n指定无线网卡,查看无线网络列表 |
-u | 用户名 (参数为用户名,不指定时采用上一次使用的用户名) |
-p | 密码 (参数为密码,若未设定密码,运行程序后可重设定,默认为空除非已经保存了密码) |
-S | 保存密码 (带参数,0表示不保存密码,1表示保存密码,不指定时采用上一次配置) |
-q | 退出程序 (不带参数,使用-q命令退出后台运行的客户端) |
-l | 查看模式 :无参数,指定该模式时,只查看信息,不认证。内容包括:版本号,当前认证方式,当前网卡,当前服务(可选),用户名,服务列表(可选),网卡列表。 默认查看当前认证方式下信息。 |