故障排除 - dafeiyoung/sguclient GitHub Wiki

一. 故障排除初级阶段

整理一些常见的故障,及其原因和解决办法:

故障1:可以上内网(教务处)或可以ping通网关,但不能上外网(百度、QQ等)

提示:很多人问我“怎么判断内网是否已成功拨通”;也有些人看到OpenWrt的接口里显示内网有IP就误认为内网已经拨通。其实这是不对的。无论内网有无拨通,OpenWrt的接口里内网网卡都是有IP的,所以你只看这个是看不出来的。正确的判断内网是否已拨通的方法是:①连上路由器ping 你的网关地址(点击查看ping教程,操作时请自行替换网关地址为你实际的网关IP)。②连上路由器访问学校内网网页。只要①或②中,任意有一个是通的,就证明内网已经拨通了。

原因及解决办法:①可能是外网账号密码错误(总之不是内网账号密码的问题),请检查外网账号密码。②可能是外网账号欠费或异常,请联系营业厅。③拔出网线前没有正确从官方拨号器点击“下线”或“注销”,而是还没下线就直接强行拔出网线,导致运营商系统误以为占线。解决办法是把网线插回去电脑里,重新用官方拨号器拨号,等待2分钟,然后正确点击下线或注销,再拔出网线插到路由器(或Linux电脑)上重试。④极少数宿舍外网账号在PC能拨号,在路由器却不能拨号,原因不明,解决办法是路由器换其他固件。

故障2:内网和外网都不可以上,网关也ping不通

原因及解决办法:①请检查IP地址、网关地址、内网账号密码和MAC地址。②重启电脑或路由器。③这个问题很大,要慌。请参考故障排除高级阶段。

故障3:电信网用户规律性(一般是23分钟)准时掉线一次

原因及解决办法:①这是由于静态路由规则没有正确配置,路由器(或电脑)无法访问内网drcom心跳服务器,导致drcom心跳包无法正常收发,超时下线。解决办法是检查并正确配置静态路由规则(请尤其注意网关地址不要填错)。②IP地址填错,解决办法是检查并正确填写IP地址。③极少数用户由于IP冲突等原因,而自行用了IP表上没有的IP地址,这些IP地址是不具有内网访问权限的(即使正确添加静态路由规则)。这些IP必定会掉线。解决办法:请联系网管,找回你本来应该用的、IP表上有的IP地址。④IP冲突,同一个交换机下有人使用了与你一样的IP地址。

故障4:移动网用户规律性准时掉线

原因及解决办法:①802.1x心跳包没有正确收发,这可能是网络质量差。解决办法是更换好质量的网线、更换墙上老化的网络插口。②IP地址填错,解决办法是检查并正确填写IP地址。③运营商服务器辣鸡,解决办法是联系网管报修。④IP冲突,同一个交换机下有人使用了与你一样的IP地址。

故障5:移动网或电信网用户,无规律随机时间掉线

原因及解决办法:①这可能是网络质量差。解决办法是更换好质量的网线(请不要用校内超市的蓝色辣鸡网线)、更换墙上老化的网络插口,或者联系网管报修。②IP地址填错,解决办法是检查并正确填写IP地址。③运营商服务器辣鸡或者RP问题,解决办法是多去南华寺烧香拜佛,或许它自己就好了。④IP冲突,同一个交换机下有人使用了与你一样的IP地址。

故障6:上网速度慢、不稳定

原因及解决办法:①运营商服务器问题,请联系营业厅报修。②如果是使用的路由器,请考虑更换路由器固件或硬件。

二. 故障排除高级阶段

总体上来说,尽量先使用控制变量法确定故障大体位置。例如:换电脑官方拨号器拨号,如果故障消失,则表示故障出现在路由器(如果有的话)或者SGUClient上,也可以确定网络是没问题的;如果故障依旧,则表明信息填错了或者网络出问题了,请重填信息或者联系网管报修并耐心等待修复。更多方法请发挥你的聪明才智自己多思考:) 然后是故障排除高级阶段正确操作姿势(请按照顺序操作):

①检查网络连线是没错的

路由器按下图连接 路由器接线 P.S. 如果是PC拨号(不用路由器),则直接PC通过网线接墙上的网络插孔即可。 网络连线问题,不像想象中的那么简单,必要时候请通过“替换法”、“控制变量法”等方法确定网络连接情况!

②打开终端

对于Linux PC:直接打开终端即可。

对于OpenWrt路由器:请通过Putty工具连接路由器远程终端。

③杀掉多余的SGUClient进程

对于Linux PC:直接执行sudo killall sguclient杀死SGUClient进程,如果有设置定时启动脚本的话,请先禁用定时启动脚本

对于OpenWrt路由器:建议请先在SGUClient LuCI配置页面禁用SGUClient、禁止SGUClient开机自启,然后执行killall sguclient杀死SGUClient进程。

④执行SGUClient拨号命令

手动调用SGUClient进行校园网拨号认证。

对于Linux PC使用以下命令调用SGUClient:

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

对于路由器使用以下命令调用SGUClient:

/etc/init.d/sguclient restart

P.S. 详细命令说明,请参考 Ubuntu使用SGUClient

