当前位置: 技术问答>linux和unix
linux系统中配置lo:0一个IP后(该IP和eth0在同一个网段),其他电脑就无法ping通该电脑了
来源: 互联网 发布时间:2017-05-20
本文导语: 如题,求大神解释。为什么在没有加 lo:0这个IP之前,其他电脑可以正常ping通,加了之后就不行 | 首先 对于楼主为什么要在lo:0上设置一个和eth0的IP同一网段的IP地址 表示疑惑。不知道楼主的目的是...
如题,求大神解释。为什么在没有加 lo:0这个IP之前,其他电脑可以正常ping通,加了之后就不行
|
首先 对于楼主为什么要在lo:0上设置一个和eth0的IP同一网段的IP地址 表示疑惑。不知道楼主的目的是什么。
然后对于楼主的问题简单试验了下,确实如楼主所说的结果。
原因的话,通过抓包进行简单的分析。
没有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 请求包。