なぜ私のコンピュータは OpenDNS に ICMP タイプ 3 を送信しようとしているのですか?

なぜ私のコンピュータは OpenDNS に ICMP タイプ 3 を送信しようとしているのですか?

ファイアウォールのログには、このようなエントリが多数表示されます。

IN= OUT=eth0 SRC=192.168.1.105 DST=208.67.220.220 LEN=148 TOS=0x00 PREC=0xC0 TTL=64 ID=55705 PROTO=ICMP TYPE=3 CODE=3 [SRC=208.67.220.220 DST=192.168.1.105 LEN=120 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=UDP SPT=53 DPT=25566 LEN=100 ]

208.67.220.220 の OpenDNS サーバーがポート 53 から UDP で何らかのメッセージを私のコンピューターに送信し、私のコンピューターが ICMP コード タイプ 3 で応答しようとしているようです (ファイアウォールは ICMP をブロックするように設定しているため、いくつかの例外を除いてこれをブロックします)。

OpenDNS サーバーから送信される ICMP タイプ 3 は、私のコンピューターが OpenDNS サーバーにクエリを実行しようとするため、意味をなしますが、OpenDNS サーバーが何らかの宛先について私のコンピューターにクエリを実行しようとしない限り、私のコンピューターがこのメッセージを OpenDNS サーバーに送信しようとする理由がわかりません。また、OpenDNS サーバーがなぜそのようなことを行うのか理解できません。

サーバーから送信された UDP パケットは何らかのクエリですか?

何が起きてる?

答え1

ひょっとすると、IP 192.168.1.105 のコンピューターで Chrome を実行しているのでしょうか? Chrome は ICMP を使用して OpenDNS にプリフェッチを試行しているようです。

http://productforums.google.com/forum/#!topic/chrome/spzCFoXR7m4

ヘルプリファレンスを参照してください。DNS プリフェッチをオフにすることは可能のようです。

以下の手順に従ってオフにすることができます:

http://www.google.com/support/forum/p/Chrome/thread?tid=7e45d89c67905b20&hl=ja


編集#1:フォローアップの質問

@ProxyNinja は以下のコメントで次のように質問しました:

しかし、ICMP タイプ 3 はクエリへの応答のように聞こえます。プリフェッチではどのように使用されるのでしょうか?

私はこう答えました。

このように ping を実行すると、ローカル リゾルバが DNS クエリを実行するよう強制され、それによって事前に解決されるようになると私は推測します。ping は重要ではなく、彼らが求めているのは、それが引き起こす DNS 解決です。

答え2

これはdnsmasqを実行しているシステムでは予想される動作です

ICMP タイプ 3 は「宛先に到達できません」です。これは、上流の DNS サーバーが応答を送信しようとしたが、応答が来る前にシステム上の受信ポートが閉じられたことを意味します。

他の回答のコメントで、dnsmasqを実行していると書かれています。デフォルトでは、dnsmasqに複数の上流サーバーが定義されている場合、一定数のリクエストごとにクエリを上流に送信します。全てそれらの 1 つです。これにより、現在どのサーバーが応答していて、どのサーバーが最も高速であるかがわかります。通常、最も高速なサーバーから応答を受け取った後、ポートが閉じられます。他の DNS サーバーからさらに応答が返された場合、それらをリッスンしているアプリケーションはもう存在しないため、dnsmasq がインストールされているシステムは「宛先に到達できません」という ICMP メッセージで応答します。ログにわずかな余分なトラフィックが表示される以外、実際には問題はありません。

詳細については、Debian バグ #580064誰かがこの問題を報告し、dnsmasq の主要開発者は、これは想定された動作であると返信します。

関連情報