macos qemu tap 无法 ping 桥接 ip 地址?

macos qemu tap 无法 ping 桥接 ip 地址?

我想在 macos 上安装 qemu 并在 vm 中使用 tap 设备。以下是我的步骤。

  1. 安装 qemu

    brew install qemu

  2. 安装 tuntap,安装后,我可以在 /dev/tapX 中看到 tap 设备

    brew install tuntap

  3. 建立桥梁

    sudo ifconfig bridge0 create

  4. 在 bridge0 上配置 ip 地址

    sudo ifconfig bridge0 192.168.122.1/24

  5. sudo ifconfig bridge0 up

  6. 启动我的 qemu vm(即 centos),并登录到 vm,手动配置静态 ip 地址为 192.168.122.101/24,网关为 192.168.122.1。

    sudo qemu-system-x86_64 -m 2048 -vga virtio -show-cursor -usb -device usb-tablet -drive file=centos-temp.qcow2,if=virtio -accel hvf -cpu host -net nic -net tap,ifname=tap0,script=no,downscript=no

  7. vm启动后,我在ifconfig的输出中看到一个tap0,我将tap0添加到bridge0

    sudo ifconfig bridge0 addm tap0

但是,完成这些步骤后,我无法在我的虚拟机中 ping 通 192.168.122.1,也无法在我的 mac 主机中 ping 通 192.168.122.101。

我究竟做错了什么?

答案1

我也为此苦恼过。尝试使用 macports 版本的 qemu,而不是 homebrew 版本的。它包含使 tap 正常工作所需的补丁。

相关内容