我在 archlinux 上建立了一個帶有橋接介面(使用橋接助理)的虛擬機器(ppc)。機器可以發送資料包,但無法接收任何內容。我可以看到封包(dhcp 發現、請求和/或 arp,當靜態 IP 設定時)運行到具有wireshark 的主機。
我正在使用命令運行機器:
qemu-system-ppc -hda debian_ppc.rawdisk -nographic -net nic -net bridge,br=br0
我還有一台 Windows 機器在 virtualbox 中運行,使用相同的網橋,並且工作正常。
橋的cfg,我用br0當qemu機器,eno1是psychical
$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
哪裡可能有問題?幾個月前我就成功地使用了它並且效果很好。非常感謝您的回答!