dnsmasqとWindows7でハマった件
背景:
実験用に仮想サーバとか立ててるけど、数が多くて、IPアドレスベースだと管理できなくなってきた。
やりたい事:
- 家庭内LANのDHCPでIPアドレスを取得しているホストに対して、ホスト名でアクセスしたい。
- 家庭内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では↑の方法でうまくいかず。自分でホスト名のうしろに"."(ピリオド)をつけてやるとうまくいくが…