如何使用 QEMU 获得与 VirtualBox 相同的网络

如何使用 QEMU 获得与 VirtualBox 相同的网络

我有 2 台虚拟机 Debian 9.4:其中一台通过 VirtualBox 运行;另一个通过 QEMU 工作。我在我的工作站上配置了一个桥,如下所示:

ip tuntap add dev tap0 mode tap group 1000
ip link set dev tap0 up promisc on
ip addr add 0.0.0.0 dev tap0

#Creating bridge br0 
ip link add br0 type bridge
ip link set br0 up
ip link set tap0 master br0
echo "0" | tee --append /sys/class/net/br0/bridge/stp_state
ip addr add 192.168.2.1/24 dev br0

sysctl net.ipv4.conf.tap0.proxy_arp=1
sysctl net.ipv4.conf.enp6s0.proxy_arp=1
sysctl net.ipv4.ip_forward=1

iptables -t nat -A POSTROUTING -o enp6s0 -j MASQUERADE
iptables -A FORWARD -i br0 -o enp6s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i enp6s0 -o br0 -j ACCEPT

在 VirtualBox 网络配置面板中,我将 tap0 作为网桥。 VM 可以在 WEB 上运行,更新系统,接收与 ssh 的连接以及我期望的平均操作,安装不带 PB 的 npm 包作为示例:npm install color

我使用以下命令启动的 QEMU 虚拟机出现问题:

qemu-system-x86_64 -hda Debian9_amd64_stretch_fr.qcow2 -m 1024 -device e1000,netdev=network0,mac=52:55:00:d1:55:01 -netdev tap,id=network0,ifname=tap0,script=no,downscript=no

有了这个虚拟机,我可以上网,更新系统,在虚拟机上接收 ssh 连接,但我无法执行我期望的平均操作,安装 npm 包。我收到此错误消息:

npm ERR! Invalid argument: family must be 4 or 6

你应该知道我之前经过很多次才知道有网络问题所以不是来自npm。与这两个 VM 软件的比较告诉我结果在哪里。

谢谢

相关内容