DNS only working on pi-hole server - no internet on other devices

Equipment:

  • Server: Debian 13 (trixie)
  • Server: A1466 MacBook Air
  • Not using docker
  • Router: SBG6782 Arris
  • I'm behind double NAT
  • Modem network: 3 Deco Modems (1.9.5 Build 20260602 Rel. 25369)
  • Router is 192.168.0.1
  • Modem is 192.168.68.1 (192.168.0.7)
  • Server is 192.168.68.109

Actual Behaviour:

I have re-installed pihole multiple times. At first, it was just an issue uploading images using pivpn, which prompted me to mess around with router settings believing it was an issue with pihole. Then, it seemed that only local DNS was not working. Now, I can only ping google.com, 1.1.1.1, etc through the pihole server, and everything else is offline when I set the DNS to the pihole. I'm pulling my hair out and I have no idea what's happening because it seems like everything should work.

Debug Token:

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

You have your network segment set to 192.168.68.0/24 and the router at 192.168.68.1/24. That all works okay, pings to 192.168.68.1 are good.

I'm not sure how your modem and router are connected, 192.168.0.0/24 is not directly accessible from the .68.0/24 subnet.

Tests show that the Pi-hole server is unable to resolve a test domain using an Internet server:

*** [ DIAGNOSING ]: Name resolution (IPv4) using a random blocked domain and a known ad-serving domain
[✓] rizmuko.shop is NOERROR on lo (127.0.0.1)
[✓] rizmuko.shop is NOERROR on enx00000000004f (192.168.68.109)
[✗] Failed to resolve doubleclick.com via a remote, public DNS server (8.8.8.8)

*** [ DIAGNOSING ]: Name resolution (IPv6) using a random blocked domain and a known ad-serving domain
[✓] www.impertrasf.click is NOERROR on lo (::1)
[✓] www.impertrasf.click is NOERROR on enx00000000004f (fe80::200:ff:fe00:4f%enx00000000004f)
[✗] Failed to resolve doubleclick.com via a remote, public DNS server (2001:4860:4860::8888)

There does seem to be successful resolution with the upstreams you have configured:

Sep 13 21:32:57 dnsmasq[1255]: query[A] icanhazip.com from 192.168.68.109
   Sep 13 21:32:57 dnsmasq[1255]: forwarded icanhazip.com to 9.9.9.9
   Sep 13 21:32:57 dnsmasq[1255]: forwarded icanhazip.com to 149.112.112.112
   Sep 13 21:32:57 dnsmasq[1255]: query[AAAA] icanhazip.com from 192.168.68.109
   Sep 13 21:32:57 dnsmasq[1255]: forwarded icanhazip.com to 9.9.9.9
   Sep 13 21:32:57 dnsmasq[1255]: reply icanhazip.com is 104.16.185.241
   Sep 13 21:32:57 dnsmasq[1255]: reply icanhazip.com is 104.16.184.241
   Sep 13 21:32:57 dnsmasq[1255]: reply icanhazip.com is 2606:4700::6810:b9f1
   Sep 13 21:32:57 dnsmasq[1255]: reply icanhazip.com is 2606:4700::6810:b8f1

I'm not sure what you are seeing as a problem, it's not clear. What do you mean by 'ping through the pihole server'? No traffic is routed through Pi-hole, it only handles DNS traffic.

I believe that the the modem at 192.168.68.0/24 is connected under 192.168.0.7 to the router which is 192.168.0.0/24.
In 'ping through pihole server' I just mean that while piHole was set as the server, using the pihole server I could ping public and local ips, as well as devices by their names and google.com. Other devices could not use DNS at all it seems.

ACKK. Ok I'm sorry it seems the router is connected via ethernet to one of the modems.

Need to clarify some terms here so we're all speaking the same language. The Deco units, from what I can ascertain, aren't "modems," it's a mesh router/access points setup - "mesh" typically meaning the access points communicate with each other over a wireless connection. The "modem" is going to be the device that is connected directly to your Internet Provider - such as coaxial cable, fiber, maybe 5G cellular over the air. That, in turns, might be connected to your router (maybe that's one of the Deco devices) via ethernet cable.

Assuming the Deco units are indeed mesh access points for your home Wifi, then the IP addresses you've provided in your problem description make sense.

Also, if you are successfully pinging external IP addresses, that's great as it would confirm there is a working Internet connection. That completely bypasses Pihole, though, as Pihole is only there to provide DNS resolution (i.e. "google.com" instead of 8.8.8.8).

If changing your DNS to Pihole makes a ping to 8.8.8.8 or 1.1.1.1 stop working, there's a non-Pihole cause that's preventing basic network connectivity.

All of this is meant to supplement what has already been offered, BTW, not an intended contradiction.

Yes!! Sorry, mesh is the word for it. On other devices when pihole was set with dns, I was able to ping 1.1.1.1 but not names which really makes me think it is pihole.

From a device that's on your network (preferably one you think you be using Pihole), enter and post the results of these commands:

nslookup www.google.com

nslookup www.google.com 8.8.8.8

Based on earlier responses, I expect the first command will fail but should provide some helpful information about where it's trying to resolve names.

Sorry for the late reply,
Yes, I set the pi to the dns and the first command failed. The result for the second one was:

```❯ nslookup www.google.com 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
Name: www.google.com
Address: 142.251.155.119
Name: www.google.com
Address: 142.251.154.119
Name: www.google.com
Address: 142.251.151.119
Name: www.google.com
Address: 142.251.153.119
Name: www.google.com
Address: 142.251.150.119
Name: www.google.com
Address: 142.251.157.119
Name: www.google.com
Address: 142.251.152.119
Name: www.google.com
Address: 142.251.156.11```

Additionally, it seems the server is not pingable now from my computer, which is odd since I thought I could ping it earlier. In this case, it might be related to the server not being connected to the internet?
Pinging 1.1.1.1 on the server no results in a 'Network is unreachable' error, which is different from before. I wonder if it is possible that something has gotten even more messed up due to me accidentally unplugging the ethernet cable :broken_heart: (In the past, every time I unplugged it, I had to set the interface up again. I believe there was one case where I also had to reassign the local IP?)

If you try to ping an IP address and get a failure, you have a network issue over and above any Pihole issues.

As I stated in my earlier post, we need the response it gave for the first command (that failed) because the error response can give us a clue. Namely, the IP address of the system it's trying to use for DNS resolution. If we get that, we can start to determine why that IP address is not giving DNS information.

Ok! Thankfully last night I was able to fix it. Everything seems to be back to the way it was when pihole was originally not working as the DNS server for my network. ip addr, ip link, and ip route all seemed normal both when the dns was set to 1.1.1.1 and 192.168.68.109 on the PiHole server. While the Pihole was set for DNS, I ran the lookup again on my main computer (internet was not available due to the dns failure occuring again):
❯ nslookup www.google.com
;; connection timed out; no servers could be reached

I would have expected the output for nslookup to be similar to:

nslookup www.google.com
Server:  UnKnown
Address:  10.201.63.5

That tells me my DNS server is 10.201.63.5.

The "connection timed out" message would imply that when you have Pihole defined as your DNS server, either Pihole isn't set up to respond or something is blocking the request from your device to Pihole.

I'm wondering if the device running Pihole is blocking incoming requests on port 53 (DNS). I would suspect the debug log you submitted might have a clue, but as a fellow user, I don't have access to that log and your original one might have expired anyway.

Given that you've made some changes, it would probably be good to submit a new debug log so that the devs can have another peek at it.