KVM中奇怪的桥梁问题

在Centos 6.5上,我有一个连接到eth4的桥接networking ,我在KVM上运行的虚拟机( Centos6.5 )也连接到了这个接口(vnet0)

bridge name bridge id STP enabled interfaces network 8000.588d090ee15e no eth4 vnet0 

VM的IP地址为10.99.9.10,在eth2上主机地址为10.99.9.2

VM可以在外部进行通信,并且可以从其他主机访问,但不能从其运行的主机访问

从虚拟机ping 不同的主机 (10.99.9.3),它工作得很好tcpdump显示

ping 10.99.9.3 -c 3

tcpdump -n icmp

 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 02:06:52.701448 IP 10.99.9.10 > 10.99.9.3: ICMP echo request, id 44807, seq 1, length 64 02:06:52.701896 IP 10.99.9.3 > 10.99.9.10: ICMP echo reply, id 44807, seq 1, length 64 02:06:53.701434 IP 10.99.9.10 > 10.99.9.3: ICMP echo request, id 44807, seq 2, length 64 02:06:53.701904 IP 10.99.9.3 > 10.99.9.10: ICMP echo reply, id 44807, seq 2, length 64 02:06:54.701117 IP 10.99.9.10 > 10.99.9.3: ICMP echo request, id 44807, seq 3, length 64 02:06:54.701489 IP 10.99.9.3 > 10.99.9.10: ICMP echo reply, id 44807, seq 3, length 64 

但是,如果我ping相同的主机 10.99.9.2

ping 10.99.9.2 -c 3

PING 10.99.9.2(10.99.9.2)56(84)字节的数据。

从10.99.9.10 icmp_seq = 1目标主机不可访问

从10.99.9.10 icmp_seq = 2目标主机不可访问

从10.99.9.10 icmp_seq = 3目标主机不可访问

— 10.99.9.2 ping统计—发送3个数据包,接收0个数据,发现+3个错误,数据包丢失100%,时间3001mspipe道3

对我来说,奇怪的是,tcpdump -n icmp 什么也没有显示!

什么可能是这种行为的原因,即使有什么东西阻止为什么tcpdump不显示甚至在tcpdump的ICMP请求。

我只在虚拟机内部有一个接口,只在可用的接口eth0上执行tcpdump

这是因为你的ARP可能没有获得主机的MAC地址,因为你只在tcpdump中过滤ICMP,它不会显示ARP查找,删除ICMP并尝试

 tcpdump -n arp 

如果你只看到ARP,请求who-has和没有答复,那么你的networking有一些其他的问题,并修复,现在看到tcpdump中的ICMP尝试编辑arpcaching,使用

 arp -s IP MAC 

并通过validation

 arp -a 

这不会解决您的networking问题,但它可能会在tcpdump中显示ICMP