パケットはどのパスを通っていますか?

パケットはどのパスを通っていますか?

VirtualBox でホストオンリーネットワークを設定しました。

Windows ホスト:

VirtualBox Host-Only Network
 IPv4 Address. . . . . . . . . . . : 192.168.56.1

Wireless LAN Adapter Wireless Network Connection 2
  IPv4 Address. . . . . . . . . . . : 172.19.156.59
  Subnet Mask . . . . . . . . . . . : 255.255.255.0
  Default Gateway . . . . . . . . . : 172.19.156.1

CentOS VM:

eth0      Link encap:Ethernet  HWaddr 08:00:27:AF:A3:28  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:feaf:a328/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:381 errors:0 dropped:0 overruns:0 frame:0
          TX packets:423 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:56181 (54.8 KiB)  TX bytes:50846 (49.6 KiB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:C4:A8:B6  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fec4:a8b6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8984 errors:0 dropped:0 overruns:0 frame:0
          TX packets:162 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1155253 (1.1 MiB)  TX bytes:31231 (30.4 KiB)

eth2      Link encap:Ethernet  HWaddr 08:00:27:DB:B6:AB  
          inet addr:10.0.4.15  Bcast:10.0.4.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fedb:b6ab/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:220 errors:0 dropped:0 overruns:0 frame:0
          TX packets:487 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:87762 (85.7 KiB)  TX bytes:37818 (36.9 KiB)

CentOS VM でインターネットに接続するときに、パケットが google.com に到達するためにどのパスを通るかを確認したいのですが、Windows ホストのデフォルト ゲートウェイに ping を実行できます。私の主な関心は、パケットがそこに到達する方法を確認することです。

[root@localhost network-scripts]# traceroute -I 172.19.156.1
traceroute to 172.19.156.1 (172.19.156.1), 30 hops max, 60 byte packets
 1  172.19.156.1 (172.19.156.1)  1.182 ms  3.395 ms  0.825 ms
[root@localhost network-scripts]# traceroute -T 172.19.156.1
traceroute to 172.19.156.1 (172.19.156.1), 30 hops max, 60 byte packets
 1  172.19.156.1 (172.19.156.1)  14.336 ms  13.957 ms  19.046 ms
[root@localhost network-scripts]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
10.0.2.0        *               255.255.255.0   U     0      0        0 eth0
10.0.4.0        *               255.255.255.0   U     0      0        0 eth2
link-local      *               255.255.0.0     U     1002   0        0 eth0
link-local      *               255.255.0.0     U     1003   0        0 eth1
link-local      *               255.255.0.0     U     1004   0        0 eth2
192.168.56.0    *               255.255.255.0   U     0      0        0 eth1

UDP 経由のデフォルトの traceroute として -I および -T ハンドルを使用しましたが、* 上記の出力は、パケットが 10.0.2.2 から 172.19.156.1 に直接送信されることを意味しますか?

また、traceroute -T 172.16.156.59 (Windows ホスト) を実行しようとすると、複数の * が表示されます。

答え1

VirtualBox マニュアルNAT ネットワークについては次のように述べています。

ゲスト オペレーティング システムによって送信されたネットワーク フレームは、VirtualBox の NAT エンジンによって受信され、TCP/IP データが抽出されて、ホスト オペレーティング システムを使用して再送信されます。ホスト上のアプリケーション、またはホストと同じネットワーク上の別のコンピューターにとっては、データはホストに属する IP アドレスを使用してホスト上の VirtualBox アプリケーションによって送信されたように見えます。

したがって、NAT インターフェイスを通過する VM からの traceroute は、ホスト上で実行される traceroute と同じゲートウェイ セットを報告すると考えられます。つまり、traceroute では、VirtualBox NAT ゲートウェイも、ホストからトラフィックを送信するために使用されるホスト上のインターフェイスもリストされません。

関連情報