通常、ドメイン名が登録された後、それはいくつかのDNSレコードを持ちます。しかし最近、DNSレコードを持たない登録ドメイン名がいくつか見つかりました。
たとえば、私はDig 00000onlinecasino.com any
を実行しましたが、これは登録ドメインであるという事実にもかかわらず、NSレコードでさえもDNSレコードを返さなかった。
DNSレコードがない可能性はありますか、それともDNSシステムに何らかのエラーがありますか?
TL; DR適切に登録されたドメインにDNSレコードが0 *あることはほとんどありません(技術的に不可能ではありません)。ドメインの存在は、ドメインレジストラによって提供される更新によってグローバルDNSシステムに通知される必要があります。レジストラがこの更新を提供しなかった場合、IANAから委任された義務を履行できなかったことになります。
ドメインが登録されると、Domain Registrarは、問題のTLDを担当する汎用トップレベルドメイン(gTLD)サーバーに更新を送信します。たとえば、ドメインexample.com
を登録すると、.com
gTLDサーバーの更新がトリガーされます。これは、 VeriSignが操作 です。
この更新には、ドメインのWHOISデータからの信頼できるネームサーバー(NS)レコードが含まれます。次に、gTLDサーバーは、権限のあるネームサーバーを指すドメインに対してDNSグルーレコードを作成します。これらのグルーレコードは、gTLDサーバーが受信クエリをドメインの権限のあるネームサーバーに参照できるようにするものです。
したがって、ドメインレジストラーがIANAから委任された義務を果たさない限り、登録済みドメインに対する検索は、そのドメインの信頼できるネームサーバーレコードを返します。
00000onlinecasino.com
を検索してもレコードが返されないのですか?上記のようにすべてが行われたようです。つまり、このドメインのレジストラ(NameBright.com)は必要なWHOIS entry を作成し、NSレコードを.COM gTLDサーバーに送信しました。 nslookupセットを実行してNSレコードを照会することにより、これを次のように確認しました。
C:\> nslookup -q=ns 00000onlinecasino.com
Server: my-dns-server.internal.local
Address: 192.168.168.1
Non-authoritative answer:
00000onlinecasino.com nameserver = n2.juming.com
00000onlinecasino.com nameserver = n1.juming.com
n2.juming.com internet address = 112.253.3.26
n2.juming.com internet address = 121.14.157.13
n1.juming.com internet address = 121.14.157.13
n1.juming.com internet address = 220.181.135.142
また、MeBSD.comのこの便利な Glue Record checker を使用して、結果を確認しました。
ただし、これらのネームサーバーのいずれかに対してsameクエリを実行すると、エラーが返されます。
C:\> nslookup -q=ns 00000onlinecasino.com n1.juming.com
DNS request timed out.
timeout was 2 seconds.
Server: UnKnown
Address: 220.181.135.142
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** Request to UnKnown timed-out
これらのサーバーはこのドメインに対して権限があるため、少なくともそれについて認識し、ドメインのNSレコードとして自分自身を識別する必要があります。これを考えると、これらのNSサーバーが正しく構成されていないことは明らかです。
*「ゼロDNSレコード」の定義が解釈されることを許可する必要があります。この質問のテストケースで示されているように、権限のあるネームサーバーは応答しておらず、ドメインにレコードがないという議論の原因となっています。ただし、ドメインのグルーレコードは本質的にドメインのNSレコードの「他の半分」であるという見解を好みます。グルーレコードがないため、ドメインの信頼できるネームサーバーを検索しようとすると、「[ここにネームサーバーを挿入]してください」という指示が循環します。
はい。これが起こる可能性がある複数の方法があります。
はじめに、www.example.com
のようなレコードに対するDNSルックアップのしくみを見てみましょう。
DNSリゾルバはルートネームサーバに連絡し、ルートネームサーバはcom
TLDネームサーバへの委任で応答します。
リゾルバはcom
TLDネームサーバーに連絡し、それはexample.com
の登録されたネームサーバーへの委任で応答します。
リゾルバは、example.com
の登録済みネームサーバーの1つに連絡し、www.example.com
のレコードで応答します。
まず、example.com
のネームサーバーがexample.com
のすべてのレコードを削除した可能性があります。ドメインサーバーはと仮定して特定のレコード(SOAとNSレコードを含む)を常に使用できますが、彼らにそうすることを強制するような実際には何もない。これらのレコードが欠けているドメインは一部のリゾルバでは正しく機能しないかもしれませんが、ドメインにDNSレコードがなくても実用的な違いはありません。
2番目に、example.com
のネームサーバーはクエリを拒否するか、または応答に失敗する可能性があります。 DNSレコードはこれらのネームサーバ内にのみ存在するため、ネームサーバがレコードに応答しない場合、レコードは事実上存在しません。
3番目に、com
レジストリはexample.com
の登録を一時停止することができます。ドメイン登録が失効した場合これにより、com
ネームサーバーは、example.com
ネームサーバーへの委任を返すのをやめ、そこにあるレコードを使用できなくなります。以前と同様に、レコードにアクセスできない場合は、レコードが存在しない可能性もあります。
ドメインを登録するには2つの部分があります - それをレジストリによって割り当てられてDNSをセットアップすることです。
ほとんどの(すべての)ドメインでは、ドメインを登録するためにDNSエントリを提供する必要があります(異なるtldは異なる要件を持ちますが、ほとんどは最低2 dnsのサーバーを指定する必要があります)。しかし、多くの場合、これらのネームサーバーが有効であるという要件はありません。これらのフィールドに何かを入力しなくても済むでしょうか。
2番目の部分はネームサーバー上のゾーンの設定です。通常、ドメイン名を登録するときにこのステップを省略することは可能ですが、ほとんどのレジストラはあなたの登録の一部としてここに何かを設定します。
したがって、いいえ、ほとんどの場合ネームサーバーを指定しないことは不可能ですが、指定されたネームサーバーフォントを使用する必要があります。この場合、whois(登録機関データベースを照会する)は一般にネームサーバーを表示しますが、Dig/nslookup(DNSの動作に依存します)は表示しません。
あなたが得ているもののいくつかのスクリーンショットに参加できればそれは助けになるでしょう。
しかし、この情報がなければ、私はあなたが間違った場所を見ていると理論づけます。
特定のネームサーバーがコマンド呼び出しで指定されていない場合、Digはあなたの/etc/resolv.conf
ファイルを調べ、そこにリストされているDNSサーバーに問い合わせます。
探しているドメインが resolv.conf のコピー内のDNSサーバーと一緒にリストされていない場合、それは見つかりません。
そのドメインのDNSサーバーをファイルに追加するか、あるいはDigコマンドでそれを指定する必要があります。