dnsmasqとWindows7でハマった件

背景:

実験用に仮想サーバとか立ててるけど、数が多くて、IPアドレスベースだと管理できなくなってきた。

 

やりたい事:

  • 家庭内LANのDHCPIPアドレスを取得しているホストに対して、ホスト名でアクセスしたい。
  • 家庭内LAN内には、複数のPCがあるので、どのPCからも同じようにホスト名を使ってアクセスしたい。複数のPCがあるので、hostsファイルは面倒。
  • 家庭内LAN用のDNSサーバを立てれば良い?

 

結論:

  • ルータ(buffalo WZR-600DHP3)で、DHCPリースの設定で手動割当にする(MACアドレスに対して毎回設定したIPアドレスが割り振られるようになる)
  • 家庭内LAN内のLinuxPC(raspberry pi)でdnsmasqを起動し、ルータで設定したIPアドレス/ホスト名を/etc/hostsに記載。
  • ルータの設定で、dnsmasqを起動しているLinuxPCのIPアドレスをプライマリDNSアドレスとして通知するように設定する。

 

ハマッた事:

 動作確認のため、Windowsからping ホスト名とやっても、名前解決できない。

 nslookupでは大丈夫

 LinuxやChromeOSでは名前解決できる。

 

解決策:

http://jqnotes.blogspot.jp/2012/08/configure-windows-7-to-support-dnsmasq.html

 

補足:Windows8.1では↑の方法でうまくいかず。自分でホスト名のうしろに"."(ピリオド)をつけてやるとうまくいくが…