使用 QEMU 用户模式网络时 Ping 不起作用

使用 QEMU 用户模式网络时 Ping 不起作用

我尝试在客户系统中使用网络。我在虚拟机中安装了操作系统,但没有配置网络。当我尝试 ping 时,例如 google.com,我获得了域的 IP 地址,但数据包未传输。我尝试了几个客户操作系统,但它们的行为相同,所以我怀疑 qemu 本身或主机操作系统出了问题。

我尝试使用 kvm 和 qemu-system-i386 来运行客户系统。没有任何变化。

从主机系统执行 Ping 操作有效。与其他网络设施一样。

以下是我的主机系统的一些参数:

$ kvm -version
QEMU emulator version 2.0.0 (Debian 2.0.0+dfsg-6+b1), Copyright (c) 2003-2008 Fabrice Bellard
$ uname -a
Linux debian 3.14-1-amd64 #1 SMP Debian 3.14.12-1 (2014-07-11) x86_64 GNU/Linux

ping 操作如下:

$ ping google.com
PING google.com (173.194.69.100): 56 data bytes
^C
--- google.com ping statistics ---
44 packets transmitted, 0 packets received, 100.0% packet loss

此外,我注意到端口转发功能有效。如果我按如下方式启动虚拟机,我可以通过 ssh 连接到虚拟机:

kvm -m 512 -net nic,model=rtl8139 -net user,hostfwd=tcp::5555-:22 -drive cache=writeback,index=0,media=disk,file=hd0.img &

答案1

如果你在 qemu 中使用用户模式网络任何 ICMP 协议(​​例如 ping)不管用

使用以下方法验证您是否已连接到互联网:

curl www.google.com

或同等学历。

答案2

qemu-system-arm.exe -M versatilepb -cpu arm1176 -hda 2012-07-15-wheezy-raspbian.img -kernel kernel-qemu -m 192 -append "root=/dev/sda2" -redir tcp:2222::22

我使用 Qemu 在 Raspbian 模拟器上使用 redir 标志来访问互联网,你试过了吗?

相关内容