Why is the computer trying to send ICMP type 3 to OpenDNS

dnsiptablesnetworking

In my firewall logs I see lots of entries like this.

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 ]

It looks like the OpenDNS server at 208.67.220.220 sent my computer some kind of message by UDP from port 53, and my computer tries to respond with an ICMP code type 3 (which my firewall blocks, because I've configured it to block ICMP out, with a few exceptions.)

An ICMP type 3 coming from the OpenDNS servers would make sense, since my computer would try to query their servers, but I don't understand why my computer would try to send this message to their servers, unless their servers were trying to query my own computer for some destination, and I don't understand why their servers would do that.

Is that UDP packet coming from their severs some kind of query?

What's going on here?

Best Answer

You running Chrome by any chance on the computer with the IP 192.168.1.105? It would appear that Chrome attempts to do a prefetch using ICMP to OpenDNS.

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

Please see the help reference. It seems turning off DNS pre-fetching is possible.

You can turn it off by following the directions here:

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


EDIT #1: Follow-up Question

@ProxyNinja asked the following in the comments below:

But ICMP type 3 sounds like a response to a query. How would it be used in a prefetch?

To which I replied:

Doing the ping like this forces the local resolver to do the DNS query, there-by causing it to be resolved ahead of time, would be my guess. The ping is immaterial, it's the DNS resolution that it causes is what they're after.

Related Question