在 Windows 上使用 Tap 界面时 Qemu VM 会冻结

在 Windows 上使用 Tap 界面时 Qemu VM 会冻结

当我尝试使用 TAP 接口连接 qemu 时,虚拟机会冻结,不知道为什么。但是使用-netdev user它不会冻结,但根本无法连接到虚拟机。

我测试了使用情况ESXi,发现使用界面Centos 7时两个虚拟机都会冻结。虚拟机启动正常,但重新启动时虚拟机会冻结,无法恢复。使用界面时加载时会冻结。TapCentos 7eth0ESXiTap

Qemu我使用 openVPN 在 Windows 10 上创建了一个 Tap 接口,将该接口重命名为 Ethernet7,并在运行VM时使用了以下命令。

-netdev tap,ifname=Ethernet7,script=no,downscript=no,id=hostnet0 -device e1000,netdev=hostnet0,id=net0,mac=DE:AD:BE:EF:16:B6

我从 qemu.org 下载了最新的 Windows 版本的 Qemu

答案1

更新:由于 Windows 10 Tap 接口使用的是旧的 2014 驱动程序,因此 TAP 接口无法正常工作。我创建了一个新接口(使用hdwwiz.exe),并且可以选择 2019 驱动程序而不是旧驱动程序。TAP 接口工作正常,不会冻结 VM。

User mode如果您不需要 TAP 接口,网络也可以正常工作。

qemu-system-x86_64 -boot d -hda centos.img -m 2048 -smp cpus=2,cores=2 -netdev user,id=n1,hostfwd=tcp::2222-:22 -device e1000,netdev=n1

Centos我必须运行命令,dhclient eth0因为它不会自动分配 dhcp IP。运行命令后,VM 获取 IP 地址,10.0.2.15然后我可以使用 SSH 连接到它ssh -p 2222 root@localhost

User mode对于 ESXi,我必须在 ESXi 设置中启用 SSHD 并使用 localhost 进行连接。ICMP 在网络中对两者都不起作用。

qemu-system-x86_64 -boot d -hda esxi.img -m 4096 -cpu Westmere -machine q35 -smp cpus=2,cores=2 -accel tcg -netdev user,id=n1,hostfwd=tcp::2223-:22,hostfwd=tcp::9443-:443,hostfwd=tcp::8085-:80 -device e1000,netdev=n1

相关内容