我有一个 Linux 网桥,它的第一个接口是eth0.123
(VLAN 标记接口),并且有一个或多个tap interfaces
由 kvm 创建的接口。 (libvirt+kvm虚拟机)
[root@compute1 ~]# brctl show
bridge name bridge id STP enabled interfaces
brq732eb7f9-16 8000.002590c6438e no eth0.123
tap81474f06-29
tap81474f06-30
我注意到,当我尝试在 Tap 接口上 ping 绑定到虚拟机的 IP 时,它常常会间歇性地工作。有时,生成的第一个虚拟机可以工作,有时第二个虚拟机也可以工作。我通过设置解决了这个问题rp_filter=0
。
Question 1:
绅士在https://fvtool.wordpress.com/2013/04/19/install-kvm-on-centos-6-3-configure-networking-b/已经解释了类似的问题,但我无法理解为什么它第一次有效但不适用于其他点击接口。谁能解释一下为什么 rp_filter 会丢弃这些 ping 数据包?当ping
在这些机器上工作时,它们ssh
不起作用。很奇怪。
Question 2:
当我调试问题时,tcpdump
发现eth0
我收到了两个ICMP request/reply
数据包,但发送机器仍然报告 100% 数据包丢失。是否tcpdump
显示数据包,即使它们最终会被内核丢弃?