⑤查看输出结果

一般来说,你会看到类似下图的拨号进度: openwrt心跳 当看到>>Protocol: EAP_SUCCESS@@drcom keep successfully!(drcom是电信用户才有,移动用户无drcom提示)时,且不断地规律性出现>>Protocol: REQUEST EAP-Identity802.1x心跳包提示时,则表示SGUClient已经拨号成功,内网已经拨号成功。 请注意上图有3个关键点:①提示>>Protocol: EAP_SUCCESS。②间隔一段时间就重复提示>>Protocol: REQUEST EAP-Identity。③间隔一段时间就重复提示@@drcom login successfully!@@drcom keep successfully!(第3点电信用户才有,移动用户不会有)。

此时,可以尝试ping网关,或者可以打开韶关学院教务管理系统(210.38.202.75或210.38.202.15)。如果能ping通网关,并且可以访问韶关学院教务管理系统(仅适用于韶关学院学生),则表示内网已经成功连接。 韶关学院教务管理系统 上图是正常情况(请注意3点)。如果你看到的东西和上图不一样,你可以看看以下解决办法: 下面列举一些你可能会看到的几种不正常的输出,以及解决办法:

a. 提示输出sguclient: command not found

这是因为SGUClient没有正确安装。请重新安装SGUClient。如果直接使用二进制文件,请指明路径。另外若是OpenWrt路由器,请留意固件版本是否高于15.05。

b. 提示输出@@ERROR: SGUClient Already Running with PID xxx

这是因为SGUClient已经在运行。请先使用命令killall sguclient杀掉SGUClient进程后重试。

c. 提示输出SGUClient wait package response time out!

openwrt—timeout 这是因为SGUClient超时没有收到数据包反馈。可能是选错网卡、网线没插好(若使用刷机路由器请注意端口乱序问题)、填错IP或者学校网络出问题等原因。请逐项排查。 再次提醒:这是一个常见且棘手的错误,一般由选错网卡或物理网线没插好(注意端口乱序问题)引起,少数情况也有可能是因为学校网络出问题。请通过控制变量法和替换法进行排查。请务必认真排查。

d. 提示输出>>Protocol: EAP_FAILURE&&IMPORTANT: Unknown Package

①这可能是内网账号密码错误或内网账号状态异常(总之和外网无关)。②也可能是服务器偶尔抽风拒绝认证,请多试几次,一般多试几次就好了。③电信网用户,在提示输出>>Protocol: EAP_FAILURE之后均会附带&&Got notification:xxxxxxxxx,请根据Notification的具体信息分析是哪里的问题导致认证失败(请注意,如启用随机UDP端口,则可能收不到Notification)

e. 电信网提示输出&&Got notification:xxxxxxxxx

openwrt—notification 这是电信才有的错误提示,表示内网账号、内网密码、MAC地址、IP地址、VLAN这几项与运营商系统记录绑定的不符合。 请留意后面的提示信息,然后在下表中找到对应的含义。 openwrt—notification2

f. 电信网没有提示@@drcom login successfully!@@drcom keep successfully!

电信网用户在出现>>Protocol: EAP_SUCCESS之后就卡住,不再出现@@drcom login successfully!@@drcom keep successfully!,这表示drcom心跳失败,这会导致电信用户准时掉线的故障。原因:①一般是静态路由规则没有正常配置,请正确配置静态路由规则。②运营商服务器偶尔抽风,或者网络质量差,请多试几次或者更换好质量的网线或者更换老化的网络插孔。③IP地址填写错误,请填入正确的IP地址。④特殊IP(请参考故障排除初级阶段故障3)。⑤如果是OpenWrt路由器,你可能采用了错误的方法修改MAC地址。

g. 没有提示>>Protocol: REQUEST EAP-Identity

出现>>Protocol: EAP_SUCCESS之后就卡住,不再重复出现>>Protocol: REQUEST EAP-Identity,或者出现几次>>Protocol: REQUEST EAP-Identity之后就不再出现。这表示802.1x心跳失败,这会导致准时或随机掉线的故障。原因:①运营商服务器偶尔抽风,或者网络质量差,请多试几次或者更换好质量的网线或者更换老化的网络插孔。②IP地址填写错误,请填入正确的IP地址。

h. 一开始认证成功,但一段时间后出现>>Protocol: EAP_FAILURE&&IMPORTANT: Unknown Package

一开始是认证成功的,也可以上内网,但一段时间后出现>>Protocol: EAP_FAILURE&&IMPORTANT: Unknown Package。这是由于心跳包没有正确收发,导致客户端被服务器强制下线。可能原因:①网络质量差,请多试几次或者更换好质量的网线或者更换老化的网络插孔(请注意不要用学校里超市卖的那种辣鸡蓝色网线,90%的这个故障由超市蓝色辣鸡网线引起)。②运营商服务器抽风,这个没办法,只能忍。③IP地址填写错误,请填入正确的IP地址。④IP冲突,同一个交换机下有人使用了与你一样的IP地址。

⑥修改信息,重新配置SGUClient

查到原因后,请修改错误信息,然后重新配置SGUClient。 如果以上办法都不能解决问题,请添加QQ群638138948和大家一起讨论:)