Compnet

仕事とか遊びとか、日々折々

2016-02-04(木)

ネットワークが遅いという問い合わせ

Posted by Nakane, R. in technical   

Note

この記事は旧ブログから移行した記事です。 元記事は ここ にあります。

最近別々のお客さまから二件ほど連続して、ネットワークが遅いとの問い合わせがあっりました。 片方のお客さまにどのような現象なのかをお聴きすると、Web ブラウザを使った業務で、ページが中々表示されないというものでした。 また他方のお客さまも、Web ブラウザでの閲覧に時間が掛かるというものです。

渋滞イメージ

それぞれのお客さまに詳しくお聴きしたところ、ファイル共有などでは特に遅いとは感じず、Web ブラウザでの閲覧に時間が掛かるとのことでした。 さらに詳しくお聴きすると、Web ブラウザのアドレス欄に URI を入力して Enter キーを押すしたとき、Web ページが表示されるまでに、ブラウザ左下に「名前解決しています」と表示されるようです。 さらにどちらのお客さまも、Active Directory ドメイン環境で運用しています。

結論からすると、どちらも同じ対応で解決しました。

名前解決に時間が掛かるよくある原因

Active Directory ドメイン環境で名前解決に時間が掛かる場合、たいていはお客さまの PC が参照している DNS サーバー、つまり Active Directory の DNS サーバーにフォワーダーが設定されていることが多いようです。 そして、そのフォワーダーに問題があることで、名前解決に時間が掛かっている場合が多いように思われます。

例えばフォワーダーに、インターネットに繋ぐためのブロードバンド ルーターの IP アドレスが指定されていることがあります。 このとき、ブロードバンド ルーターの設定では、DNS サーバーに Active Directory の DNS サーバーが設定されていたりすると、名前解決の問い合わせが、DNS サーバーからルーターに、ルーターから DNS サーバーとループし、タイムアウトまで待たされてしまいます。 また、ブロードバンド ルーターにコンシューマー向けの廉価なものを使用したために、ルーターの処理性能が追いついていないと思われることも。

フォワーダーに ISP の DNS サーバーが指定されていても、その IP アドレスが古いままですでに 廃止されていたり、ISP を切り替えた後も以前の ISP の DNS サーバーのままだったりもあります。

また、フォワーダーを指定しているときは、フォワーダーでの名前解決に失敗したときに DNS の ルート サーバーを使って名前解決をするように通常であれば設定します。 ルート サーバーの情報も希に変更があり、DNS サーバーの管理者はそれに合わせて修正の必要があります。 最近では 2013 年 1 月と 2015 年 12 月に変更がありました。

これらを解消するために、フォワーダーの指定を解除して、これを使わないようにします。 さらに、DNS の ルート  サーバー の情報を最新に修正します。

参考までに、具体的な手順を以下に挙げます。 以下では Windows Server 2012 R2 を使うが、それ以外のバージョンでもおおむね同じ手順です。

フォワーダーの指定を削除

まずは、サーバー マネージャーのツール メニューで [DNS] をクリックして、DNS マネージャーを起動します。 DNS マネージャーの左側のペインには、管理する DNS サーバーがツリーで表示されます。 小職は 2 台の DNS サーバーをまとめて管理しているので、ここには 2 台のサーバーが表示されています。

このサーバーを選択、右クリックしてコンテキスト メニューを表示し、[プロパティ] メニューをクリック、実行します。

選択した DNS サーバーのプロパティが表示されます。 フォワーダーを削除するために、DNS サーバーのプロパティ ウィンドウのフォワーダー タブを開きます。

フォワーダーの一覧の下にある [編集] ボタンをクリックします。 フォワーダーの編集ウィンドウが開くので、表示されているフォワーダーの IP アドレスを選択して、右にある [削除] ボタンをクリックして、フォワーダーを全て削除します。

フォワーダーを全て削除したら [OK] ボタンをクリックして、フォワーダーの編集ウィンドウを閉じます。

