LoginSignup
3
5

More than 5 years have passed since last update.

VMWareのDHCPにハマった話

Last updated at Posted at 2015-10-21

VMWareをWindowsホストで動かすとき、DHCPの設定にハマったポイント

普通はこれでいける

VMWare playerでWindowsホストのNAT+DHCPで稼働しているゲストOSのIPアドレスを固定したくなるとき。SSHやtelnetで接続する時めっちゃ面倒ですやん。DHCPだと。
ゲストOSのMACアドレスに対して払い出すIPアドレスを指定するわけだが、ここでハマった。
vmnetdhcp.confのVMnet8セクションへ以下のようにホスト情報を記述する、とある。今回、ゲストOSのMACアドレスはDE:AD:BE:EF:CA:FEとした。

vmnetdhcp.conf記入例
#"あくまで例なので、ここのコードそのまま使うと地獄行く"
subnet <172.16.16.0> netmask 255.255.255.0 {
range <172.16.16.200> <172.16.16>.254;
#"略"
}
host <centos> {
    hardware ethernet <DE:AD:BE:EF:CA:FE>;
    fixed-address <172.16.16.100>;
    option host-name <"centos">;
    option domain-name-servers <172.16.16.2>;
    option routers <172.16.16.2>;
}

これでゲストOSがDHCP取得設定になっていれば、任意のIPアドレスが払い出せる、と思ったが、書いた通りにIPアドレスが払い出されない。解せぬ。

理由1 vmnetdhcp.confファイルの罠

dhcp設定ファイルを管理者以外で触るな
C:\ProgramData\VMware\vmnetdhcp.conf
ProgramDataという予約ボリュームってユーザごとにパラレル展開されてるんですかね?上書きしてもファイルを消してもVMwareをアンインストールしても復活するたいへん逞しいvmnetdhcp.confファイルに落涙。
管理者権限で設定ファイルを書き換えたら、必ずVMware DHCP Serviceを再起動すること。VWwareのゲストマシンが動作している最中でも問題ありません。
VMware DHCP Serviceのサービス起動に失敗する場合、次項のレジストリ設定と設定ファイルの内容で相違ある、または、設定ファイルの内容が正しくないのが原因としてあげられる。
VMware DHCP ServiceサービスのイベントログはWindowsログのアプリケーションで確認できる。

理由2 レジストリ設定の罠

設定テキストファイルだけだと思った?残念
HKLM\SYSTEM\CurrentControlSet\services\VMnetDHCP\Parameters\VirtualEthernetSegments
VMnet1のホストオンリーネットワークとVMnet8のNAT、2つの仮想ネットワークI/Fの設定がここにも生きてる。ふざけんな。vmnetdhcp.confとは何だったのか。
ネットワーク1と8、それぞれにサブキーが生えているので、お望みのネットワークサブキーのうちHostIpAddressにネットワークのIPアドレスが保存されている。なお、vmnetdhcp.confの中身と相違があるとVMwareDHCPサービスが起動しない。
qiita.png
IPアドレスのオクテットが上位下位と反転しているので、そこだけ注意。ここを書き換えた場合もVMware DHCP Serviceサービスを再起動したほうが良さそう。

理由3 インターフェイスドライバの罠

インターフェイスドライバのIPv4アドレスも指定した?
自分はハマらなかったが、案外ハマりそうなポイントではある。

まとめ

  1. vmnetdhcp.confを書き換えるときは管理者権限で
  2. vmnetdhcp.confを書き換えたらVMware DHCP Serviceを再起動する
  3. VMware DHCP Serviceが起動しない場合はレジストリとvmnetdhcp.confに矛盾がある
  4. ゲストOSのDHCPクライアント処理を再実行すれば望んだIPアドレスが払い出しされる

のぞみ通りじゃなければ上記のプロセスを見直そう。

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5