VMware Fusion 8 でネットワークを追加する


はじめに

2015/11/16 に VMware Photon Controller がオープンソースとして公開されました。

ソースコードだけではなく、手元の VMware Fusion/Workstation で試すことが出来る Devbox も提供されています。

ところが、試すにしてもアドレスが 192.168.209.0/24 決め打ちのアドレス体系のため、手元の Fusion/Workstation の vmnet8 の設定を変更する必要があります。Workstation であれば、vmnet8 のネットワークアドレスを変更するといった UI が提供されているのですが、VMware Fusion にはありません。本エントリーでは、グレーながらもそれを可能にする方法を整理します。

VMware Fusion のネットワーク

VMware Fusion が起動すると、vmnet0 や vmnet8 といったインターフェースが生成され、それぞれ IP アドレスが振られます。そして vmnet8 では NAPT と DHCP サービスが提供されます。NAPT と DHCP サービスの設定は以下のファイルで行われています。

  • /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf
  • /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf

ここで、いくつか疑問が出てきます。

  • vmnet[1-7] はどうやったら設定できるのか?
  • DNS サーバーはないのか?

次にそれぞれを確認していきます。

vmnet[1-7] はどうやったら設定できるのか?

dhcpd.conf/nat.conf のフォルダを見れば答えがありますが、/Library/Preferences/VMware\ Fusion/ 配下に各 vmnet のフォルダを作成して、それぞれの vmnet の DHCP/NAT サービスの設定を行います。では、地力で mkdir して vi で編集すれば良いのかというと、そうではありません。

Fusion でネットワークの設定は /Library/Preferences/VMware\ Fusion/networking に集約されています。この networking ファイルの内容を元にして vmnet-cli –configure で各 vmnet の設定ファイルを生成していきます。vmnet[1-7] については networking ファイルに VNET_${INDEX} の設定行があると自動的に生成されるようになります。

なお、dhcpd.conf に関しては、

というコメント行の下に追加の設定を行えば vmnet-cli –configure した後もその設定が残ります。私は MAC アドレスに対して固定で IP を割り当てたい場合に使っています。

DNS サーバーはないのか?

ありません。

Gateway のアドレスが DNS として指定されますが、これは DNS の UDP パケットをキャプチャして、ホストに設定されている DNS サーバーに転送しているだけになります。Fusion 独自に DNS サーバーを建てているわけではないため、各種 DNS の調整を行いたい場合は、Fusion の DNS モドキの機能を当てにせず、地力で DNS サーバーを建てる必要があります。特に DHCP と DNS を連動させて Dynamic DNS な環境を用意したい場合には、vmnet では DHCP を無効にし、地力で DHCP/DNS を構築する事になります。

コマンド

vmnet-cli、vmnet-cfgcli の2つのコマンドを利用することになります。以下の例では、DHCP/NAT が有効な vmnet7 を新しく作成しています。

VMNET ではなく VNET なことに注意。M はありません。また、地力 DHCP/DNS を建てる場合には、次のようにしてみるのもよいでしょう。

他にパラメーターはないのかな〜 という人は、以下のコマンドを叩いて ゲヘゲヘ してください。

関連情報

まとめ

  • VMware Fusion には vmnet[1-7] を設定する UI はない
  • vmnet-cli、vmnet-cfgcli を sudo で実行する
  • vmnet の追加、DHCP、NAT の設定はすべて /Library/Preferences/VMware\ Fusion/networking にある
  • 転んでも泣かない

コメントを残す