我在尝试调试OpenStack 的网络问题。我正在虚拟机之间进行 ping 测试。如果我在运行 nova-network 的节点的桥接接口上执行“tcpdump”,ICMP 请求数据包才会到达目标主机,该节点会转发数据包。如果我停止在该接口上执行 tcpdump,我就看不到请求到达主机了。
一般来说,在 Linux 桥接接口上执行 tcpdump 会如何/为什么影响数据包是否被转发?
答案1
一般来说,在 Linux 桥接接口上执行 tcpdump 会如何/为什么影响数据包是否被转发?
桥接软件是否期望接口处于混杂模式,以便允许它接收发送到其他机器的单播数据包?如果是这样,那么它可能有错误,因此它要么没有打开混杂模式,要么没有成功打开混杂模式,而默认情况下打开混杂模式的 tcpdump 可以绕过这个错误。
答案2
检查您的系统上的转发配置是否正确。
在 Linux 中,这通常涉及设置 sysctl 选项net.ipv4.ip_forward
或net.ipv4.conf.<interface>.forwarding
。