How to fix Broken DNS-Based Ad Blockers in Chrome

A new Feature was added to Chrome. It aims to speed up page loading times by resolving the IP address of a website. Before you click the link.

It works by scanning a web page as it loads. Finding any domain names linked and using a Domain Name Server. Finding the IP address associated with each of them.

Google says it should respect the DNS server that the user has configured on-device. This seems not to be the case. Users are reporting that DNS based ad-blockers like AdHell and DNS66 no longer function correctly on the latest version of Chrome.

Fixing DNS-Based Ad Blockers in Google Chrome

Step 1

First, you’ll need to navigate to chrome://flags in your URL. A menu will open where you will, Search for “DNS” and disable the feature entitled “Async DNS Resolver.”

Step 2

Next, we’ll need to clear the DNS cache. This is because Google will still have many different domain names resolved to their IP addresses. This means that toggling this feature isn’t enough. We can clear this cache pretty easily, simply navigate to chrome://net-internals. Navigate to the DNS tab and tap “Clear host cache.”

Step 3

Restart Chrome.

Why are my DNS-Based Ad Blockers Working with Google Chrome now?

With the recent change by Google. It will often use Google’s DNS and not respect any other on-device DNS service which is running. This impacts not only DNS-Based Ad Blockers but also anybody using a VPN the DNS requests will leak. It presents a privacy concern to many, not just a nuisance to those who don’t want to see advertisements.

Since it’s possible that the flag may be removed entirely when the feature becomes enabled by default in a future version of Chrome.