KVM 中的奇怪桥接问题

KVM 中的奇怪桥接问题

在 Centos 6.5 上我有一座桥网络连接到 eth4 和我的虚拟机(Centos6.5) 在 KVM 上运行也连接到该接口 (vnet0)

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

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

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% 数据包丢失,时间 3001ms 管道 3

对我来说很奇怪 tcpdump -n icmp什么都没显示!!

造成这种行为的原因可能是什么,即使有什么东西阻塞了,为什么 tcpdump 甚至没有在 tcpdump 中显示 ICMP 请求。

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

答案1

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

tcpdump -n arp 

如果你只看到ARP,请求谁有并且没有回复,那么您的网络还有其他问题,请修复它,现在要在 tcpdump 中查看 ICMP,请尝试编辑 arp 缓存,使用

arp -s IP MAC 

并验证

arp -a 

这不会解决你的网络问题,但它可能会在 tcpdump 中显示 ICMP

相关内容