Ubuntu使用SGUClient - dafeiyoung/sguclient GitHub Wiki

此页面主要叙述如何在Ubuntu x86/x64系统中使用SGUClient进行韶关学院校园网拨号认证。

本文以Deepin系统(x64)作为举例。理论上其他发行版的Linux只要稍改变步骤,亦可使用。

请注意Linux版本的SGUClient拨号器目前是没有GUI的。

一. 获取SGUClient最新源代码或二进制文件

你可以通过源代码自行编译得到SGUClient的可执行文件(推荐),也可以直接在SGUClient的Linux版本源代码目录下(sguclient/sguclient-linux)找到已经编译好的SGUClient二进制文件(该二进制文件使用Deepin x64系统编译)。注意直接得到的编译好的二进制文件,只能在Ubuntu i686平台上运行。如果你使用其他平台,请通过源代码编译的方式得到SGUClient的二进制文件。
无论如何,你需要先获取SGUClient的最新源代码。推荐使用Git:

git clone https://github.com/dafeiyoung/sguclient.git

二. 安装依赖

SGUClient只有2个依赖:libpcappthread,并且对它们的版本没有特殊要求。
一般来说,Ubuntu里已经安装了pthread,你只需要安装libpcap即可。

sudo apt-get update
sudo apt-get install libpcap-dev

三. 编译SGUClient(可选)

cd进入SGUClient Linux版本源代码的目录

cd sguclient-linux

此时目录结构应该如下图所示:
SGUClient Linux源代码目录结构
然后使用sudo make install即可完成编译并安装。

sudo make install

编译过程如下图所示:
SGUClient编译

四. 查看有线网卡名

准备步骤:请事先给你电脑的 有线网卡 填好韶关学院学校分配的内网IPv4地址(一般是192.168开头)。具体步骤请自行百度。并且插好网线(指的是学校宿舍墙上的网线,它需要正确连接到你的电脑有线网卡里),确保网络物理连接已经完备。请注意:若不填或错填IP地址,SGUClient将无法工作!即使是移动用户,也必须要正确填好IP!
然后查看你的有线网卡名。可以使用ifconfig命令。
如下图,enp8s0就是我的有线网卡名(你的不一定是这个,请不要照抄)。 查看有线网卡名
P.S. 看准IP地址就不会认错网卡名!

五. 运行

在任意位置打开终端,输入sudo sguclient可看到Error: NO Username or Password promoted.,则表示SGUClient已经成功安装。
P.S. 如果是直接使用二进制文件,则是先切换到二进制文件所在目录sguclient/sguclient-linux,然后输入sudo ./sguclient命令。
接下来调用SGUClient进行校园网拨号认证。使用以下命令调用SGUClient:

sudo sguclient -u 内网账号 -p 内网密码 -i 运营商类型 --device 有线网卡名 --ip 内网IPv4地址

具体说明(针对韶关学院校园网来说):
内网账号指的是校园网账号,电信用户一般是11位学号(例如14115012345),移动用户可以用test
内网密码指的是校园网密码,电信用户一般是111111(6个1),移动用户一般是8888(4个8)。
运营商类型指的是实际的网络运营商类型,D表示中国电信,Y表示中国移动,请注意严格区分大小写。
有线网卡名指的是你在上一步查到的网卡名,例如enp8s0
内网IPv4地址指的是学校提供的、你填在有线网卡上的IP地址,例如192.168.12.34。请注意此处填写的要和有线网卡里实际的一致。
--random是可选项,指的是在电信drcom认证时,使用随机UDP端口,从而有效避免61440端口被占用的情况。此选项仅在电信网时有效,移动网用户请勿使用此选项。

下面针对电信网用户给出一个完整的命令例子:

sudo sguclient -u 14115012345 -p 111111 -i D --device enp8s0 --ip 192.168.12.34

下面针对移动网用户给出一个完整的命令例子:

sudo sguclient -u test -p 8888 -i Y --device enp8s0 --ip 192.168.56.78


P.S. 更多选项,请在终端键入sudo sguclient --help进行查看:)

如果输入无误,则可以看到如下的拨号进度:
Ubuntu下SGUClient拨号
在上图中,请确认你的MAC地址、IP地址和MASK地址这三项有无错误。如果有识别错误(数据不正确或空白),则无法完成拨号。

当看到>>Protocol: EAP_SUCCESS@@drcom keep successfully!(drcom是电信用户才有,移动用户无drcom提示)时,且不断地规律性出现>>Protocol: REQUEST EAP-Identity802.1x心跳包提示时,则表示SGUClient已经拨号成功,内网已经拨号成功。
此时,可以尝试ping网关,或者可以打开韶关学院教务管理系统(210.38.202.75或210.38.202.15)。如果能ping通网关,或者可以访问韶关学院教务管理系统(仅适用于韶关学院学生),则表示内网已经成功连接。
韶关学院教务管理系统

然而需要注意的是,仅仅拨通内网,你是不可以上外网的(外网指的是互联网,例如百度、QQ和淘宝等,不是GFW外的意思)。

接下来,你可以使用PPPoE进行外网拨号连接。具体请自行百度。

六. 设置PPPoE拨号连接

仅仅拨通内网,你是不可以上外网的!
仅仅拨通内网,你是不可以上外网的!
仅仅拨通内网,你是不可以上外网的!
SGUClient只会替你拨通内网,而不会替你拨外网!所以你需要自己使用标准PPPoE进行外网拨号连接。具体操作请自行百度。
请注意,只有当内网成功拨通之后,才可以拨外网!不然外网是拨不通的。

如果在配置中遇到问题,可以参考 故障排除

⚠️ **GitHub.com Fallback** ⚠️