Debian Buster ホストでの OpenBSD 6.7 ゲスト用の QEMU ネットワーキングの設定

Debian Buster ホストでの OpenBSD 6.7 ゲスト用の QEMU ネットワーキングの設定

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 userICMPはそうではありません。tcpdumpICMPパケットが正しく転送および/または変換されていることを確認するには、ホストインターフェイスで実行してみてください。

ホスト上でどのように機能するかはわかりませんが、ゲストコンピュータがネットワーク-netdev userの適切なメンバーのように動作するようにするには、ホストtapの物理インターフェイスに接続するインターフェイスをホストに作成できます(両方ともrootアクセスが必要です)。 )、そうであれば使用する方が-netdev tap良い選択になります。

おすすめ記事