VirtualBoxのネットワーク設定で、
気になる、「ホストオンリーアダプター」。
これがどういうものなのか、
見ていきたいと思います。
〇ゲストOSのネットワーク設定
ネットワーク設定を「ホストオンリーアダプター」に設定すると。
[root@localhost ~]# ifconfig (抜粋) enp0s3: flags=4163mtu 1500 inet 192.168.56.101 netmask 255.255.255.0 broadcast 192.168.56.255 [root@localhost ~]# netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
ゲストOS(CentOS)のenp0s3インターフェイスに、
192.168.56.101/24 のアドレスが振られています。
(enp0s3はDHCP設定)
このアドレスは、ホストOS(Windows)の、
「VirtualBox Host-Only Network」のセグメント。
>ipconfig イーサネット アダプター VirtualBox Host-Only Network: 接続固有の DNS サフィックス . . . . .: リンクローカル IPv6 アドレス. . . . .: fe80::ad9f:2179:d71e:f8ed%11 IPv4 アドレス . . . . . . . . . . . .: 192.168.56.1 サブネット マスク . . . . . . . . . .: 255.255.255.0 デフォルト ゲートウェイ . . . . . . .:
ゲストOSのインターフェイスには、
VirtualBoxのネットワーク設定に応じて、
DHCPでアドレスが振られるみたいです。
その時のDHCPのパケットキャプチャがこちら。
192.168.56.100 から、アドレスをもらってます。
ちなみに、「VirtualBox Host-Only Network」のアドレスを
別のセグメントに変更しても、
ゲストOSに振られるIPアドレスは変わらない。
また、NAT設定の時は、
[root@localhost ~]# ifconfig enp0s3: flags=4163mtu 1500 inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255 [root@localhost ~]# netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 enp0s3 10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
enp0s3のIPアドレスが、10.0.2.15/24 で、
デフォルトゲートウェイが、10.0.2.2 となっています。
これも同様に、10.0.2.2 からDHCPで振られている。
〇疎通確認
それでは、ゲストOSから疎通確認をしてみます。
①DHCPの送信元(192.168.56.100)へ
→ OK
②ホストOSのVirtualBox Host-Only Network IFへ
→ OK(セキュリティソフトのファイアウォール機能を無効のこと)
③ホストOSが接続しているNWのデフォルトゲートウェイへ
→ NG
これで、名前の通りゲストOSが、ホストの専用IFとだけ
通信するための設定なんだと思いますが、
③については、Windowsが、
「VirtualBox Host-Only Network」IFから来た通信を、
別のIFへ転送(ルーティング)していないことが原因
ということも考えられる。
Windowsでルーティングを有効にするのが、
「Routing and Remote Access」サービスらしい。
参考:Windowsをルーター化させる方法。サーバー・パソコンでWindowsルータ構築(外部サイト)
これを、有効にして、再度↑↑の③を実施。
→やっぱりNG
ここで、ちょっと横道に逸れますが、
そもそも、「Routing and Remote Access」サービスというもので、
本当にルーティングをできるようになるのか、確かめてみたい。
〇Routing and Remote Accessの検証
↓のように構成を作り、
Routing and Remote Accessサービスを有効にして、
疎通がとれるかどうか、見てみる。
WindowsにUSB-LANアダプタでIFを増やして、
ルーターB→Aの疎通確認をする。
→疎通OK
サービスを停止すると、疎通はNGになる。
本当にルーティングが有効になるみたい。
「Routing and Remote Access」サービスの有効性が確認できたので、
サービスを有効にしても、外部NWへの通信ができないのは、
Windowsのルーティングの問題ではないことが分かった。
→「ホストオンリーアダプター」は、ゲストOSが、
ホストの専用IFとだけ通信するための設定みたい。