2

I have an internal DNS server that provides DNS names to my internal servers. For example, my DNS server points "files.mydomain.com" to my NAS's Web interface at 192.168.1.200.

I also have a public DNS server running, exposing the same domain to the Internet, but providing publicly accessible IPs rather than the internal (192.168.1.x) IPs. So for example, resolving "files.mydomain.com" from the Internet will resolve to 12.34.56.78.

The problem is, the machine at 12.34.56.78 is a gateway/firewall, so it will not "redirect" connections that come from within the LAN, and even if it did, it'd be hugely inefficient. Even though my system is configured to use my internal DNS server, Google Chrome still resolves "files.mydomain.com" to 12.34.56.78. Resolving the domain in any other situation - other browser, command line, etc. - properly returns the correct internal IP of 192.168.1.200.

From reading around the Web, this seems to be related to Google's async DNS service in Chrome, which overrides the system DNS and goes first to Google's DNS servers. It seems that only if it fails there, will it actually use the system DNS. Since "files.mydomain.com" does resolve externally (from Google's PoV) to 12.34.56.78, Chrome tries to connect there, and fails. Instead, inside the LAN, I need Chrome to connect to 192.168.1.200. Various options used to exist, but have been disabled or removed from Chrome (the commit messages often read along the lines of "we don't need this feature anymore"). Frustrating.

Apologies if this sounds harsh, but please, no answers asking me to 1) setup IPv6 DNS, 2) somehow redo my network so that Google's DNS will give an internal IP to Chrome (horrible idea, plus it stops access from outside the LAN from working), or 3) use the hosts file (won't stand up to possible DNS changes on the internal server).

How do I get Google Chrome to stop using Google DNS to resolve IP addresses?

Observed on all platforms - Windows, Mac and Linux.

3

The setting to disable the built-in asynchronous DNS cache was removed from the chrome://flags page as of this writing, but it can be disable using the command-line switch --disable-async-dns

  • This works perfectly. Here's hoping Google doesn't eventually remove even this option. I'm guessing Google somehow monetizes on our DNS queries, which is why they really want them all going through their DNS...? – fdmillion Feb 8 '16 at 1:31
1

There was a way to deactivate Chrome ipv6 DNS but was removed by google

I would consider using a local host file as a black hole. There is a pretty extensive write up on how to do that here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.