343

競合する DNS レコードの原因を見つけるにはどうすればよいですか?

4

12 に答える 12

443

特定のドメイン名の SOA (Start of Authority) レコードが必要になります。これは、広く利用可能なnslookupコマンド ライン ツールを使用して実現する方法です。

command line> nslookup
> set querytype=soa
> stackoverflow.com
Server:         217.30.180.230
Address:        217.30.180.230#53

Non-authoritative answer:
stackoverflow.com
        origin = ns51.domaincontrol.com # ("primary name server" on Windows)
        mail addr = dns.jomax.net       # ("responsible mail addr" on Windows)
        serial = 2008041300
        refresh = 28800
        retry = 7200
        expire = 604800
        minimum = 86400
Authoritative answers can be found from:
stackoverflow.com       nameserver = ns52.domaincontrol.com.
stackoverflow.com       nameserver = ns51.domaincontrol.com.

origin ( Windows ではプライマリ ネーム サーバー) の行は、ns51.domaincontrolstackoverflow.comメイン ネーム サーバーであることを示しています。

出力の最後に、指定されたドメインのバックアップ サーバーを含むすべての権限のあるサーバーが一覧表示されます。

于 2008-09-01T15:04:19.757 に答える
183

質問で単数形を使用しましたが、通常は複数の信頼できるネームサーバーがあり、RFC1034では少なくとも2つを推奨しています。

「正式なネームサーバー」ではなく「プライマリネームサーバー」を意味する場合を除きます。セカンダリネームサーバー信頼できます。

Unix上のドメインのネームサーバーを見つけるには:

  % dig +short NS stackoverflow.com
 ns52.domaincontrol.com.
 ns51.domaincontrol.com.

プライマリとしてリストされているサーバーを見つけるには(「プライマリ」の概念は最近かなり曖昧であり、通常は良い答えがありません):

% dig +short  SOA stackoverflow.com | cut -d' ' -f1
ns51.domaincontrol.com.

ネームサーバー間の不一致をチェックするために、私の好みはcheck_soa、Liu&Albitzの「DNS&BIND」本(O'Reillyエディター)で説明されている古いツールを使用します。ソースコードはhttp://examples.oreilly.com/dns5/で入手できます。

% check_soa stackoverflow.com
ns51.domaincontrol.com has serial number 2008041300
ns52.domaincontrol.com has serial number 2008041300

ここで、2つの権限のあるネームサーバーのシリアル番号は同じです。良い。

于 2008-12-24T07:47:25.057 に答える
42

*nix の場合:

$ dig -t ns <domain name>
于 2008-09-01T15:07:48.440 に答える
20

「host」コマンドを使用して、ドメインのネームサーバーを見つけることができます。

[davidp@supernova:~]$ host -t ns stackoverflow.com
stackoverflow.com name server ns51.domaincontrol.com.
stackoverflow.com name server ns52.domaincontrol.com.
于 2008-09-01T15:05:51.313 に答える
9

+trace オプションを常に追加するのが最善の方法であることがわかりました。

dig SOA +trace stackoverflow.com

別のプロバイダーでホストされている再帰的な CNAME でも機能します。+trace trace は +norecurse を意味するため、結果は指定したドメインだけのものになります。

于 2016-10-10T14:30:45.753 に答える
7

グーグルで調べるべき用語は「決定的」ではなく「権威」です。

whoisLinux または Macでは、 、dighostnslookupまたはその他のコマンドを使用できます。nslookupWindows でも動作する可能性があります。

例:

$ whois stackoverflow.com
[...]
   Domain servers in listed order:
      NS51.DOMAINCONTROL.COM
      NS52.DOMAINCONTROL.COM

追加のクレジットについて: はい、可能です。


aryeh は間違いなく間違っています。彼の提案は通常、ホスト名の IP アドレスしか提供しないからです。を使用する場合はdig、次のように NS レコードを探す必要があります。

dig ns stackoverflow.com

これはローカル DNS サーバーに問い合わせる可能性があるため、キャッシュにある間違った回答や古い回答を返す可能性があることに注意してください。

于 2008-09-01T15:10:24.687 に答える
2

whoisサービスを利用できます。UNIX ライクなオペレーティング システムでは、次のコマンドを実行します。別の方法として、Web のhttp://www.internic.net/whois.htmlで行うこともできます。

whois stackoverflow.com

次の応答が得られます。

...ここで削除されたテキスト...

ドメイン サーバーのリスト順: NS51.DOMAINCONTROL.COM NS52.DOMAINCONTROL.COM

nslookup または dig を使用して、特定のドメインのレコードに関する詳細情報を見つけることができます。これは、説明した競合を解決するのに役立つ場合があります。

于 2008-09-01T15:06:18.880 に答える
0

簡単な方法は、オンライン ドメイン ツールを使用することです。私のお気に入りはDomain Tools (以前の whois.sc) です。ただし、競合する DNS レコードを解決できるかどうかはわかりません。例として、stackoverflow.com の DNS サーバーは次のとおりです。

  NS51.DOMAINCONTROL.COM
  NS52.DOMAINCONTROL.COM
于 2008-09-01T15:01:25.147 に答える