linux系统中配置lo:0一个IP后(该IP和eth0在同一个网段),其他电脑就无法ping通该主
发布时间:2020-04-05 10:36:32
来源:51CTO
阅读:381
作者:IT小柏克
另外个电脑ping这个台电脑,从此就ping不通这个电脑了。没有设置之前是可以正常相互ping通的。另外还发现虽然外面无法ping这台电脑,但是这台电脑可以正常ping外面的电脑
通过抓包进行简单的分析
没有lo:0的情况下,电脑A ping linux的eth0时, 首先发arp包,eth0应答arp包,告诉电脑A(自己的eth0的mac地址)
电脑A知道linux eth0的mac地址后,封装并发送icmp request包,linux eth0收到icmp request包后应答 icmp reply
至此 一个成功的ping过程结束
有lo:0的情况下,电脑A仍然首先发arp包,但此时linux eth0收到arp包,并没有进行应答,也就是说没有告诉
电脑A 自己eth0的mac地址是多少。 电脑A将无法封包发送icmp request包
至于linux 为什么没有应答arp包,我觉得应该是linux 内核判断有2个同一网段的接口,不知道从哪个接口进行应答,
丢弃了arp 请求包。
linux 能ping通 外面电脑的IP,其实都是假象,试了一下 ping 一个外面电脑没有使用的IP 但和lo:0 同一网段的任意IP,会发现都能ping 通
综上所述
在回环网卡上设置IP时不要和真实物理接口的IP在同一个网段 掩码不一样也是不在一个网段 这样就能使用 回环网卡的IP和真实接口的IP地址了