お世話になります。
類似の質問も見ましたが、微妙に内容が異なるため、新規で質問いたします。
■質問内容
内向き DNS サーバーによる名前解決時に IPv6 が IPv4 より優先されてしまう。
IPv4 を優先するにはどうしたらよいでしょうか。
※インターネットへの接続は可能です。
※ネットワーク接続の設定で対象の NIC のプロパティから IPv6 を無効にすると、正常に名前解決がおこなえます。
■状況
以下のように nslookup を実行しても、名前解決ができません。
----
C:\Users\xxxx>nslookup xxx.xx(※内部ネットワークのみで使用できるドメインを指定します)
サーバー: UnKnown
Address: xxxx:xx:xxxx:xxx:xxx:xxxx:xxxx:xxxx(※IPv6 アドレスが表示される)
*** UnKnown が xxxx.xx を見つけられません: Non-existent domain
----
以下のサイトに、IPv6 のプレフィックスの優先順位を変更することで IPv4 を優先できるということで設定してみました。
参考サイト: http://www.vwnet.jp/Windows/w7/IPv4/IPv4PriorityUP.html
----
C:\Users\xxxx>netsh interface ipv6 show prefixpolicies
アクティブ状態を照会しています...
優先順位 ラベル プレフィックス
---------- ----- --------------------------------
50 0 ::ffff:0:0/96
40 1 ::1/128
35 4 ::/0
30 2 2002::/16
5 5 2001::/32
3 13 fc00::/7
1 12 3ffe::/16
1 3 ::/96
1 11 fec0::/10
----
プレフィックス設定の変更が反映されていることを確認。
----
C:\Users\xxxx>ping localhost
PC [127.0.0.1]に ping を送信しています 32 バイトのデータ:
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128
127.0.0.1 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 0ms、平均 = 0ms
----
しかし、この状態でも状況は変わらず、名前解決ができませんでした。
■環境
クライアント OS: Windows 8.1 Pro 64bit
クライアントのネットワーク設定: IPv4 のみ、内部ネットワークに構築した DNS サーバーを参照(それ以外は変更なし)
DNS サーバー: 内向き専用で、IPv6 には非対応
ルーター: NTT光電話ルーター(PR-500KI)
■判明したこと
・IPv6 を無効化することで名前解決ができることから、DNS サーバー側の問題ではない
・IPv6 が優先されてしまうため、IPv4 に設定した内向き DNS サーバーが参照されず、結果として名前解決ができない
・IPv6 のプレフィックス設定の変更は有効になっているのに、なぜか NIC の IPv4 設定が優先されない
■備考
現時点で考えられる回避策は以下のとおりです。
・ネットワーク接続の NIC のプロパティで IPv6 を無効化
・DNS サーバーを IPv6 に対応させる
ただし、上記の方法は極力避けたいと考えています。
あくまで、実現したい内容は「IPv4 と IPv6 がともに有効な状態で、IPv4 を優先して通信をおこなう」ということです。
以上、よろしくお願いいたします。