首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用eth0和wlan0的万维网故障转移

问使用eth0和wlan0的万维网故障转移
EN

Ask Ubuntu用户
提问于 2014-05-14 09:23:14
回答 1查看 2.8K关注 0票数 0

我需要使用wifi连接到无线3G调制解调器和连接到adsl路由器的lan来创建故障转移。

当Adsl关闭时,它需要在wlan0上切换到3G。

我在网上尝试过很多脚本,但是没有什么效果,请把我需要的正确脚本发送给我。

PS:我需要检查主机,如www.google.com,故障转移将不会有任何用处,如果它只有在物理上断开了eth电缆之后才会失效。如果我拔掉路由器上的电话线,它一定会坏掉。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2014-05-14 09:56:51

运行nmcli con list以查找3G连接的UUID,然后运行sudoedit /usr/local/bin/inettest并复制如下内容:

代码语言:javascript
复制
#!/bin/bash

ping -I eth0 -q -c 2 8.8.4.4 > /dev/null 2>&1

if [ $? -ne 0 ]; then
    nmcli con down uuid 03e5a69a-2682-47df-a443-59cec06802aa
else
    nmcli con up uuid 03e5a69a-2682-47df-a443-59cec06802aa
fi

将上面的UUID替换为您的UUID(显然)并保存它。运行chmod +x /usr/local/bin/inettest使其可执行。

现在就测试这个。

  • 使用可工作的inettest连接运行eth0。
  • 然后中断eth0并再次运行它。
  • 把它修好再运行一次。

3G连接应该打开,然后再恢复。如果不是的话,剧本里就会有乱七八糟的东西。但假设所有操作都运行良好,我们可以通过运行crontab -e并在新行中添加以下内容,将其安排为每5分钟运行一次:

代码语言:javascript
复制
*/5 * * * *    /usr/local/bin/inettest

你可能需要更严格的解决方案。Cron只能按分钟调度,但您可以通过休眠来堆叠多个调用。此示例将每分钟运行两次:

代码语言:javascript
复制
* * * * *    /usr/local/bin/inettest & sleep 30; /usr/local/bin/inettest

我不认为你会想走得更紧。

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/465683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档