桥接的 qemu 机器无法接收数据包,这些数据包被丢弃

桥接的 qemu 机器无法接收数据包,这些数据包被丢弃

我在 archlinux 上创建了具有桥接接口(使用桥接助手)的虚拟机 (ppc)。机器可以发送数据包,但无法接收任何内容。我可以使用 wireshark 看到数据包(当设置了静态 IP 时,dhcp discover、request 和/或 arp)运行到主机。

我正在使用命令运行机器:

qemu-system-ppc -hda debian_ppc.rawdisk -nographic -net nic -net bridge,br=br0

我也有一台使用相同桥接器在虚拟机中运行的 Windows 机器,并且运行正常。

桥的配置,我使用 br0 作为 qemu 机器,eno1 是心理的

$brctl show
bridge name bridge id       STP enabled interfaces
br0     8000.f0921cee9976   no      eno1
                        tap0
winbr       8000.0050b60c205c   no      enp0s20u6

ebtables 的输出:

$ ebtables -L
Bridge table: filter

Bridge chain: INPUT, entries: 0, policy: ACCEPT

Bridge chain: FORWARD, entries: 0, policy: ACCEPT

Bridge chain: OUTPUT, entries: 0, policy: ACCEPT

$ ebtables -t broute -L
Bridge table: broute

Bridge chain: BROUTING, entries: 0, policy: ACCEPT

最后,输出netstat -i(您可以看到 tap0 上丢弃了大量数据包)。

Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
br0       1500    89009      0   1572 0         26228      0      0      0 BMPRU
eno1      1500   110239      0    472 0         37831      0      0      0 BMPRU
enp0s20u  1500        0      0      0 0             0      0      0      0 BMU
lo       65536    82788      0      0 0         82788      0      0      0 LRU
tap0      1500       92      0      0 0             1      0  54759      0 BMPRU
winbr     1500        0      0      0 0             0      0      0      0 BMU

如需完整信息,还可输出brctl showstp br0

br0
 bridge id      8000.f0921cee9976
 designated root    8000.f0921cee9976
 root port         0            path cost          0
 max age          19.99         bridge max age        19.99
 hello time        1.99         bridge hello time      1.99
 forward delay        14.99         bridge forward delay      14.99
 ageing time         299.99

hello 计时器 0.00 tcn 计时器 0.00 拓扑变化计时器 0.00 gc 计时器 1.19 标志

eno1 (1)
 port id        8001            state                forwarding
 designated root    8000.f0921cee9976   path cost          4
 designated bridge  8000.f0921cee9976   message age timer      0.00
 designated port    8001            forward delay timer    0.00
 designated cost       0            hold timer         0.00
 flags          

tap0 (2)
 port id        8002            state               forwarding
 designated root    8000.f0921cee9976   path cost        100
 designated bridge  8000.f0921cee9976   message age timer      0.00
 designated port    8002            forward delay timer    0.00
 designated cost       0            hold timer         0.00
 flags          

问题可能出在哪里?几个月前我成功使用了它,它运行正常。非常感谢您的回答!

相关内容