DNSLint ユーティリティの説明

この記事では、DNSLint ユーティリティとその構文について説明します。

適用対象: Windows Server 2012 R2
元の KB 番号: 321045

概要

DNSLint は、一般的なドメイン ネーム システム (DNS) の名前解決の問題を診断するのに役立つ Microsoft Windows ユーティリティです。

Microsoft サポート ファイルをダウンロードする方法の詳細については、次の記事を参照してください。

119591 オンライン サービスからMicrosoft サポート ファイルを取得する方法

Microsoft はこのファイルをスキャンしてウイルスを検出しました。 Microsoft では、ファイルが投稿された日付に利用可能な最新のウイルス検出ソフトウェアを使用しました。 ファイルは、ファイルに対する未承認の変更を防ぐのに役立つセキュリティ強化サーバーに格納されます。

DNSLint 関数

DNSLint には、DNS レコードを検証し、HTML レポートを生成する 3 つの関数があります。 3 つの関数は次のとおりです。

  • dnslint /d: "lame 委任" やその他の関連 DNS 問題の潜在的な原因を診断します。
  • dnslint /ql: 複数の DNS サーバー上の DNS レコードのユーザー定義セットを検証します。
  • dnslint /ad: Active Directory レプリケーションに特に使用される DNS レコードを検証します。

DNSLint はコマンド ライン ユーティリティです。 構文は次のようになります。

dnslint /d domain_name | /ad [LDAP_IP_address] | /ql input_file [/c [smtp,pop,imap]] [/no_open] [/r report_name] [/t] [/test_tcp] [/s DNS_IP_address] [/v] [/y]  

DNSLint を実行する場合は、または /ql のいずれかを/d/ad指定します。 その他のスイッチは省略可能です。

スイッチを /d 使用してドメイン名テストを要求します。 このスイッチは、lame 委任の問題をトラブルシューティングするときに役立ちます。

  • テストするドメイン名を指定します。
  • スイッチと一緒にスイッチを/d/ad使用することはできません。

スイッチを /ad 使用して Active Directory テストを要求します。

  • スイッチは /ad 、AD フォレストレプリケーションに使用される DNS レコードを解決します。

  • 既定では、ローカル システムの LDAP サービスが使用されます。

  • リモート LDAP サーバーの IP アドレスを指定できます (省略可能)。

  • 有効な IP アドレスのみが受け入れられます。 名前は受け入れられません。
    通常、Active Directory ドメイン コントローラーです。

  • オプションでスイッチを/ad/s使用します。ここで/s、AD フォレスト ルート内の_msdcs ゾーンに対して権限を持つ DNS サーバーの IP アドレスを指定します。

  • または /cではスイッチ/d/ad使用できません。

スイッチを /ql 使用して、一覧から DNS クエリ テストを要求します。

  • スイッチは /ql 、テキスト入力ファイルで指定された DNS クエリを送信します

  • 入力ファイルのパスと名前を指定します。

  • スイッチは /ql 、A、PTR、CNAME、SRV、MX レコード クエリをサポートします。

  • 次のコマンドを実行して、サンプル入力ファイルを作成します。

    dnslint /ql autocreate  
    
  • 、、または /cでスイッチを/ql/d/ad使用することはできません。

注:

  • 、、および を一緒に/ql使用/d/adすることはできません。
  • または /qlと一緒に/ad使用/cすることはできません。
  • を使用 /adする場合は、 も指定 /sする必要があります。

オプションのスイッチ

電子メール サーバーで接続テストを要求する場合に使用 /c します。

  • スイッチは /c 、検出された電子メール サーバー上の簡易メール転送プロトコル (SMTP)、POP、および IMAP ポートをテストします。
  • 既定では、3 つ (SMTP、POP、IMAP ポート) はすべてテストされます。 1 つまたは 1 つの組み合わせを指定できます。 これを行うには、コンマ区切りのリストを使用します。 /c pop,imap,smtp

レポートが自動的に開かないようにするには、 を使用します /no_open。 スイッチは /no_open スクリプトで役立ちます。

スイッチを /r 使用して、作成されるレポート ファイルの名前を指定します。

  • .htm ファイル名拡張子は、レポート名に自動的に追加されます。
  • レポートは HTML 形式で作成されます。 既定の名前は Dnslint.htm
  • 既定の場所は現在のディレクトリです。

スイッチを /s 使用して InterNIC whois ルックアップをバイパスします。

  • InterNIC に対してクエリを実行する代わりに、DNS サーバーの IP アドレスを指定できます。
  • スイッチは /s 、指定された IP アドレスを使用して DNS レコードのチェックを開始します。
  • 有効な IP アドレスのみが受け入れられます。 名前は受け入れられません。
  • InterNIC でサポートされていないドメイン名をチェックするには、このオプションを使用します。
  • を使用する場合は、 を使用/ad/sして、AD フォレストのルート ドメイン内の_msdcs サブドメインに対して権限を持つ DNS サーバーを指定する必要があります。
  • を使用 /adする場合は、localhost を実行 /s して、ローカル システムが AD テストで見つかったレコードを解決できるかどうかを判断できます。

