我想在 macos 上安装 qemu 并在 vm 中使用 tap 设备。以下是我的步骤。
安装 qemu
brew install qemu
安装 tuntap,安装后,我可以在 /dev/tapX 中看到 tap 设备
brew install tuntap
建立桥梁
sudo ifconfig bridge0 create
在 bridge0 上配置 ip 地址
sudo ifconfig bridge0 192.168.122.1/24
sudo ifconfig bridge0 up
启动我的 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
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 正常工作所需的补丁。