小编Ken*_*eth的帖子

Linux 网桥 (brctl) 正在丢弃数据包

我已经研究这个问题几天了,还没有找到答案。您的帮助将不胜感激!

我在物理服务器上运行了一些 VM(虚拟机)。服务器使用 Linux 网桥 (br100) 将这些 VM 连接在一起:

# brctl show
bridge name     bridge id               STP enabled     interfaces
br100           8000.984be15fe7e3       no              eth1.1729
                                                        vnet0
                                                        vnet1
Run Code Online (Sandbox Code Playgroud)

vnet0 和 vnet1 是 VM 的虚拟 NIC。

br100(物理服务器)分配给 IP 172.16.0.11。连接到 vnet1 的 VM 分配到 172.16.0.3,连接到 vnet0 的 VM 是 172.16.0.5。

到现在为止还挺好。172.16.0.3 可以 ping 172.16.0.5 没有问题。

现在我正在尝试将 172.16.0.3 设置为连接到子网 10.8.0.0/16 的路由器(如果这很重要,则为 openvpn 服务器)。

我的问题来了:10.8.0.0/16(在本例中为 10.8.0.6)中的机器可以 ping 172.16.0.3,但无法 ping 172.16.0.5。

(我认为)我已经排除了所有明显的原因:ip_forward 开启、iptables 刷新等。现在我将原因缩小到:br100 没有按照它应该的方式转发数据包!

当我从 10.8.0.6 ping 172.16.0.5 时,数据包被传送到物理服务器上的 vnet1(VM 172.16.0.3):

# tcpdump -leni vnet1 icmp
tcpdump: …
Run Code Online (Sandbox Code Playgroud)

linux bridge packet dropped

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

bridge ×1

dropped ×1

linux ×1

packet ×1