4G和有线网络的自动切换

最近项目有个需求,把移动服务器设备(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)&

 

posted @ 2019-03-27 14:44  栖息之鹰  阅读(2094)  评论(0编辑  收藏  举报