微雪SIM7600 CE 4G网卡 linux ubuntu11 主网卡eth0和副网4G usb0,优先主网卡eth0,备用usb0网络,当主网卡断网后自动切换为usb0 4G网络

1.先修改网络配置文件 : interfaces

#网络文件目录,不同的系统存放在不同的位置
/etc/network/
​
#编辑文件
sudo nano /etc/network/interfaces

interfaces文件

auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.90
gateway 192.168.0.31
netmask 255.255.248.0
dns-nameservers 8.8.8.8
metric 10
allow-hotplug usb0
iface usb0 inet static
address 192.168.225.46
gateway 192.168.225.1
netmask 255.255.248.0
dns-nameservers 8.8.8.8
metric 20

2.添加定时脚本(脚本文件在第6):check_network.sh

#定时脚本存放位置
/etc/network/
​
#编辑定时任务脚本
sudo nano /etc/network/check_network.sh 
#赋予该目录权限,防止权限不足
sudo chmod -R 777 /etc/network/
sudo chmod -R 777 /etc/systemd/system/
​
#赋予权限
sudo chmod +x /etc/network/check_network.sh

3.将定时脚本做成服务(服务文件在第7):check_network.service

#存放位置
/etc/systemd/system/
​
#编辑定时任务
sudo nano /etc/systemd/system/check_network.service
​
#赋予权限
sudo chmod +x /etc/systemd/system/check_network.service
​
#启动定时服务
sudo systemctl start check_network.service
#在系统启动
sudo systemctl enable check_network.service
#服务运行状态
systemctl status check_network.service

4.查看使用的当前网卡

sudo ip route get 8.8.8.8 | awk '{print $5; exit}'
sudo ip route show default | grep via

5.删除定时任务操作(!!!!)

#停止服务并禁用自动启动:
sudo systemctl stop check_network.service
sudo systemctl disable check_network.service
#删除服务文件:
sudo rm /etc/systemd/system/check_network.service
#重新加载systemd守护进程:
sudo systemctl daemon-reload

6.check_network.sh文件

#!/bin/bash
​
# 设置检测间隔时间(单位:秒)
interval=30
​
while true; do
  # 检测eth0是否可以ping通百度的域名
  if ping -c 1 -W 1 -I eth0 www.baidu.com > /dev/null; then
    echo "默认使用eth0网络,eth0网络正常"
  # 删除默认路由
    sudo ip route del default via 192.168.225.1 dev usb0
​
  else
    echo "eth0网络中断,准备切换为usb0网络"
    # 执行dhclient命令获取usb0网络的IP地址
    sudo dhclient -v usb0
​
    # 删除默认路由
    # sudo ip route del default via 192.168.225.1 dev usb0
​
    # 检测usb0是否可以ping通百度的域名
    if ping -c 1 -W 1 -I usb0 www.baidu.com > /dev/null; then
      echo "usb0网络正常"
    else
      echo "usb0网络中断,无法连接互联网"
    fi
  fi
​
  # 等待一段时间后再次检测
  sleep $interval
done #>> /var/log/network.log

7.定时任务

[Unit]
Description=Check network status and switch to usb0 if eth0 is down
After=network.target
​
[Service]
Type=simple
ExecStart=/etc/network/check_network.sh
Restart=always
​
[Install]
WantedBy=multi-user.target

8.查看日志命令

sudo nano /var/log/network.log
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值