を使用して /t 、テキスト ファイルへの出力を要求します。

  • テキスト ファイルは、.htm レポートと同じ名前を共有しますが、.txt ファイル名拡張子があります。
  • .htm レポート ファイルと同じディレクトリに作成されたテキスト ファイル。

を使用して /test_tcp 、TCP ポート 53 をテストするために要求します。

  • 既定では、UDP ポート 53 のみがテストされます。
  • オプションは /test_tcp 、TCP ポート 53 がクエリに応答しているかどうかを確認します。
  • オプションは /test_tcp と共に /ql使用できません。

を使用して /v 、画面への詳細な出力を要求します。

を使用して /y 、メッセージが表示されずに既存のレポート ファイルを上書きします。 スイッチは /y スクリプトで役立ちます。

必須パラメーター

DNSLint を実行するには、次の 3 つのパラメーターのいずれかを使用する必要があります。

  1. ドメイン名テストに使用 /d する
  2. Active Directory レプリケーション テストに使用 /ad します。
  3. クエリ リストで指定されたテストに使用 /ql します。

(ドメイン名テスト) スイッチを /d 使用して、特定の DNS ドメイン名をテストします。 このスイッチを使用して、"lame 委任" の問題やその他の関連 DNS の問題を診断します。 テストするドメイン名は次のとおりです。

  • インターネットで使用するために登録されている名前。
  • プライベート名前空間で使用される名前。

プライベート ネットワーク上のドメイン名、または 2 レベルを超えるレベルのインターネットに登録されているドメイン名をテストする場合は、 オプションを /s 使用する必要があります。

(Active Directory テスト) スイッチを /ad 使用して、Active Directory フォレストレプリケーションを担当する DNS レコードをテストします。 スイッチの後に /ad 、このテストに使用する LDAP サーバーの IP アドレスを指定します。 通常、Active Directory ドメイン コントローラーです。 DNSLint がドメイン コントローラーで実行されている場合、このスイッチの既定値は 127.0.0.1 であるため、IP アドレスは必要ありません。

(クエリ リスト テスト) スイッチを /ql 使用して、テキスト入力ファイルで指定された DNS レコードをテストします。 切り替え直後のテキスト入力ファイルの完全なパスと名前を指定します。 を実行 dnslint /ql autocreate して、In-dnslint.txt というサンプル テキスト入力ファイルを生成します。 このファイルには、必要な形式の説明が含まれています。 このファイルをテンプレートとして使用して、他の入力ファイルを作成できます。

その他のオプション スイッチ

(詳細) スイッチは /v "詳細モード" をオンにします。 このスイッチをオンにすると、DNSLint はデータ収集に必要な手順を画面に出力します。 この出力をファイルに送信できます。 たとえば、「 dnslint /v /d msn.com 」のように入力します。 既定では、DNSLint によって生成されるレポートの名前は Dnslint.htm。 (レポート) スイッチを /r 使用すると、DNSLint によって生成されるレポート ファイルの名前と場所を指定できます。 レポート ファイルには、テストされたドメイン名または DNS サーバーと同じ名前を付けることができます。 ".htm" ファイル名拡張子は、レポートが HTML 形式であるため、レポート名に自動的に追加されます。

既定では、DNSLint はレポート ファイルが生成された後、レポート ファイルの .htm ファイルに関連付けられているプログラムを使用して自動的に開こうとします。 通常、Microsoft Internet エクスプローラー は .htm 拡張子に関連付けられています。 DNSLint を使用してレポート形式を HTML 以外に変更する方法はありません。

レポート ファイルを書き込む場所を定義するには、レポート ファイルの完全なパスと名前を指定します。 DNSLint では、ローカル ドライブと汎用名前付け規則 (UNC) パスの両方がサポートされています。 たとえば、コマンド dnslint /d msn.com /r c:\reports\reskit は C:\Reports フォルダーに Reskit.htm というレポートを作成します。 コマンドは、レポート共有で server1 というリモート システムにレポートを作成します dnslint /d mydom.local /r \\\server1\reports\mydom 。 レポート名が Mydom.htm。

(テキスト) スイッチを /t 指定すると、DNSLint によってテキスト レポートと HTML レポートが生成されます。 テキスト レポートは、ファイル名拡張子が .txt されている点を除き、.htm レポートと同じ名前を使用します。 ファイルは、.htm ファイルと同じフォルダーに作成されます。 たとえば、コマンド dnslint /d msn.com /r c:\reports\reskit /t は C:\Reports フォルダーに 2 つのレポートを作成します。 1 つのレポートは Reskit.htm と呼ばれ、もう 1 つは Reskit.txt と呼ばれます。

