なぜUbuntu(ゲストOS)のIPアドレスを固定したいの?
ノートPC(Windows 7 64bit)では、VMWare Player 3.1.6上でUbuntu 12.04LTSを動かしています。VMWare Plalerのネットワーク環境はNATモードにしています。
NATモードでは、ホストOS(Windows 7)の中に仮想ネットワークが作られ、ゲストOS(Ubuntu)はそのネットワークに接続されます。Ubuntuから外部にアクセスする際には、ホストOSがNATボックスとして機能します。
NATモードでは、UbuntuのIPアドレスは、DHCPによって付与されます。困ったことに、付与されるIPアドレスは、ブートしたり、サスペンドしたりするたびに、変わってしまうのです。
Ubuntuからインターネットにアクセスするだけなら、IPアドレスがころころ変わっても特に問題ありません。しかし、ホストOSからUbuntuにアクセスする場合には、IPアドレスが固定されていないと不便です。(例えば、テストのために、ゲストOSのブラウザから、Ubuntuのウェブサーバにアクセスする場合)
そこで、UbuntuのIPアドレスを固定するようにしてみました。
Ubuntu(ゲストOS)のIPアドレスを固定する方法
具体的には、ゲストOS(Ubuntu)のMACアドレスに対して固定のIPアドレスを与えるように、仮想ネットワークのDHCPサーバを設定してやります。
それでは、その手順を紹介しましょう。
Windows 7の場合、仮想ネットワークの設定は、次のファイルに記述されています。
C:ProgramData\VMware\vmnetdhcp.conf
このファイルに仮想ネットのDHCPサーバの設定が書いてあるので、ゲストOSのMACアドレスに対して固定のアドレスを付与するように設定を追加します。このファイルはテキストファイルなので、読めば設定内容がわかるでしょう。
ここでは、2つの仮想ネットVMnet1とVMnet8が定義されています。
- VMnet1: Host-only modeで使用
- VMnet8: NATモードで使用
NATモードを使うので、VMnet8に設定を追加することになります。VMnet8のオリジナルの設定は次のような内容になっているはずです。
ざっと見ればわかりますが、VMnet8には、192.168.224.0/24というアドレスが割り当てられていています。rangeで始まる行が、DHCP用のアドレスプールの定義です。ここでは、192.168.224.128から192.168.224.254までがDHCP用アドレスプールになっています。
ゲストOS(Ubuntu)には、プールに含まれないIPアドレスを付けてやります。ここでは、192.168.224.101を使うことにしましょう。
設定ファイルに次のような設定を追加してください。これは、hardware ethernetで指定されたMACアドレスに対しては、常にfixed-addressで指定されたIPアドレスを与えるという意味です。
hardware addressという行の「YY:YY:YY:YY:YY:YY」という部分には、ゲストOS(Ubuntu)のMACアドレスを指定します。UbuntuのMACアドレスは、Ubuntuでifconfigコマンドを実行すると表示されるので、それを指定してください。fixed-addressには、Ubuntuに与える固定のIPアドレス、つまり192.168.224.101を指定します。
これで設定は完了です。
あとは、Windowsをリブートしてから、VMWare PlayerでUbuntuをブートすれば、UbuntuのIPアドレスは192.168.224.101に固定されるようになります。