トップ回答者
WindowsServer2012R2におけるネットワーク名前解決につきまして

質問
-
お世話になっております、yanazaki と申します。
ネットワークにおける名前解決についてWS2008R2とWS2012R2で
以下のように動作が異なる部分があるように見えます。
ーー
【環境】
・サーバA、サーバB、クライアント3台のネットワークがあります。
名前解決は lmhosts ファイルを使用しています。
ドメイン、hostsは使用していません。
サーバはWindowsServer2012R2 , クライアントはWindows10です。
・サーバA,B にはLANが2ポートあります。
一つは サーバA,B、クライアントをHubを介して接続する"情報LAN"
もう一つは サーバA,Bをケーブルで直結する"系間LAN" です。
クライアントは情報LAN のみです。
・サーバAのlmhostsの設定は以下です。
- 情報LAN: 192.168.1.1 [SVA ]
- 系間LAN: 192.168.2.1 [SVA_K]
※サーバB省略しますが4オクテット目が"2"になります。
※情報LANと系間LANはIPV4 プロパティのインターフェースメトリックの値を
情報LAN < 系間LAN にすることで優先度を設定しています。
【現象】
クライアントから情報LANのサーバAへ "ping SVA" と行いますと、
系間LANである192.168.2.1 [SVA_K] とping通信をしてしまいました。
何かのタイムアウトをしているのか、処理が遅い感じがします。
ちなみにWS2008R2では上記設定で情報LANの方へきちんとping通信をしました。
説明が長くなり申し訳ありません。
本現象の原因・対処案についてお心当たりのある方
ご教授いただけますと幸いです。
よろしくお願いいたします。
回答
-
yanazaki 様
すみません、私が質問内容を誤解していました。サーバー A の LMHOSTS の記述は関係有りませんね。(サーバー間の名前解決と勘違いしていました)
サーバー A の NIC のメトリクス値を情報LAN < 系間LAN にしているとの事ですので、以下の情報に有る通りメトリック値の小さい情報 LAN の IP が返ってくるのが期待される動作かと思われます。
Windows Server 2012 ではサポート技術情報 981953 の対処策が使用できません。
https://support.microsoft.com/ja-jp/help/2854670
IPv6 の名前解決による影響を疑っていらっしゃるとの事ですが、Windows Server 2012 から IPv4 より IPv6 が優先される様になったと記憶しています。
試しに、以下の設定を上から順に設定してみて効果が有るか確認してみて下さい。
・IPv6 のメトリクス値も IPv4 と同様に、情報LAN < 系間LAN にする。
・IPv6 コンポーネントを無効化する。
IPv6 コンポーネントの無効化については、以下のブログを参考にして下さい。
3 つ目の「KB929852 のレジストリ設定」だと IPv6 コンポーネントをまとめて無効化する事ができます。
連載 IPv6 入門 – 第三回 IPv6 の無効化方法
https://blogs.technet.microsoft.com/jpntsblog/2010/06/16/ipv6-ipv6-3/
- 回答としてマーク yanazaki 2018年4月16日 23:44
すべての返信
-
参照 DNS や参照 WINS は設定せずに、LMHOSTS による NetBIOS 名前解決をされていると言う事で良かったでしょうか?
Windows Server 2008 R2 と Windows Server 2012 R2 で動作が変わった理由は分かりませんが、LMHOSTS による名前解決は NetBIOS 名前解決の中でも最後に用いられる名前解決方法です。
動作からすると LMHOSTS による名前解決が行われる前の、NetBIOS 名前キャッシュかブロードキャスト及び WINS サーバーによる名前解決が行われていると思われますので、LMHOSTS の設定に #PRE オプションを追加して LMHOSTS を優先する様に設定してみてはいかがでしょうか。(正確には LMHOSTS のレコードを NetBIOS 名前キャッシュに登録するオプション)
詳しい設定方法は、以下のブログの「LMHOSTS ファイルに記述したレコードを優先させる方法 」を確認して下さい。
Windows 名前解決の順序
https://blogs.technet.microsoft.com/jpntsblog/2009/07/13/windows/
-
yanazaki 様
すみません、私が質問内容を誤解していました。サーバー A の LMHOSTS の記述は関係有りませんね。(サーバー間の名前解決と勘違いしていました)
サーバー A の NIC のメトリクス値を情報LAN < 系間LAN にしているとの事ですので、以下の情報に有る通りメトリック値の小さい情報 LAN の IP が返ってくるのが期待される動作かと思われます。
Windows Server 2012 ではサポート技術情報 981953 の対処策が使用できません。
https://support.microsoft.com/ja-jp/help/2854670
IPv6 の名前解決による影響を疑っていらっしゃるとの事ですが、Windows Server 2012 から IPv4 より IPv6 が優先される様になったと記憶しています。
試しに、以下の設定を上から順に設定してみて効果が有るか確認してみて下さい。
・IPv6 のメトリクス値も IPv4 と同様に、情報LAN < 系間LAN にする。
・IPv6 コンポーネントを無効化する。
IPv6 コンポーネントの無効化については、以下のブログを参考にして下さい。
3 つ目の「KB929852 のレジストリ設定」だと IPv6 コンポーネントをまとめて無効化する事ができます。
連載 IPv6 入門 – 第三回 IPv6 の無効化方法
https://blogs.technet.microsoft.com/jpntsblog/2010/06/16/ipv6-ipv6-3/
- 回答としてマーク yanazaki 2018年4月16日 23:44