发送 ICMP ping 时排除接口

发送 ICMP ping 时排除接口

为了构建小型 Linux 应用程序,我需要检查系统的互联网连接。但我的盒子有多个网络接口,可用于备份互联网连接。我需要根据主网络连接丢失连接来执行一些任务。

我曾经使用 -i 和 ping 命令来选择接口

ping -I eth0 x.x.x.x 

但使用这种方法我必须提到我的应用程序上的所有可用接口。除了这样做之外还有什么方法可以做这样的事情

ping -I !bkp0 x.x.x.x 

基本上我需要检查除备份链路之外的所有链路的连接性

答案1

你只需要一个工作就可以称其为“好”吗?如果您需要检查除一个接口之外的所有接口的连接性,并且您知道接口的名称,则可以编写脚本:

for i in `ip -br link | cut -d" " -f1`
do
  if [ ${i} != "bkp0" ]
    then
      ping -c 1 -I ${i} so.me.add.ress
  fi
done

相关内容