20

Is the common set up for Chrome that it will use a different DNS server, while Firefox and IE will use the OS networking default?

My Chrome (including one on virtual PC) will sometimes show "Resolving host" and wait there for 20, 30 seconds, while Firefox and IE won't. (so after 20, 30 seconds with a blank page, the page will finally not be able to load).

So is there something that Chrome is doing that makes it different?

6 Answers 6

23

Yes, sort of. Chrome has an option enabled by default called DNS caching/prefetching.

Usually this lets Chrome "speed up" a user's browsing experience because it caches/prefetches DNS queries.

If you're having problems, try disabling DNS prefetching under the Wrench -> Options -> Under the Hood.

edit: Chrome does not use its own servers to do DNS lookups. It does, however, lookup all the DNS entries of the links on a page when first loaded.

6
  • 2
    I doubt that uses a different DNS than the operating system's settings?
    – Arjan
    Nov 4, 2009 at 11:14
  • 7
    Bit dated, but I thought I'd respond anyway since I believe this is misinformation. Google Chrome does ignore your system's settings first, and uses Google's DNS first (2001:4860:4860::8888). I've seen this for a while, so I verified with a completely fresh, clean system, firewall logs, and packet sniffer. I haven't witnessed the same behavior on other browsers and worked around this "problem" by simply blocking with my firewall. Jan 19, 2014 at 15:32
  • 1
    Is this relevant to modern (circa 2015) versions of Chrome? I can't find the option today
    – G-.
    Mar 1, 2015 at 14:00
  • 1
    @G Yes, it's now (v42) under Menu > Settings > Show advanced settings... > Privacy > Prefetch resources to load pages more quickly. BUT, disabling that hasn't solved the incessant DNS errors I get (only in Chrome) since updating from Chrome 36 (I think) to 41 and now 42: net::ERR_NAME_NOT_RESOLVED, This webpage is not available. Ridiculous.
    – JMM
    May 21, 2015 at 15:24
  • An example where this causes issues, If you have your own DNS and website you configured with a new A record, run ipconfig /flushdns && ping example.com (on Windows). Verify the correct address shows. If the Google DNS resolver has a different address you will see it in chrome://net-internals/#dns If you clear this cache and refresh example.com in the browser, you will see which address it resolved. Sometimes I have noticed Google's server uses the * (asterisk) entry instead of the named entry. Jan 19, 2016 at 15:30
3

Chrome certainly uses the system DNS settings and not anything specific to itself, furthermore its network connectivity preferences makes use of the system preferences (on Windows at any rate, I haven't checked how this is handled on the recent Mac release) unlike Firefox which has it's own connectivity preferences stack but it will still have to make use of the underlying DNS and ip-settings of the machine there is no way for it to find any alternatives unless you set them at the (shared) system level.

There have been many complaints about its DNS pre-fetching feature, I haven't experienced problems with it but the volume of complaints indicates that if you are having any name resolution issues it should be the first thing you should look at.

AFAIK Chrome always issues IPv6 AAAA name requests, if your network setup uses a DNS setup
that doesn't respond nicely to these requests you can get extremely long delays with name lookup as it waits for an acceptable response before timing out and reverting to ipv4. Firefox had a similar problem but recent versions appear to handle poor\invalid ipv6 responses with more grace, I've tended to disable ipv6 lookup in Firefox (about:config, search for ipv6 and set network.dns.disableipv6 to true) so I don't see this in general anymore but recent versions of Firefox do not exhibit the symptom for me. Likewise the developer channel Chrome builds I use don't have a problem with this but I did see this on the early production releases and the Chrome OS VM's that have been doing the rounds suffer badly from it. There is an ongoing discussion about this on the browser\OS development front, handling poor ipv6 responses strictly is increasingly being seen as important as masking the failures means the real problem (poor DNS setups/poor support for ipv6 especially in consumer level networking hardware) doesn't come under pressure to be fixed.

My home DSL router (a Netopia 2247-02) defaults to setting itself up as DNS proxy and its responses to ipv6 AAAA requests trigger can this problem. I'm pretty sure that whether your setup will have problems with this depends on the specific behavior of the DNS you are using, changing the DNS provider (and making sure that the proxy behavior described above is disabled) should help.

1
  • I believe this has to be the designated answer. This answer certainly helped solve my problem. The problem was that I had configured my OS's IPv4 DNS settings, but not its IPv6 DNS settings. Chrome always queries IPv6, hence the discrepancy.
    – saintali
    Nov 22, 2013 at 19:59
2

I am quite certain that the DNS prefetching in Chrome is thoroughly broken. I have yet to see a Chrome install where this feature does not cause problems with resolving hosts (either long delays, or outright unable to resolve). My suggestion would be to always disable this under Options.

The features is called "Use DNS pre-fetching to improve page load performance"...which is quite laughable.

2

I had similar problem and link at https://networkguy.de/google-chrome-ignores-the-local-dns-server/ helped me to resolve this issue.

I was using local DNS which Chrome was ignoring and even though system correctly resolved domain name to local IP, Chrome was still accessing public IP of the router.

So solution is to go to chrome://settings/security?search=dns and disable "Secure DNS" feature.

1

Actually, Chrome can issue queries to its own DNS servers instead of the system defaults. This can be seen when overriding at your router (i.e. DHCP), as well as when using a a VPN app that is trying to set its own DNS servers. In both cases, Chrome still be seen using its own.

References:

0

I have noticed this behavior on Windows 7 box when connecting to localhost with Firefox. Every request took 1 second. Using Firebug I noticed that the time was taken in DNS lookup. Setting the about:config network.dns.disableIPv6 option to true worked around this issue. Unfortunately I can not help with Chrome. I will report back if I have success on this.

For what it it worth I also tried adding localhost to hosts file for vain. It did not have any effect in resolving. Maybe the ipv6 resolver does not use the traditional hosts file in Windows 7.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .