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)&

 

转载于:https://www.cnblogs.com/roostinghawk/p/10607443.html

可以通过QProcess调用命令行工具来实现控制route路由表。具体实现方法如下: 1. 首先需要了解一下route命令的用法,可以在终端中输入"man route"命令来查看路由表相关命令的具体用法。 2. 然后,在Qt中使用QProcess调用route命令。例如,使用以下代码来添加一个默认路由: ``` QProcess process; process.start("route", QStringList() << "add" << "default" << "gw" << "192.168.1.1"); process.waitForFinished(); ``` 其中,第一个参数是要执行的命令,第二个参数是命令的参数列表。waitForFinished()函数是等待命令执行完成。 3. 在使用QProcess调用route命令时,需要注意一些权限问题。如果当前用户没有足够的权限来执行route命令,可以使用sudo命令来提升权限。例如: ``` QProcess process; process.start("sudo", QStringList() << "route" << "add" << "default" << "gw" << "192.168.1.1"); process.waitForFinished(); ``` 4. 实现4G有线网络可以同时上传数据的具体方法就是在路由表中添加两个默认路由,一个指向4G网关,一个指向有线网关。例如: ``` QProcess process; process.start("sudo", QStringList() << "route" << "add" << "default" << "gw" << "192.168.1.1"); process.waitForFinished(); process.start("sudo", QStringList() << "route" << "add" << "default" << "gw" << "192.168.1.2"); process.waitForFinished(); ``` 其中,"192.168.1.1"是4G网关的IP地址,"192.168.1.2"是有线网关的IP地址。 注意:在实际应用中,需要根据具体的网络环境和配置来确定路由表的设置。同时,需要考虑到路由表的优先级问题,确保数据能够正确地通过指定的网关进行上传。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值