首先ping(到任何目的地)从交换机,但不是从路由器失败

我有一个基本的networking设置,只是做NAT到一个单一的公共地址到内部/ 24没有任何VLAN或花哨的路由。

我的路由器和交换机都运行Cisco IOS 12.x. 我的configuration是非常小的。 这是问题:

从路由器,我可以成功地ping本地networking或互联网上的任何设备没有任何损失。

但是,从交换机或连接到交换机的任何设备,第一个外部ping将总是失败。

有什么build议么?

以下是引起我好奇心的一些例子。

从这个networking上的Linux主机:

#ping -c 5 4.2.2.1 PING 4.2.2.1 (4.2.2.1) 56(84) bytes of data. 64 bytes from 4.2.2.1: icmp_seq=2 ttl=55 time=9.11 ms 64 bytes from 4.2.2.1: icmp_seq=3 ttl=55 time=10.1 ms 64 bytes from 4.2.2.1: icmp_seq=4 ttl=55 time=10.8 ms 64 bytes from 4.2.2.1: icmp_seq=5 ttl=55 time=9.80 ms --- 4.2.2.1 ping statistics --- 5 packets transmitted, 4 received, 20% packet loss, time 3998ms rtt min/avg/max/mdev = 9.115/9.981/10.831/0.625 ms 

从不在此networking上的Linux主机,不使用Cisco设备,而是使用类似的networking拓扑:

 #ping -c 5 4.2.2.1 PING 4.2.2.1 (4.2.2.1) 56(84) bytes of data. 64 bytes from 4.2.2.1: icmp_seq=1 ttl=59 time=6.16 ms 64 bytes from 4.2.2.1: icmp_seq=2 ttl=59 time=3.56 ms 64 bytes from 4.2.2.1: icmp_seq=3 ttl=59 time=5.45 ms 64 bytes from 4.2.2.1: icmp_seq=4 ttl=59 time=3.24 ms 64 bytes from 4.2.2.1: icmp_seq=5 ttl=59 time=4.22 ms --- 4.2.2.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 3999ms rtt min/avg/max/mdev = 3.242/4.529/6.160/1.115 ms 

由于主机发送ARP请求,第一个icmp数据包失败。 如果目的主机MAC已经在ARP地址中,则设备不发送该请求。