DNS のトラブルシューティング ガイド
仮想オペレーターを試す - DNS に関する一般的な問題をすばやく特定、解決するのに役立ちます。
この解決策は、ドメイン ネーム システム (DNS) シナリオのトラブルシューティングに役立つように設計されています。 DNS のトラブルシューティングの問題は、サーバー側とクライアント側のカテゴリに分類できます。
トラブルシューティングのチェックリスト
サーバー側の問題
- IP 構成
- DNS サーバー
- 信頼できるデータ
- 再帰
- ゾーン転送
クライアント側の問題
- IP 構成
- ネットワーク接続
一般的な問題と解決方法
DNS クライアントでの DNS クライアント側キャッシュのサポート ポリシー
Windows にはクライアント側 DNS キャッシュが含まれています。 DNS クライアントでの DNS クライアント側のキャッシュは無効にしないことをお勧めします。 DNS クライアント側のキャッシュが無効になっている構成はサポートされていません。
Microsoft では、サポートされていないデバイスまたは構成に関連する問題の解決策が見つかるとは限りません。 解決策が見つからない場合、インシデントに対する調査のコストは払い戻されません。 ソリューションが保証されないことが合意されていない場合、Microsoft サポートは問題を解決せず、インシデントの調査コストを払い戻します。
DNS ゾーンに DNS レコードがありません
この問題には、次のいずれかの原因が考えられます。
DNS の清掃が正しく構成されていません
DNS レコードが DNS ゾーンにない場合、最も一般的な原因は清掃です。 静的に割り当てられた DNS サーバーを持つ Windows ベースのコンピューターでも、レコードは 24 時間ごとに登録されます。 更新なしの間隔と更新間隔が低すぎるかどうかを確認します。 たとえば、これらの値の両方が 24 時間未満の場合、DNS レコードは失われます。
この問題のトラブルシューティングを行い、更新なしの間隔と更新間隔を理解するには、「 DNS のエージングと清掃の使用を参照してください。
ホスト "A" レコードは、IP アドレスが変更されたときに削除されます
新しく構成された DNS サーバー IP アドレス (Active Directory 統合 DNS) にホスト "A" レコードが登録された後、ホスト "A" レコードが元の DNS サーバーで削除されることがあります。 ユーザーから見ると、名前解決に依存しているものはすべて壊れます。 クライアントで DNS サーバーの IP アドレスが変更されると、クライアントは、前の DNS サーバーから "A" レコードを削除するために、機関の開始 (SOA) 更新プログラムを送信します。 次に、新しい DNS サーバーに "A" レコードを登録するための更新が送信されます。
この問題は、Active Directory 統合ゾーンで発生します。 クライアント上で DNS サーバーの IP アドレスが変更されると、問題が発生します。 IP アドレスが変更されると、クライアントは登録要求を新しいサーバーに送信し、削除要求を前のサーバーに送信します。 両方のサーバーが既に同期されているため、レコードは登録されません。 前のサーバーでは、DNS サービスによって "A" レコードが削除され、削除が新しいサーバーにレプリケートされます。 その結果、レコードは両方のサーバーで削除されます。
DHCP オプション 81 を使用する DHCP クライアントは、ホスト "AAAA" 登録時にホスト "A" レコードを登録解除します
この問題は、DHCP クライアント コンピューターが ISATAP または 6to4 ネットワーク アダプターを使用し、DNS クライアントと DNS サーバーの両方が DNS レコードを動的に更新するように構成されている場合に発生します。 この構成により、DHCP オプション 81 ( Client FQDN オプションとも呼ばれます) がクライアントとサーバーの両方で有効になります。 このような状況では、DHCP サーバーがクライアントの DNS "A" レコード (IPv4) を作成する可能性があります。 その後、クライアントは "AAAA" (IPv6) レコードを作成します。 ただし、この操作の一環として、クライアントは最初に、time-to-live (TTL) が 0 の更新された "A" レコードを送信します。 その結果、DNS サーバーはクライアントの "A" レコードを削除し、"AAAA" レコードを登録します。
この動作を回避するには、DHCP サーバーが既に構成されている場合に、これらのアダプターを使用して DNS レコードを動的に更新する DHCP クライアントを構成しないようにします。
Note
DHCP オプション 81 の詳細については、「 DHCP サーバーが "常に動的に DNS レコードを更新する"を使用する場合の未展開の DNS レコードの登録動作を参照してください。 この記事では、別の問題について説明しますが、DHCP オプション 81 の詳細について説明します。
既存の DNS レコードに対する DNS 動的更新プロトコルの更新が失敗する
既存のレコードに対する DNS 動的更新プロトコルの更新が失敗します。 この問題のため、DNS 清掃プロセスではレコードが期限切れであると見なされ、削除されます。
SRV レコードを必要とするサービスの場合、SRV レコードを登録できない場合、ローカル Netlogon サービスは "イベント ID 577X" イベントをログに記録します。 たとえば、ドメイン コントローラーの Netlogon サービスが LDAP SRV レコードの動的更新をトリガーし、その更新が失敗した場合、Netlogon サービスはドメイン コントローラーでイベントをログに記録します。 ホスト "A" と PTR レコードの登録の失敗に対しては、その他のイベントがログされます。 これらのエラーについては、DNS サーバーとその他の影響を受けるコンピューターのシステム イベント ログを確認します。 これらのレコードを登録するクライアントは、このようなイベントをログに記録したり、クライアントの代わりにレコードを登録する DHCP サーバーでログを記録したりする可能性があります。 これらの追加イベントは、エラーの原因に関する分析情報を提供できます。
アクティブな動的リースを予約に変換すると、そのクライアントの "A" レコードと PTR レコードが削除されます
この動作は仕様によるものです。 クライアントからの次の DHCP 更新要求時に、DNS レコード ("A" または PTR) が自動的に更新されます。
不要なネットワーク アダプターを DNS に登録しないようにする
接続アドレスを DNS に登録するようにネットワーク アダプターが構成されている場合、DHCP/DNS クライアント サービスは DNS にレコードを登録します。 登録しないネットワーク アダプターがコンピューターにある場合は、次の手順に従います。
- Network 接続で、不要なネットワーク アダプターのプロパティを開き、TCP/IP プロパティを開き、Advanced>DNS を選択し、[DNS でこの接続アドレスを登録する] チェック ボックスをオフにします。
- 左側のペインで DNS サーバー コンソールを開き、サーバーを選び、[アクション]>[プロパティ] を選びます。
- [インターフェイス] タブで [listen on only the following IP addresses]\(次の IP アドレスのみをリッスンする\) を選びます。 一覧から不要な IP アドレスを削除します。
- Zone プロパティ ページで、Name サーバー タブを選択します。ドメイン コントローラーの FQDN に加えて、このタブにはドメイン コントローラーに関連付けられている IP アドレスが一覧表示されます。 不要な IP アドレスが表示されている場合は削除します。
- ドメイン コントローラーの既存の不要なホスト "A" レコードを削除します。
DNS クエリ応答の遅延
DNS サーバーがクエリを到達不能フォワーダーまたはルート ヒントに転送すると、DNS クエリ要求がタイムアウトになる可能性があります。 この問題のトラブルシューティングを行うには、これらの手順に従います。
- DNS サーバーで DNS コンソールを開き、フォワーダーまたは条件付きフォワーダーに到達できるかどうかを確認します。 いずれかのフォワーダーに到達できない場合は、それらを削除します。
- DNS サーバーでフォワーダーとルート ヒントを使用する必要がない場合は、DNS サーバーで DNS コンソールを開き、サーバー Properties ウィンドウを開き、 Advanced を選択して、 Disable 再帰を有効にします。 (この設定ではフォワーダーも無効になります)。
イベント ID 4004 とイベント ID 4013
イベント メッセージ:
DNS サーバーが Active Directory を開けませんでした。 この DNS サーバーは、ディレクトリ サービス情報を使うように構成されており、ディレクトリにアクセスしないと動作しません。 DNS サーバーは、ディレクトリが起動するまで待機します。 DNS サーバーが起動しても、適切なイベントがログされていない場合は、DNS サーバーがディレクトリの起動を待機している状態です。
この問題をトラブルシューティングするには、「 AD DS をトラブルシューティングし、DNS サーバー サービスを再起動するを参照してください。
DNS サーバーの地理的場所ポリシーが期待どおりに機能しない
以下のシナリオについて考えてみます。
- "contoso.com" という名前の Active Directory 統合ゾーン (既定のゾーン スコープ) を使用します。
- 特定のサブネットに関連付けられている地理的位置ゾーン スコープを使用します。
- Windows PowerShell
Add-DnsServerQueryResolutionPolicy
コマンドレットを使用して、DNS 解決ポリシーを構成します。
このシナリオで望ましい結果は、クライアントが要求されたリソースを最初にローカル ゾーン スコープで、次に既定のゾーン スコープで見つけようとすることです。 ただし、組織がこれらのポリシーを構成した後、定義されたサブネットのクライアントは、既定のゾーン スコープ (contoso.com) でホストされているレコードを正常に解決できません。 たとえば、クライアントは hostA.contoso.comを解決できません。 DNS サーバーは、このような要求を受信すると、"サーバーエラー" メッセージを返します。
この問題をトラブルシューティングするには、「 DNS サーバーの geo ロケーション ポリシーが期待どおりに動作しない」を参照してください。
デュアル スタック クエリで転送された DNS 名前解決が失敗する
サード パーティの DNS サーバー ソリューションを使用しており、条件付き転送を使用するときに名前を一貫して解決することはできません。
ローカル DNS サーバー (10.100.100.70) は、条件付きフォワーダー (10.133.3.250) として構成されている DNS サーバーに接続できます。 DNS サーバーから条件付きフォワーダーへの最初の要求では、名前 (nbob1.contoso.com など) が正常に解決されます。 しばらくすると、名前解決が機能しなくなります。 条件付きフォワーダーに対する nslookup クエリは、"存在しないドメイン" エラー メッセージを返します。
転送コンピューター (ローカル DNS サーバー) の DNS サーバー キャッシュをクリアすると、名前解決が再開されます。 ただし、この修正は一時的なものです。
この問題をトラブルシューティングするには、「 デュアルスタック クエリでForwarded DNS の名前解決が失敗するを参照してください。
DNS サーバーの NIC チーミング構成が失われる
以下のシナリオについて考えてみます。
- DNS サーバー コンピューターには、NIC チーミング構成で使用する複数のネットワーク アダプターがあります。
- チーミング ネットワーク アダプターの IP アドレスをリッスンするように DNS サーバーを構成します。
- DNS マネージャーの [DNS サーバーのプロパティ] ダイアログ ボックスの Interfaces タブで、使用する IP アドレスを構成できます。
DNS サーバーを再起動すると、Windows によって設定が削除されます。 DNS サーバーは、すべての IP アドレスのリッスンを再度開始します。
この変更が発生すると、Windows は DNS サーバー イベント ログにイベント ID 410 を記録します。
制限付きインターフェイスの DNS サーバーの一覧に、サーバー コンピューターの有効な IP アドレスが含まれていません。 DNS サーバーは、コンピューター上のすべての IP インターフェイスを使用します。 DNS サーバーがリッスンする必要がある IP アドレスを確認およびリセットするには、DNS マネージャー サーバーのプロパティの [インターフェイス] ダイアログ ボックスを使用します。 詳細については、オンライン ヘルプの「選択したアドレスでのみリッスンするように DNS サーバーを制限するには」を参照してください。
この問題をトラブルシューティングするには、「 DNS サーバーが、構成された NIC チーミング IP アドレスではなく、すべての IP アドレスをリッスンするように戻すを参照してください。
DHCP サーバーが動的 DNS 更新を管理する場合の DNS レコード登録動作
Windows 動的ホスト構成プロトコル (DHCP) クライアントと Microsoft DHCP サーバーを使用して IP アドレスの割り当てと管理を行うインフラストラクチャがあります。 DHCP サーバーでは、次の設定に従って 有効な DNS 動的更新を選択しAlways によって DNS レコードが動的に更新されます。 この構成では、DHCP サーバーが "A" レコードと "PTR" レコードの動的 DNS 更新を管理することを想定しています。 ただし、クライアントとサーバーの両方で DNS レコードが作成されます。 構成に応じて、この動作には次の効果があります。
- 動的更新 非安全で安全 の DNS ゾーンを構成すると、DHCP サーバーによってレコードが作成され、DHCP クライアントによって同じレコードが削除されて再作成されることがわかります。
- dns ゾーンを Secure のみ 動的更新用に構成すると、DNS レコードに不整合が生じる可能性があります。 DHCP サーバーと DHCP クライアントの両方でレコードが作成されます。 ただし、DHCP サーバーは DHCP クライアントが作成したレコードを更新できません。DHCP クライアントは、DHCP サーバーによって作成されたレコードを更新できません。
この問題をトラブルシューティングするには、DHCP サーバーが "常に動的に DNS レコードを更新する" に設定されている場合の
データ収集
Microsoft サポートに連絡する前に、問題に関する情報を収集できます。
前提条件
- ローカル システムに対する管理者特権を持つアカウントのセキュリティ コンテキストで TSS を実行します。 TSS を初めて実行するときは、EULA に同意します。 (EULA に同意すると、TSS から再度メッセージが表示されることはありません)。
LocalMachine
スコープで、RemoteSigned
PowerShell 実行ポリシーを使用することをお勧めします。
Note
現在の PowerShell 実行ポリシーで TSS の実行が許可されていない場合は、次のアクションを実行します。
Set-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned
コマンドレットを実行して、プロセス レベルのRemoteSigned
実行ポリシーを設定します。- 変更が有効であることを確認するには、
Get-ExecutionPolicy -List
コマンドレットを実行します。
これらのプロセス レベルのアクセス許可は、現在の PowerShell セッションにのみ適用されます。 TSS が実行されている PowerShell ウィンドウを閉じると、プロセス レベルに割り当てられたアクセス許可が以前に構成された状態に戻ります。
Microsoft サポートに連絡する前に重要な情報を収集する
すべてのノードで TSS をダウンロードし、ファイルを C:\tss フォルダーに展開します。
管理者特権の PowerShell コマンド プロンプト ウィンドウで C:\tss フォルダーを開きます。
次のコマンドレットを実行して、クライアントとサーバーでトレースを開始します。
クライアント:
TSS.ps1 -Scenario NET_DNScli
サーバー:
TSS.ps1 -Scenario NET_DNSsrv
トレースがサーバーまたはクライアントで初めて実行される場合は、EULA に同意します。
記録を許可する (PSR またはビデオ)。
Note
クライアントとサーバーの両方でログを収集する場合は、問題を再現する前に、このメッセージが両方のノードに表示されるまで待ちます。
問題を再現します。
問題を再現したら、「 Y 」と入力して、データのログ記録を完了します。
TSS は、 C:\MS_DATA フォルダー内の圧縮ファイルにトレースを格納します。 分析のためにファイルをワークスペースにアップロードできます。