はじめに
Virtualboxで作成したVMのネットワーク設定はNAT+ホストオンリーアダプタの組み合わせがよく用いられると思うが、久しぶりにやったらホストOSとVM間で通信できなくて小1時間悩んだのでメモを残しておく。
ちなみに、自分がNAT+ホストオンリーアダプタの組み合わせを使用するのは、社内ネットワークで検知されない範囲でVMがインターネットに接続できるから。ブリッジアダプタだと何でもできるんだけどMACアドレスで社内検知に引っかかるorz
環境
ホストOSがwindows10
ゲストOSがubuntu16.04
今回はあまり環境は重要でないけど
やった設定
まずは、VMのネットワーク設定でアダプタを2つ(NAT+ホストオンリーアダプタ)選択する。NATは多分デフォルトで選択されてる。
続いて、VM側のネットワーク設定。/etc/network/interfacesに以下を追記した。
auto enp0s8
iface enp0s8 inet static
address 192.168.1.2
netmask 255.255.255.0
つまった原因
addressの値は選択したアダプタ(今回であれば#2)の下の図のセグメントの範囲内の値でなければならなかった。
下記のように書き換えて、通信可能になった。
auto enp0s8
iface enp0s8 inet static
address 192.168.33.2
netmask 255.255.255.0
あるいは、アダプタ側の種類を変えてもよい。
ちなみに、割り当てるアドレスをDHCPにしたい場合は下から設定できる。
最後に
Vagrant+Virtualboxだったらここらへん考えなくても良かった気がするけど、久しぶりにVirtualboxソフトからVM作ったら嵌まった。よかったよかった。