Debian 10を実行し、QEMUを使用してOpenBSD 6.7ゲスト(amd64)を実行するホストがあります。現在のQEMUへの呼び出しは次のとおりです。
$ qemu-system-x86_64 -m 512 -drive if=virtio,file=my_image.qcow2 -enable-kvm -netdev user,id=mynet0,hostfwd=tcp:127.0.0.1:7922-:22 -device virtio-net,netdev=mynet0
ゲストコンピュータはリモートSubversionサーバーとOpenBSDパッケージストアにうまくアクセスできますが、リモートホストへのpingを試みるたびにリモートホストをシャットダウンするまで無期限に停止します。
$ ping google.com
^C
--- google.com ping statistics ---
4 packets transmitted, 0 packets received, 100.0% packet loss
また、(クライアントコンピュータ上)一般的なCソケットプログラミングに関連する課題があります。私が電話するたびにconnect
私はNetwork is unreachable
戻ってきます。
これは私が設定したインターフェイスです。旅客機:
$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
index 3 priority 0 llprio 3
groups: lo
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000
vio0: flags=808843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF4> mtu 1500
lladdr 52:54:00:12:34:56
index 1 priority 0 llprio 3
groups: egress
media: Ethernet autoselect
status: active
inet 10.0.2.15 netmask 0xffffff00 broadcast 10.0.2.255
enc0: flags=0<>
index 2 priority 0 llprio 3
groups: enc
status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33136
index 4 priority 0 llprio 3
groups: pflog
そして私の道(また旅客機):
$ route show
Routing tables
Internet:
Destination Gateway Flags Refs Use Mtu Prio Iface
default 10.0.2.2 UGS 5 9 - 8 vio0
base-address.mcast localhost URS 0 0 32768 8 lo0
10.0.2/24 10.0.2.15 UCn 2 0 - 4 vio0
10.0.2.2 52:55:0a:00:02:02 UHLch 3 5 - 3 vio0
10.0.2.3 52:55:0a:00:02:03 UHLc 0 8 - 3 vio0
10.0.2.15 52:54:00:12:34:56 UHLl 0 8 - 1 vio0
10.0.2.255 10.0.2.15 UHb 0 0 - 1 vio0
127/8 localhost UGRS 0 0 32768 8 lo0
localhost localhost UHhl 1 2 32768 1 lo0
Internet6:
Destination Gateway Flags Refs Use Mtu Prio Iface
::/96 localhost UGRS 0 0 32768 8 lo0
localhost localhost UHhl 10 20 32768 1 lo0
::ffff:0.0.0.0/96 localhost UGRS 0 0 32768 8 lo0
2002::/24 localhost UGRS 0 0 32768 8 lo0
2002:7f00::/24 localhost UGRS 0 0 32768 8 lo0
2002:e000::/20 localhost UGRS 0 0 32768 8 lo0
2002:ff00::/24 localhost UGRS 0 0 32768 8 lo0
fe80::/10 localhost UGRS 0 0 32768 8 lo0
fec0::/10 localhost UGRS 0 0 32768 8 lo0
fe80::1%lo0 fe80::1%lo0 UHl 0 0 32768 1 lo0
ff01::/16 localhost UGRS 1 1 32768 8 lo0
ff01::%lo0/32 fe80::1%lo0 Um 0 1 32768 4 lo0
ff02::/16 localhost UGRS 1 1 32768 8 lo0
ff02::%lo0/32 fe80::1%lo0 Um 0 1 32768 4 lo0
これは私のQEMU設定が何らかの方法で誤って設定されたと信じていました。
ゲストコンピュータが外部の世界と(正しく)通信できるようにネットワーク構成をどのように変更しますか?
ベストアンサー1
TCPとUDPはうまく機能しているようですが、-netdev user
ICMPはそうではありません。tcpdump
ICMPパケットが正しく転送および/または変換されていることを確認するには、ホストインターフェイスで実行してみてください。
ホスト上でどのように機能するかはわかりませんが、ゲストコンピュータがネットワーク-netdev user
の適切なメンバーのように動作するようにするには、ホストtap
の物理インターフェイスに接続するインターフェイスをホストに作成できます(両方ともroot
アクセスが必要です)。 )、そうであれば使用する方が-netdev tap
良い選択になります。