キャッシュサーバー(8.8.8.8に転送)として使用されるBIND9を含むUbuntu 12.04があります。
たとえば、次のようにすると、dig +norecurse @l.root-servers.net www.uniroma1.it
次のような結果が表示されます。
; <<>> DiG 9.8.1-P1 <<>> +norecurse @l.root-servers.net www.uniroma1.it
;(1つのサーバーが見つかりました)
;;グローバルオプション: +cmd
;;接続がタイムアウトしました。サーバーにアクセスできません。
Wiresharkを使用すると、発信クエリは正確ですが、着信応答がないことがわかります。なぜ?
dig www.uniroma1.it
PS正解を得るために私を使用してください。
答え1
あなたのコマンドはここでうまくいきます。私の考えでは、その地域やISPのファイアウォールがDNS要求や応答をブロックしているようです。dig www.uniroma1.it
ファイアウォールがISPによって提供されるような特定のサーバーへの要求を許可するため、一般的なシナリオが機能する可能性があります8.8.8.8
。
答え2
ルートサーバーは、権限のないドメインに対するクエリに応答しません。 +norecurse パラメーターを指定せずにコマンドを実行すると、.it ドメインへの参照リストを返す必要があります。ルートサーバーからAレコード応答を受信できません。
答え3
dig @nameserver domain.example.com
特定のネームサーバーでのみ機能せず、ほとんどの場合動作する場合は、特定の送信元からのトラフィックをブロックするネームサーバーに問題がある可能性があります。彼らはおそらく他のネームサーバー(?)にのみ応答したいと思うでしょう。明らかに、これはDNS問題のデバッグをより困難にするので、悪い動作です。
質問に投稿されたルートサーバーの例では機能しません。ただし、この動作はDNSホストDomainDiscount24のネームサーバーと一致します。たとえば、次のようになります。
dig @ns1.domaindiscount.net example.com
; <<>> DiG 9.11.5-P4-5.1ubuntu2.2-Ubuntu <<>> @ns1.domaindiscount.net example.com
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached
(使用はexample.com
はいですが、この場合でも、example.com
ドメインの正しいネームサーバーを指す答えを生成する必要がありますが、実際にDomainDiscount24でホストされているドメインを使用する場合、上記の動作は同じです。)