锐捷自动多拨脚本
先介绍下环境吧,学校的网络是外包给第三方的,并不是传统的CERNET赛尔网络,认证方式是很常见的锐捷认证
,支持802.1x和网页认证两种,套餐不同带宽不同,限制使用两台设备且会判断设备类型
我的设备是一台双网口x86软路由、一台k2用来当ap和扩展网口,固件是自己编译的,也可以找一台编译好mentohust和多线多拨的固件或者自行安装ipk包
首先启动多线多拨创建macvlan,因为限制两台设备,所以虚拟wan的数量我设置为2,虽然多线多拨是为拨号设计的,不过校园网这样的环境依然可用,创建好后在接口中将两个虚拟wan的协议更改成dhcp即可,并且也会自动配置好负载均衡。前面说到判断设备类型,是根据mac地址判断的,所以顺便在高级设置中将两个虚拟wan的mac地址分别更改为手机和电脑的mac地址(如果改了之后没生效可以在/etc/config/network手动修改)
config device 'macvlandev_macvlan1'
option name 'macvlan1'
option ifname 'eth1'
option type 'macvlan'
option macaddr '改成你需要的mac'
config interface 'vwan1'
option ifname 'macvlan1'
option _orig_ifname 'macvlan1'
option _orig_bridge 'false'
option proto 'dhcp'
option macaddr '改成你需要的mac''
接下来使用任意ssh工具连接到路由器,我这里使用的是TTYD,输入
mentohust
网卡选择macvlan1后按提示输入账号密码连接
连接成功且能正常上网后开启第二个TTYD输入
rm /etc/mentohust.conf
rm /tmp/mentohust.pid
第一条是删除mentohust的配置,否则启用还是之前的配置,删除并不会影响现在正在运行的mentohust
第二条是删除mentohust的pid文件,有pid文件的话linux不会创建第二个进程,这两个文件的位置不一定在/etc和/tmp,如果不在的话可以用winscp工具搜索查找
接着继续输入
mentohust
这次选择macvlan2,也是按提示操作,连接成功跑下载有之前多倍的速度就成功了
测试好多拨成功将上面的脚本修改一下添加到启动项即可
rm /etc/mentohust.conf
rm /tmp/mentohust.pid
mentohust -u用户名 -p密码 -a0 -d0 -nmacvlan1
rm /etc/mentohust.conf
rm /tmp/mentohust.pid
mentohust -u用户名 -p密码 -a0 -d0 -nmacvlan2
-a和-d参数分别是组播地址和dhcp方式,自行更改
后续的问题:两个账号都被我用了,外出的时候怎么办呢?
我在路由器上部署了PPTP服务,当然用其他的服务也可,这个前提是认证前有可用端口,比如我测试53端口没有封,将PPTP转发到wan上的53即可(注意PPTP并不是安全的连接方式,我仅仅是图方便,因为PPTP跨平台且基本自带客户端)
题外话:自己编译固件的起因仅仅是因为想统一下颜色风格,编译出来还有一些小bug,所以就不放出固件了,紫色系的风格看着很养眼,感谢开发固件和插件的大佬们!
18/10/2020更新:固件测试完毕,点这里查看说明