ルート ヒントを更新

次に、DNS の ルート サーバーの情報を最新にします。

DNS マネージャーから DNS サーバーのプロパティ ウィンドウを開いたままになっているはずなので、DNS サーバーのプロパティ ウィンドウのルート ヒント タブを開きます。

ルート ヒント タブのネーム サーバー一覧には、a.root-servers.net. から m.root-servers.net. あたりまで十数個のネーム サーバーが登録されています。 アルファベットが一部抜けていたり、数の過不足があることもあります。

最初に、このネーム サーバー一覧から、思い切って半分くらいを削除します。 例えば、ルート サーバーをひとつ選択して一覧の下の [削除] ボタンを押す手順を、f.root-servers.net. 以降の行のそれぞれで行います。

するとルート サーバー一覧に a.root-servers.net. から e.root-servers.net. だけが残る状態になります。 ここで、ルート サーバー一覧の下にある [サーバーからコピーする] ボタンをクリックします。

コピー元のサーバー ダイアログが表示されるので、[IP アドレスまたは DNS 名] 欄に a.root-servers.net. と入力して、[OK] ボタンをクリックします。

a.root-servers.net. でなくても、先ほどルート サーバー一覧に削除せずに残したどれを入力しても構いません。

コピー元のサーバー ダイアログのIP アドレスまたは DNS 名] 欄を入力して [OK] ボタンを押して、DNS サーバーのプロパティ ウィウィンドウに戻ると、 ルート ヒント タブのネーム サーバー一覧に先ほど削除したネーム サーバーが追加されています。 これは先ほど削除したネーム サーバーが復活したのではなく、コピー元のサーバー ダイアログに入力したネーム サーバーから新しく取得して追加されます。

今度は先ほど削除せずに残した a.root-servers.net. から e.root-servers.net. までのネーム サーバーを削除します。

先ほどと同様にネーム サーバー一覧の下にある [サーバーからコピーする] ボタンをクリックし、サーバー ダイアログが表示されたら [IP アドレスまたは DNS 名] 欄に、今度は f.root-servers.net. と入力して[OK] ボタンをクリックします。 f.root-servers.net. でなくても、先ほどネーム サーバー一覧に削除せずに残したどれを入力しても構いません。

コピー元のサーバー ダイアログのIP アドレスまたは DNS 名] 欄を入力して [OK] ボタンを押して、DNS サーバーのプロパティ ウィウィンドウに戻ると、 ルート ヒント タブのネーム サーバー一覧に削除したネーム サーバーが追加されています。

希にネーム サーバー一覧に IP アドレスが「<不明>」のものが含まれることがあります。 このときは、IP アドレスが「<不明>」のネーム サーバーを削除して、これまで同様に [サーバーからコピーする]→[IP アドレスまたは DNS 名] 欄に a.root-servers.net. などの適当なネーム サーバーを入力→[OK] を、IP アドレスが「<不明>」のネーム サーバーが無くなるまで繰り返してください。

なお、ここではルート ヒント タブのネーム サーバー一覧に表示されているネーム サーバーを半分ずつ削除して更新してます。 これを一個も削除せずに残したままで、[サーバーからコピーする] ボタンをクリックすると、全ネーム サーバーが一括で更新され無くなったネーム サーバーが削除されるのかもしれませんが、小職は確認していません。

Note

この記事を書いている最中に以下の注意喚起がセキュリティ企業のラックから提示されました。

遠隔操作ウイルスの制御にDNSプロトコルを使用する事案への注意喚起 | セキュリティ情報 | 株式会社ラック

ネットワーク管理ポリシーによって、DNS サーバーが直接名前解決するのではなく、上位の DNS サーバーに名前解決を委譲するように定めていることもあります。 場合によっては、ルート サーバーに問い合わせるように設定した DNS サーバーで、対処の必要があるかもしれません。

Comments