VBox 5.02 OSEを使用すると、ホストOSはArch Linux4.1.6-1-Archです。
ネットワークのデフォルト名(intnet)を使用して、ネットワークアダプターを使用してゲストOS Ubuntu Minimal14.04を「内部ネットワーク」として構成しました。
これで、次のコマンドを使用して、「intnet」プライベートネットワークのVirtualboxdhcpサーバーを有効にしました。
$ VBoxManage dhcpserver add --netname intnet --ip 10.10.10.1 --netmask 255.255.255.0 --lowerip 10.10.10.2 --upperip 10.10.10.12 --enable
ゲストOSを起動すると、dhcpサーバーによって動的に割り当てられたIP10.10.10.2が取得されていることがわかります。
しかし、VMからdhcpサーバーにpingを実行しようとすると、応答がありません。
$ ping 10.10.10.1
PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data.
^C
--- 10.10.10.1 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5005ms
何故ですか?
「内部ネットワーク」は、ホストではなく、仮想ゲスト間の接続のみを許可します。ホストとの接続も必要な場合は、「ホストのみのネットワーク」を選択します(名前は少し誤解を招く可能性があります)
内部DHCPサーバーにpingを実行できない理由は、サービス自体の構成が最小限で強化されていることが原因である可能性が高いため、pingに応答するように構成されていない「ホスト」が事実上あります。
ただし、以下のnmap
を使用してポートスキャンを実行できます。これにより、ホストが内部ネットワークで稼働しているかどうかを確認できます(このタイプのスキャンにはSudo
権限が必要です)。
Sudo nmap -Pn -n -sU -p67-68 10.10.10.1 | grep Host
次の出力が表示されます。
Host is up (0.00021s latency).
存在しないIPアドレスに対して試してみてください。何も返されません。