我正在尝试在我的 Wi-Fi 连接和模拟器 ( QEMU )之间设置一座桥。我需要一个虚拟机与主机在同一个 LAN 上,并有自己的 IP 地址。
QEMU 需要使用 TAP(虚拟网络设备),所以我已经安装了tuntaposx,让它运行,并且可以使用 TAP 打开 QEMU:
qemu-system-arm -kernel zImage.integrator -initrd arm_root.img -m 256 -net nic -net tap,ifname=tap1 -nographic -append "console=ttyAMA0"
Run Code Online (Sandbox Code Playgroud)
一旦 QEMU 打开了 TAP 接口,我就有一个脚本来配置网桥:
sysctl -w net.link.ether.inet.proxyall=1
sysctl -w net.inet.ip.forwarding=1
sysctl -w net.inet.ip.fw.enable=1
ifconfig bridge0 create
ifconfig bridge0 addm en1
ifconfig tap1 0.0.0.0 up
ifconfig bridge0 addm tap1
ifconfig bridge0 up
Run Code Online (Sandbox Code Playgroud)
如果我在虚拟机上手动设置IP,我可以从虚拟机ping 主机,但不能从主机到虚拟机。此外,我无法从 VM 访问网络的其余部分 - 包括无法通过 DHCP 设置 IP。
有任何想法吗?