既定では、生成するレポート ファイルと同じ名前のレポート ファイルがターゲット フォルダーに既に存在することを DNSLint が検出すると、DNSLint はファイルの上書きを求めるメッセージを表示します。 このオプションを /y 使用すると、DNSLint はアクセス許可を求めることなく、既存のレポート ファイルを上書きできます。 このオプションを使用すると、.htm ファイルと省略可能な .txt ファイルの両方が上書きされます。

コマンド dnslint /y /d msn.com /r c:\reports\reskit /t は、C:\Reports フォルダーに 2 つのレポートを作成します。 1 つのレポートは Reskit.htm と呼ばれ、もう 1 つは Reskit.txt と呼ばれます。 既存のレポート ファイルは、プロンプトを表示せずに上書きされます。

この /no_open スイッチにより、DNSLint が生成された後にレポートが自動的に開かなくなります。 このオプションは、次の操作を行わない場合に、スクリプトで DNSLint を使用する場合に便利です。

  • レポートをすぐに確認します。
  • DNSLint が実行されたシステムからのレポートを確認します。

たとえば、コマンド dnslint /y /d msn.com /no_open は Dnslint.htm という名前のレポートを生成し、既存のレポートを同じ名前で上書きします。ユーザーにメッセージを表示する必要はありません。 DNSLint は、レポートが完了したときに自動的に開くわけではありません。

を使用する場合/dは、/test_tcp(テスト TCP ポート 53) オプションを使用して、TCP ポート 53 をテストするように要求します。 現在、インターネット上の多くの DNS サーバーは、そのポートに対する攻撃の可能性を回避するために、TCP ポート 53 で DNS クエリを受け入れていません。 既定では、DNSLint の実行時にテストされるのは UDP ポート 53 のみです。 オプションを /test_tcp 指定すると、DNSLint が TCP によって 1 つの DNS クエリを送信し、応答が受信されたかどうかを報告します。

オプションは、 /test_tcp/ad/d使用できます。 ただし、オプションと /ql/ad/s localhost の/test_tcp組み合わせを使用することはできません。 関数を /ql 使用すると、TCP ポート 53 を入力ファイルから直接テストできます。 この関数は /ad /s localhost 、ローカルに構成された DNS サーバーが Active Directory フォレストレプリケーションに使用される DNS レコードを解決できるかどうかをテストします。 代わりに ip_addr を使用して TCP ポート 53 接続を/ad/sテストできます。ここで、ip_addrは、Active Directory ドメインのルートにある_msdcs ゾーンに対して権限を持つ DNS サーバーの IP アドレスです。

例: dnslint /d microsoft.com /v /test_tcp

(接続テスト) スイッチは /c 、DNS サーバーで指定されたドメイン名を検査しているときに、検出されたすべての電子メール サーバーで既知の電子メール ポートを DNSLint がテストすることを要求します。 SMTP、Post Office Protocol (POP バージョン 3)、インターネット メッセージ アクセス プロトコル (IMAP バージョン 4) がサポートされています。 既定では、スイッチが /c 指定されると、DNSLint は、検出された各電子メール サーバー上の 3 つのポートすべてに接続しようとします。

  • SMTP 用 TCP ポート 25
  • POP 用 TCP ポート 110
  • IMAP 用 TCP ポート 143

DNSLint は、各ポートが "Listening"、"Not listening"、または "No Response" にある状態を報告します。DNSLint は、ポートがリッスンしていることを検出した場合、ポートからの応答も返します。 たとえば、SMTP ポートがリッスンしている場合は、通常、次の例のように、SMTP プロトコルの仕様と一致する応答が返されます。

220 mailsrv.contoso.com Microsoft ESMTP MAIL Service バージョン: 5.0.2195.3705 Ready at Mon, 13 May 2002 17:08:36 -0700

ポートが "リッスンしていない" と報告されると、クエリ対象の電子メール サーバーがリセット フラグが設定された TCP パケットで応答したことを示します。 また、ポートでリッスンしているサービスまたはプログラムがないことを示します。

"応答なし" は、ターゲット電子メール サーバーが接続試行に応答しない場合に報告されます。 ターゲット サーバーが動作していて実行されている場合は、ポートがフィルター処理されていることを示します。

  • ターゲット サーバー。
  • DNSLint を実行しているクライアントとターゲット サーバーの間のどこか。

コマンドを実行すると dnslint /y /v /c /d msn.com 、Dnslint.htm という名前のレポートが生成され、既存のレポートが同じ名前で上書きされ、ユーザーにプロンプトが表示されます。 オプションが /c 指定されているため、標準の DNSLint レポートの下部に追加のセクションが追加されます。

