用过电信闪讯的同窗都知道,闪讯没有开发Linux的客户端程序,因此这让不少玩Linux操做系统同时又是闪讯用户的同窗很头疼,今天我就来介绍一下如何在Linux下链接闪讯网络,而且支持有线链接和无线链接。node
本教材基于这个Github
仓库shanxun_pppoe_linux_desktoplinux
shanxun_pppoe_linux_desktopgit
sudo apt-get install ppp
makefile中的TODO项都有相关的注释,不一样的系统可能有不一样的配置,应先确认。github
在仓库目录下执行:shell
sudo chmod a+x INSTALL sudo ./INSTALL zhejiang_xiaoyuan_sxplugin #(其余地区请更换,地区列表在makefile内)
因为闪讯网络有两种方式链接,有线和无线,方法略有不一样。bash
首先在命令行执行ifconfig
命令,记录下有线网卡和无线网卡名称,有线网卡名称是e
开头的,无线网卡名称是w
开头的,不一样设备的名称不同。网络
5.1 有线链接操作系统
直接使用如下命令链接有线:命令行
sudo connect_sx <username> <password>
参数分别是闪讯用户名和密码code
# 其后直接使用这个命令就能够了 sudo connect_sx # 更改密码 sudo connect_sx <password> # 断开链接 sudo connect_sx stop
若链接不上,则尝试如下命令后再次尝试链接。
sudo del default route sudo add default route <有线网卡名称> sudo connect_sx <username> <password>
5.2 无线链接
使用如下命令链接
pppd noauth nodetach defaultroute usepeerdns maxfail 1 user <your username> password <your password> mtu 1492 mru 1492 plugin rp-pppoe.so nic-<网卡名> plugin zhejiang_xiaoyuan_sxplugin.so
须要配置的参数有用户名和密码,以及你的无线网卡名,此方法也能够用来链接有线,在网卡名填入对应的有线网卡名便可。
针对以上链接方式,为了便于链接,我写了如下脚本,仅供参考。
#!/bin/bash # 是否链接有线 ETH_STATE=`cat /sys/class/net/enp4s0/operstate` # 是否链接无线 WLAN_STATE=`cat /sys/class/net/wlp1s0/operstate` # 链接的无线网络名称 其中wlp1s0是无线网卡名 WLAN_NAME=`iwconfig wlp1s0 | grep ESSID | awk -F\" '{print $2}'` # 帐号密码 username=12345678911@DZKD.XY password=123456 # 有线链接 if [ "up" == $ETH_STATE ] then connect_sx fi # 无线链接 if [ "up" == $WLAN_STATE ] then # 我所在环境能连闪讯的有三个无线WIFI if [ "ChinaNet-shanxun" == $WLAN_NAME ]||[ "ChinaNet-tRmt" == $WLAN_NAME ]||[ "ChinaNet-tRmt-5G" == $WLAN_NAME ] then pppd noauth nodetach defaultroute usepeerdns maxfail 1 user $username password $password mtu 1492 mru 1492 plugin rp-pppoe.so nic-wlp1s0 plugin zhejiang_xiaoyuan_sxplugin.so else echo "is not shanxun" fi fi
在后台运行脚本:
sudo nohup ./shanxun.sh &