競合する DNS レコードの原因を見つけるにはどうすればよいですか?
12 に答える
特定のドメイン名の 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.domaincontrolがstackoverflow.comのメイン ネーム サーバーであることを示しています。
出力の最後に、指定されたドメインのバックアップ サーバーを含むすべての権限のあるサーバーが一覧表示されます。
質問で単数形を使用しましたが、通常は複数の信頼できるネームサーバーがあり、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つの権限のあるネームサーバーのシリアル番号は同じです。良い。
*nix の場合:
$ dig -t ns <domain name>
「host」コマンドを使用して、ドメインのネームサーバーを見つけることができます。
[davidp@supernova:~]$ host -t ns stackoverflow.com
stackoverflow.com name server ns51.domaincontrol.com.
stackoverflow.com name server ns52.domaincontrol.com.
+trace オプションを常に追加するのが最善の方法であることがわかりました。
dig SOA +trace stackoverflow.com
別のプロバイダーでホストされている再帰的な CNAME でも機能します。+trace trace は +norecurse を意味するため、結果は指定したドメインだけのものになります。
グーグルで調べるべき用語は「決定的」ではなく「権威」です。
whois
Linux または Macでは、 、dig
、host
、nslookup
またはその他のコマンドを使用できます。nslookup
Windows でも動作する可能性があります。
例:
$ whois stackoverflow.com
[...]
Domain servers in listed order:
NS51.DOMAINCONTROL.COM
NS52.DOMAINCONTROL.COM
追加のクレジットについて: はい、可能です。
aryeh は間違いなく間違っています。彼の提案は通常、ホスト名の IP アドレスしか提供しないからです。を使用する場合はdig
、次のように NS レコードを探す必要があります。
dig ns stackoverflow.com
これはローカル DNS サーバーに問い合わせる可能性があるため、キャッシュにある間違った回答や古い回答を返す可能性があることに注意してください。
whoisサービスを利用できます。UNIX ライクなオペレーティング システムでは、次のコマンドを実行します。別の方法として、Web のhttp://www.internic.net/whois.htmlで行うこともできます。
whois stackoverflow.com
次の応答が得られます。
...ここで削除されたテキスト...
ドメイン サーバーのリスト順: NS51.DOMAINCONTROL.COM NS52.DOMAINCONTROL.COM
nslookup または dig を使用して、特定のドメインのレコードに関する詳細情報を見つけることができます。これは、説明した競合を解決するのに役立つ場合があります。
簡単な方法は、オンライン ドメイン ツールを使用することです。私のお気に入りはDomain Tools (以前の whois.sc) です。ただし、競合する DNS レコードを解決できるかどうかはわかりません。例として、stackoverflow.com の DNS サーバーは次のとおりです。
NS51.DOMAINCONTROL.COM
NS52.DOMAINCONTROL.COM