社内LAN内で独自DNSを立てていましたが、ある日突然名前解決ができなくなってしまいました。もう少し調査したところ、Windows XPでは問題がなく、Windows 7/Vistaのみ名前解決ができないようでした。
nslookupで確認すると以下のように既定のサーバーのAddressがIPv6表記になっていました。
nslookup 既定のサーバー: UnKnown Address: 2408:90:4121:0:21b:8bff:fec8:59e0
自前のDNSサーバーはIPv6の名前解決に対応していません。
解決策は以下の3通りになると思います。
- Windows側でIPv6を無効にする
- DNSサーバーをIPv6に対応させる
- ローカルネットワークで使用しているサーバーに対して静的ルーティング設定をする
Windows側でIPv6を無効にするのが、一番簡易な解決方法だと思います。
ただ、単純にIPv6を無効にするとかえって後で面倒なことになるかもしれないので、ルーターで静的ルーティング設定をすることにしました。
ルーターはNTT東日本からレンタルしているPR-S300NEを利用しています。
- まず、DNS設定でLAN側DNSサーバーアドレスのプライマリDNSをLAN内用のIPアドレスを指定します。
- 次に静的ルーティング設定で、以下のようなエントリを追加します。
宛先ドメイン名 ローカルネットワークで利用しているドメイン名
インターフェース LAN側
ゲートウェイ LAN側ゲートウェイ(192.168.1.1など)
参考URL
http://www.dream-seed.com/weblog/archives/2010/12/10311/