DNSLint を使用して多数の DNS レコードを確認する方法

概要

DNS レコードが存在しないか、正しくないことが原因で発生することがある問題の診断や修正を行うために、DNSLint の /ql (Query List) オプションを使用して、複数の DNS サーバー上の特定の DNS レコード セットを検証することができます。

詳細

複数の DNS サーバー上の DNS レコード セットを迅速に確認できると、多くの場合に多大な効果をもたらします。たとえば、クライアントが、ある Windows 2000 ドメインにログオンできない場合、LDAP サーバーおよび Kerberos サーバーを検索するためにクライアントが使用する Service Location レコードにアクセス可能であり、かつレコードの内容が正しいことを確認できれば、DNS がこの問題の原因であるかどうかを判断できます。ドメイン内に多数のドメイン コントローラがあり、これらのレコードをホストしている DNS サーバーが多数存在する場合、この確認作業に時間がかかり、確認が困難になることがあります。


また、もう 1 つの例として、ユーザーの Web サイトにユーザーの顧客がアクセスできない場合があります。DNS レコードが存在しないか、正しくないことが原因でこの問題が発生しているのかどうかを調べるには、Web サーバーのレコードをホストしている各 DNS サーバーに誤りがないことを確認する必要があります。DNS サーバーと DNS レコードの数が多くない場合は、Nslookup.exe を使用して、DNS レコードを即座に確認することができます。ただし、DNS サーバーの数が多く、サーバー上のレコード数も多い場合、Nslookup.exe を使用して確認を行うと時間がかかることがあります。


3 番目の例として、電子メールの送信が行えるにもかかわらず、電子メールを受信できない場合があります。この場合、メールが電子メール サーバーに滞留している可能性があり、おそらく名前解決に問題があります。名前解決に問題があるかどうかを調べるには、権限を持つすべての DNS サーバー上の関連する DNS レコードをすべて確認する必要があります。電子メール インフラストラクチャの規模と複雑さに応じて、この確認作業が複雑になり、時間がかかる可能性があります。


DNSLint で /ql オプションを使用することにより、複数の DNS サーバー上の多数のレコードを簡単に照会できます。DNSLint は、/ql オプションで指定されたファイルから命令を読み取ります。DNSLint は、このファイルが有効な DNSLint 入力ファイルであることを確認すると、ファイル内で指定されたクエリを実行し、読みやすい HTML 形式のレポートに結果を出力します。管理者はこの入力ファイルを使用して、照会する DNS サーバーや、各サーバー上で検索する特定の DNS レコードを指定して、検索できます。入力ファイルの形式は以下のとおりです。

DNSLint
[dns~server] 169.254.46.138
www.reskit.com,a,r
169.254.197.1,ptr,r

[dns~server] 169.254.46.200
reskit.com,cname,r
reskit.com,mx,r
_kerberos._tcp.dc._msdcs.reskit.com,srv,r
ファイルの先頭は "DNSlint" で始める必要があります。この単語は、DNSLint が入力ファイルを開いたときに最初に検索されます。ファイルを開いたときに最初の単語が "DNSlint" ではない場合、指定した入力ファイルが DNSLint で拒否され、エラー メッセージが表示されます。

[dns~server] 169.254.46.138
この行では、クエリの送信先となる DNS サーバーの IP アドレスを指定します。[dns~server] の後にスペースを入れてから有効な IP アドレスを指定します。これら 2 つの項目の片方が不足していると、指定した入力ファイルが DNSLint で拒否され、エラー メッセージが表示されます。


その後の行では、指定した DNS サーバーに送信するクエリを指定します。以下に例を示します。

www.reskit.com,a,r
169.254.197.1,ptr,r
クエリの形式は、名前、レコードの種類、クエリの種類の順です。


この行の最初のフィールドは、照会する名前です。たとえば www.reskit.com などです。名前の直後にコンマを入れます。コンマの前後にはスペースを入れないようにします。


2 番目のフィールドは、照会する名前の直後のコンマの次です。2 番目のフィールドは、照会する DNS レコードの種類です。マイクロソフトでは、以下の種類の DNS レコードをサポートしています。
  • a = Host
  • ptr = Pointer
  • cname = Alias
  • mx = Mail Exchange
  • srv = Service Location
レコードの種類の直後にはコンマを入れます。コンマの前後にはスペースを入れないようにします。


3 番目のフィールドは、送信する DNS クエリの種類です。このフィールドは、レコードの種類の後のコンマの直後です。有効なクエリの種類は以下のとおりです。
  • r = recursive
  • i = iterative
これら 3 つのフィールドはすべて必須です。また、クエリ行内には、スペースを挿入しないようにします。


4 番目のフィールドはオプションです。3 番目のフィールドに ",tcp" を追加した場合、DNSLint は、デフォルトの UDP プロトコルではなく TCP プロトコルを使用して、指定されたクエリを送信します。ここにも、スペースは挿入しないようにします。4 番目のフィールドを使用する場合は、このフィールドの後に何も入力しないようにします。


この機能の関連情報については、ダウンロードした DNSLint に含まれているドキュメントを参照してください。


下記のファイルは、「Microsoft ダウンロード センター」からダウンロードできます。



ダウンロード dnslint-v2.04.exe パッケージ

マイクロソフトのサポート ファイルのダウンロード方法を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
119591 オンライン サービスからマイクロソフトのサポート ファイルを入手する方法
マイクロソフトでは、アップロード時点の最新のウイルス検査プログラムを使用して、配布ファイルのウイルス チェックを行っています。配布ファイルはセキュリティで保護されたサーバー上に置かれており、権限のない第三者が無断でファイルを変更できないようになっています。
プロパティ

文書番号:330105 - 最終更新日: 2008/01/13 - リビジョン: 1

フィードバック