我静态configuration了服务器上的一个接口的IP地址:
ip addr add 10.40.0.6/16 broadcast 10.40.255.255 dev eth1
如果我尝试pingnetworking上的一台机器(例如,10.40.0.1),则会失败,并显示“Destination Host Unreachable”。
当ping正在运行时,如果我执行以下操作,则根本没有看到任何活动
tcpdump -i eth1 icmp
但是,如果我在回送接口上监听:
tcpdump -i lo icmp
然后我看到像这样的东西:
16:02:57.369632 IP 10.40.0.6 > 10.40.0.6: ICMP host 10.40.0.1 unreachable, length 92
我的问题是:为什么ICMP数据包不能通过eth1接口出现?
编辑:
# ip r ls 10.40.0.0/16 dev eth1 proto kernel scope link src 10.40.0.6
如果你正在ping一个不存在的主机,那么ARP广播就会失败。 Tcpdump永远不会看到icmp,因为eth1不会发送没有第2层目的地的单播IP包。
尝试这个:
tcpdump -i eth1 arp
您应该看到ARPparsing失败。