运行脚本检查 Sturtup 的网络连接

运行脚本检查 Sturtup 的网络连接

我在 hyper-v 上运行着一台运行 Ubuntu 20.04 LTS 的虚拟机,它连接到两个网卡,一个是外部网卡(eth0),一个是内部网卡(eth1),因为我将通过多个网络(主要是家庭和大学)进行连接,我希望虚拟机在 sturtup 运行一个脚本来检查 eth0 上是否有网络连接,如果没有,则禁用 eth1,否则禁用 eth0

这是我写的脚本

#!/bin/bash

ifconfig eth0 up
ifconfig eth1 up
r=0
for i in {1..10}
do
    ping -c 1 192.168.1.1 > /dev/null
    if [ $? -eq 0 ];
    then
        r=1
        break
    fi
done
if [ $r -eq 1 ];
then
    echo "eth0 is up"
    echo "disabling internal network"
    ifconfig eth1 down
else
    echo "eth0 is down"
    echo "disabling external network"
    ifconfig eth0 down
fi

它能工作,但似乎没有达到我想要的效果。
事实上,如果我运行 ping 到 192.168.1.1,它会得到响应,但脚本会禁用 eth0。
该脚本设置为在启动时使用此 systemd 单元运行

[Unit]
After=network.service

[Service]
ExecStart=/usr/local/bin/network-check.sh

[Install]
WantedBy=default.target

EDIT1更新脚本

相关内容