2016-05-12 21 views
-5

DNSサーバがオープンリゾルバであるかどうかをどのように知ることができますか?DNSサーバがオープンリゾルバであるかどうかを知る方法?

これを確認できるbashコマンドはどれですか?

+1

「無料のDNS」とは – Alnitak

+0

私は、それが同じ組織から来ていない場合、すべての法的DNS要求(再帰的な例)イベントを受け入れるDNSサーバーを定義するために使用された名前だと思った。 – Simon

+0

いいえ、これは「オープンリゾルバ」として知られています。名前を調べるために "dig @ip"を使うとヒントが得られますが、それを簡単に自動化して証明することはできません。また、このサイトの話題にもなりません。 – Alnitak

答えて

1

Zonemasterプロジェクトで行った方法は、疑問のネームサーバーSOAのクエリをRDフラグがほぼ確実に存在しない名前のxx--domain-cannot-exist.xx--illegal-syntax-tldに設定して送信することでした。レスポンスがNXDOMAINの場合、ネームサーバは再帰クエリを実行しているため、オープンリカーダです。応答が他の場合(REFUSEDSERVFAILまたはルートへの参照が一般的です)、それは問題ありません。

+0

お返事ありがとうございます。私がよく理解していれば、 'host xx-domain-can not-exist.xx-illegal-syntax-tld google.com'は' connection timeout'を返すのでgoogle.comはオープンリゾルバではありませんが、 '37.235.1.174'は1つは 'Host xx-domain-can not-exist.xx - illegal-syntax-tld not found:3(NXDOMAIN)'を返すからです。 (それは本当であるようです)。エラー応答NXDOMAINがDNSが再帰的クエリを実行したことを意味する理由を簡単に説明してください。 – Simon

+1

'NXDOMAIN'はクエリに対する正解です。ネームサーバは、ネームサーバを検索する必要があります。ネームサーバは、他のユーザを再帰的に参照している場合(つまりオープンリゾルバの場合) 。 'REFUSED'、' SERVFAIL'、およびroot-referralは、ネームサーバが「その質問に答えることができません」と言う異なる方法です。 –

関連する問題