问题现象:
创建两个虚拟机1,2

虚拟机名称

IP

MAC

Tap

1

192.168.0.13

Fa:16:3e:88:d4:44

tapcab815a8-ca

2

192.168.0.5

Fa:16:3e:2a:9f:86

tap81b52628-66

修改1的IP为192.168.0.100,在2上ping 192.168.0.100,结果如下:不通!

e5e184e8669e5d886e31102cfdd10c34.png

定位过程:

在1上抓包,如下:主机1可以收到arp请求,并且响应了arp reply

336c075be8609269a9283a2eb442e05e.png

云主机1所在的宿主机上抓取,通过tapcab815a8-ca 的arp和icmp报文:内容与主机1网卡上抓到的报文一致。如下:

ac01649cc58e95a9312517eff4f864dd.png

宿主机上抓取经过虚拟机2网卡对应的tap设备,如下图。由此可见,tap1(虚拟机1对应的tap设备)没有将arp响应转发到tap2

e0f9c933ab06e17434878fb44470499f.png-wh_


在2上增加静态arp,同时在1上抓包

c689b1355dba9c03d7a2028ccbfbc660.png

icmp request到达了1上,但是1没有2的arp,所以不能回复icmpreplay


在1上增加2的静态arp,再次ping

e81526def86ba6bf48c0fef8800c5b47.png

虚拟机1上回复了icmp reply.


实验结论:

修改1的IP地址后,2 ping 1,在1上可以抓到arp request,也回应arp reply。

但是2上不能收到arp reply,因此1对应的tap丢弃了arp。

2a67de77f290b94c43d6f9fce2b5ba38.png