QEMU ユーザーモードネットワークを使用すると Ping が機能しない

QEMU ユーザーモードネットワークを使用すると Ping が機能しない

ゲスト システムでネットワークを使用しようとしています。仮想マシンに OS をインストールしましたが、ネットワークが構成されていません。たとえば google.com に ping を実行しようとすると、ドメインの IP アドレスは取得されますが、パケットは送信されません。いくつかのゲスト OS を試しましたが、動作は同じなので、qemu 自体またはホスト OS に問題があると思われます。

ゲスト システムを実行するために 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 varietypb -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 フラグを使用していますが、試しましたか?

関連情報