Setting Google Wifi DNS to pihole breaks internet connection

Expected Behaviour:

I'm running ubuntu server 20.04.01 on a raspberry pi 3 with pihole 5.2.2 installed.

My router is the original Google Wifi (not the more recent Nest branded version). I go into the Google Wifi app and change the DNS (Settings -> Network & General -> Advanced networking -> DNS) to "Custom" and put the ip of my pihole as the only DNS entry.

I expected that this would cause all of my network devices to route DNS requests through the pihole instead of the default Google DNS servers.

Actual Behaviour:

All devices on the network effectively lose their internet connection and I see a lot of reverse DNS lookups that all get forwarded to the Google wifi.

The ff....local client is the Google Wifi. You can see that requests from the Google Wifi get forwarded to the Google Wifi.

If i manually configure a client to use the pihole for DNS everything works great for that client (done with an iPad, Android device, Windows 10 PC, and a Macbook Pro -- all work great).

Some non-default settings that I'm aware of (besides some group management stuff):

Under Advanced DNS, I have every option checked (Never foward non-FQDNs, Never forward reverse lookups for private IP ranges, Use DNSSEC, and Use Conditional Forwarding (192.168.86.0/24 :: 192.168.86.1 :: left local domain name blank).

Debug Token:

(this was taken while the google wifi was not set to use the pihole as DNS).

https://tricorder.pi-hole.net/xfdihe38cx

It's likely you are closing a partial DNS loop (for local hostnames like the service discovery domain from your screenshot) by setting Pi-hole as your router's upstream DNS server.
Try disabling Conditional Forwarding (it's not doing anything in such a configuration anyhow, as your router will be the only device that sends DNS queries to PI-hole).

If your router allows, it would be preferred if it distributed Pi-hole as local DNS server via DHCP instead of using it as its upstream.

If your router doesn't allow that, you could consider to disable your router's DHCP server and enable Pi-hole's.

A couple things you said helped me understand what was going wrong. I believe you are correct that there was a partial DNS loop for local hostnames. My mistake was assuming the DNS setting on the Google Wifi was the DNS server that the Google Wifi would ship to device via DHCP and not the setting for the upstream DNS server. There is no way to modify any thing shipped to devices with DHCP on the Google Wifi. There is also no way to just disable the DHCP server.

I simply modified the DHCP IP address pool on the Google wifi to only server the one IP address to the pihole and added an IP reservation for it. This way I can safely use the DHCP server on the pihole and everything is working great now.

Thanks!

1 Like

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.