ネットワーク接続テスト
電子メール サーバー: smtp-gw-4.msn.com
IP アドレス: 207.46.181.13

SMTP 応答:
220 cpimssmtpa18.msn.com Microsoft ESMTP MAIL サービス、バージョン:
5.0.2195.4905 ready at 火, 14 May 2002 09:26:06 -0700

POP 応答: NO RESPONSE (フィルター処理される可能性があります)

IMAP 応答: 応答なし (フィルター処理される場合があります)

注:

1 つ以上の POP サーバーが応答しませんでした。
1 つ以上の IMAP サーバーが応答しませんでした。

ターゲット電子メール サーバーがいずれかの電子メール ポートでの接続試行に応答しない場合、DNSLint は接続を 3 回再試行します。 これは、TCP クライアントの標準的な動作です。 DNSLint が "応答なし" であることを示す前に、3 つの個別の TCP 接続がタイムアウトするまで待機します。このプロセスにより、レポートの完了が遅くなる可能性があります。 DNSLint 操作を最適化するために、常に 3 つのポートをすべてチェックするのではなく、チェックする電子メール ポートまたはポートを指定できます。

既定では、 オプションを /c 指定すると、3 つの TCP ポート (25、110、143) がすべてチェックされます。 ただし、オプションの後にチェックするポートを/c指定できます。 オプションの直後にコンマ区切りリストを /c 指定します。 有効なポートのみを指定します: smtp、、popimap。 これら 3 つのポートの任意の組み合わせが機能します。 たとえば、 コマンドは、SMTP ポート (TCP ポート 25) のみをチェックすることを指定します dnslint /d contoso.com /c smtp

コマンド dnslint /d contoso.com /c popsmtp は、SMTP ポート (TCP ポート 25) と POP ポート (TCP ポート 110) のみをチェックすることを指定します。

コマンド dnslint /d contoso.com /c imap、pop は、IMAP ポート (TCP ポート 143) と POP ポート (TCP ポート 110) のみをチェックすることを指定します。

(サーバー) スイッチは/s、 および /ad 関数と共に/d使用できます。 スイッチには /s いくつかの目的がありますが、DNS サーバーの有効な IP アドレス (例外が 1 つ) のデータの種類は 1 つだけです。

を指定 /dすると、 オプションは /s DNSLint が既定で行う InterNIC Whois 参照をバイパスします。 その結果、DNSLint は、プライベート ネットワークと、インターネット上の第 2 レベルのドメインよりも深いドメイン名でテストを実行できます。 DNSLint では、InterNIC でサポートされていないドメイン名をテストすることもできます。 この記事が作成された時点で、InterNIC では、、、.coop.info.net.museum.int.edu.com、および .orgの各ドメイン.bizのルックアップがサポートされていました。Whois

を使用/ad/sする場合、スイッチは、Active Directory フォレストレプリケーションに使用される DNS レコードが登録されているサブドメインに対して権限のある DNS サーバーの IP アドレスを指定するために使用されます。 通常、Active Directory フォレストのルートにある_msdcs サブドメインです。 たとえば、Active Directory フォレストのルートが と呼ばれる myad.contoso.com場合、このドメインをホストする DNS サーバーもゾーンに対して権限を _msdcs.myad.contoso.com 持つ場合があります。 ゾーンでは、Active Directory レプリケーションで使用される DNS レコードが登録されます。 または、ゾーンを別の _msdcs.myad.contoso.com DNS サーバーに委任することもできます。 ただし、DNS インフラストラクチャは設計されていますが、 /s このオプションを使用して、ゾーンに対して権限のある DNS サーバーを _msdcs.myad.contoso.com 指定します。

オプションでは /s 、有効な IP アドレスを指定する必要があります。 この規則の唯一の例外は、次の組み合わせです。 dnslint /ad /s localhost

"localhost" は有効な IP アドレスではありません。 このパラメーターを /ad /s 組み合わせて指定すると、DNSLint はローカル システム (DNSLint を実行しているシステム) の機能をテストして、Active Directory フォレストレプリケーションに使用される DNS レコードを解決します。 再帰 DNS クエリは、ローカル システムの構成済み DNS サーバーに送信され、ローカル システムが Active Directory フォレストレプリケーションに使用される DNS レコードを解決できることを確認します。 これは、特定のドメイン コントローラーで Active Directory レプリケーションの問題をトラブルシューティングするときに役立ちます。

通常、このプロセス中にローカル システムの構成済み DNS サーバーがすべて照会されるわけではありません。 既定の DNS クライアント リゾルバーの動作が観察されます。 ローカル システムの DNS サーバーの一覧の上部にある DNS サーバーが応答しない場合は、一覧の次のサーバーが使用されます。