web-dev-qa-db-ja.com

プライベートネットワークのDNSサービス検出クエリがISPに送信されるのはなぜですか?

私は最近、個人のMac OS Xマシンでソフトウェアを介してISPのDNSサーバーに通常のDNSクエリを再ルーティング(プロキシ)することを含むいくつかのテストを行っていました。

私は、通常のコンピューターの使用から行われているすべてのクエリを見る機会がありました。そして、これらのものは私を興味深くさせました:

lb._dns-sd._udp.0.1.168.192.in-addr.arpa  
db._dns-sd._udp.0.1.168.192.in-addr.arpa  
b._dns-sd._udp.0.1.168.192.in-addr.arpa  
b._dns-sd._udp.0.1.168.192.in-addr.arpa  
db._dns-sd._udp.0.1.168.192.in-addr.arpa  
lb._dns-sd._udp.0.1.168.192.in-addr.arpa

私はどこかでこれらがAppleのBonjourサービス発見からのものであると読んだ。しかし、それはローカルネットワークでのみ機能するはずではないので、それらのクエリをISPのDNSサーバーに送信する目的は何でしょうか。それらの人は、マックを所有している人々からのこれらのクエリのボートロードで溢れていますか?!ここで何が欠けていますか?

PDATE:これらのクエリからの応答データを確認したところ、常に同じです。私は次のように見えます:

prisoner.iana.org

そして

hostmaster.root-servers

すべての応答で言及されています(注:私は生データを見ているので、これを適切にデコードしていない可能性があります。グーグルで見ると、他の人がhostmaster.root-servers.orgを取得していることがわかりますが、orgは表示されません私の応答の生のバイト)

1
Ivan Kovacevic

コンピュータのリゾルバライブラリには、プライベートアドレス空間とは何か、そうでないものとは何かという概念がありません。 DNS逆引き参照の要求は、マシンが使用するように構成されているDNSサーバーに送信されます。

同様に、クライアントアプリケーションは、構成されたDNSサーバーがユーザーによって操作されているのか他のエンティティによって操作されているのかを認識していません。彼らができる最善のことは、自動検出にDNSを使用する試み、および希望です。 )LANに対して権限のある独自のDNSインフラストラクチャを運用していること。

住宅/愛好家のシナリオでは、最も一般的なケースは、ISPのDNSサーバーを使用していることです。プライベートネットワークの逆引きDNSのクエリは、ISPに「リーク」します。 DNS仕様ではそれを回避する方法はありません。これは通常の操作と見なされます。その時点でISPがどのように応答するかは、完全に彼ら次第です。これらは最も一般的なケースです:

  • ISPは、プライベートネットワークスペース用に独自の信頼できる逆引きDNSを管理し、それを顧客に公開しています。多くの場合、これにより、それらのネットワーク上でそのIPアドレスを保持しているマシンのDNSエントリが検出されます。 (おっと)
  • ISPは、それ自体がそのIPスペースに対して権限があるとは見なさず、逆引きDNSについてIANAのトップレベルネームサーバーにクエリを「リーク」します。表示されているprisoner.iana.org.権限データは IANAのブラックホールサーバー からのものです。提供されたリンクでそれらの詳細を読むことができますが、短いバージョンでは、プライベートネットワークの逆引きDNSの漏洩は非常に一般的であり、これらのサーバーはIANAの実際のサーバーの負荷を軽減するように設定されています。
  • ネームサーバーソフトウェア(またはサーバーオペレーター)は、ほとんどのソフトウェアよりも思いやりがあり、クエリ自体をブラックホール化します。これは、最も可能性の低いシナリオです。 BINDは9.4.1でそのような機能を実装しました。これはempty-zones-enable(デフォルト:yes)によって制御され、返されるデータはempty-serverおよびempty-contactオプションの影響を受けます。
4
Andrew B