最近项目有个需求,把移动服务器设备(Ubuntu14.04)安装4G模块,但如果连接有线时,可以自动切换到有线,以降低移动流量带来的费用。
以下是我实现的方法(经过一番痛苦的摸索)
1. 脚本/opt/AutoStartWiredNetwork.sh
#!/bin/bash
#设置访问博客园网关的route为有线网络的网关192.168.40.1
ip route add 42.121.252.0/24 via 192.168.40.1
#探测博客园是否可以访问,如果是,则将路由设置为有线网卡路由,否则,删除此网关(系统会自动使用移动网关)
curl --interface eth0 -m 3 -R 3 -D- -o /dev/null -s cnblogs.com
if [[ $? == 0 ]]; then
/sbin/route add -net 0.0.0.0/0 netmask 0.0.0.0 gw 192.168.40.1
else
/sbin/route del -net 0.0.0.0/0 netmask 0.0.0.0 gw 192.168.40.1
fi
2. 添加定时任务 sudo crontab -e
在最后添加一行 (每分钟执行一次脚本)
*/1 * * * * /opt/AutoStartWiredNetwork.sh
-------
3. 启动文件编辑
sudo gedit /etc/rc.local
# 添加默认路由
route add -net 0.0.0.0/0 netmask 0.0.0.0 gw 192.168.40.1 &
# 自动启动移动网络
(while :; do nmcli -t nm wwan on; sleep 1; done)&
标签:网关,有线,0.0,route,40.1,192.168,切换,4G
来源: https://www.cnblogs.com/roostinghawk/p/10607443.html