我正在开发一个系统,在这个系统中,远程SBC监视所有链接服务器的运行情况,并在观察到某些行为时发出故障报告。我在服务器"eth1“上有一个ip "10.0.3.16”和子网掩码"255.255.255.0“的接口。
如果我运行命令:
ip addr del 10.0.3.16/24 dev eth1
在服务器上,远程SBC似乎没有注意到任何问题。然而,如果我这样做了:
ip link set eth1 down
然后我得到了预期的结果。10.0.3.16是分配给eth1接口的唯一IP地址。我想了解这两个命令之间的区别,以及为什么不分配IP地址会产生与删除整个接口不同的结果。到目前为止,谷歌让我失望了,我似乎找不到任何相关的东西。
发布于 2021-07-19 15:15:55
ip addr del只是从接口中删除一个IP地址,即告诉系统不要使用该地址进行通信。您仍然可以在接口上使用另一个地址,可以是IPv4地址,也可以是IPv6地址(或多个地址)。就物理以太网链路而言,这是没有任何区别的,它只影响网络层。
另一方面,ip link set <iface> down会关闭物理层上的整个接口,这通常会使连接的设备看起来好像电缆被拔掉一样。您仍然可以配置IP地址,并且系统仍然可以使用它进行内部通信,或者接受来自其他接口的寻址到该IP地址的数据包。(除非您有设置来阻止这种情况。)
现在,至于为什么仅仅切断链接就会触发监视器,这完全取决于监视器被配置为监视什么。如果它只检查端口是否已打开,就只能从交换机上查看,那么它就会漏掉链接中的问题,但软件却没有响应(因为它崩溃了,或者因为您禁用了IP地址)。
据我们从您提供的信息中可以看出,IP地址10.0.3.16甚至可能没有用于任何重要的事情,也没有受到监视。系统可以有另一个地址或另一个VLAN来实际运行正在被监视的服务。
https://unix.stackexchange.com/questions/659041
复制相似问题