PiHole suddenly stopped forwarding DNS resolutions? No internet

The issue I am facing:

When PiHole is running, and I go on a webpage it states "DNS Probe Error" and gives me the dinosaur. When I use my routers DNS server, i.e. don't go through PiHole, it works.

Details about my system:

Pi Zero W running PiHole and Unbound.

What I have changed since installing Pi-hole:

Nothing really? Not that I know off at least. Maybe updated?

Debug log token is Rp9plBLN

Make sure that your device running Chrome is using Pi-hole as its DNS. Try also clearing Chrome's cache.

I don't think that's it, as the issue occurs on all browsers and TV (Netflix etc) and Android says "connection limited" under the WiFi network.

Anyone able to help before debug token expires? Thank you :slight_smile:

Try using other DNS servers. From your debug log, I see you are using two public IPv6 servers and a local one that might be an unbound resolver. Any particular reason for picking these servers?

The unbound one, I followed the unbound guide in the docs.pi-hole.net guide. The two IPv6 ones because I wasn't able to figure out how to set up unbound for IPv6 so I just choose those two.

When I use the routers (Spectrum) own DNS servers, it works. When I set it to route via PiHole it doesn't.

You don't need to set up unbound for IPv6. Any resolver running over IPv4 can resolve both A (IPv4) and AAAA (IPv6) DNS queries.

An example from my unbound on an IPv4 network:

dig -t AAAA +short cnn.com @127.0.0.1 -p5335
2a04:4e42:400::773
2a04:4e42:800::773
2a04:4e42:200::773
2a04:4e42:c00::773
2a04:4e42:e00::773
2a04:4e42:600::773
2a04:4e42::773
2a04:4e42:a00::773

dig -t A +short cnn.com @127.0.0.1 -p5335
151.101.67.5
151.101.195.5
151.101.3.5
151.101.131.5

I would eliminate the superflous IPv6 DNS servers and let unbound do the work.

Ah, fair enough. I did just try turning off the IPv6 DNS servers and it still doesn't work though

What is the complete output of the following command from the Pi terminal:

sudo grep -v '#\|^$' -R /etc/unbound/unbound.conf*

It's:

What are the outputs of the two dig commands I posted earlier, when run from your Pi terminal?

Pretty much the same as yours:

This confirms that unbound is working properly.

Run the commands a second time with the specific port assignment, and see if you get the same results when the query routes through Pi-hole to unbound.

dig -t AAAA +short cnn.com @127.0.0.1

dig -t A +short cnn.com @127.0.0.1

Yes, I get the same response, but still having the same issue on all my devices - no internet when connected through the raspberry pi

From a client on your network (with the Pi-hole set as DNS), and from the terminal or command prompt on that client (and not via ssh to the Pi terminal), what are the outputs of the following:

nslookup flurry.com

nslookup flurry.com 192.168.1.203

Sorry it took me so long to reply, but I had work and could not afford to have PiHole interfere with the internet.

The results are as follows:

nslookup flurry.com
DNS request timed out.
    timeout was 2 seconds.
Server:  UnKnown
Address:  2603:<redacted>:1

DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
*** Request to UnKnown timed-out
nslookup flurry.com 192.168.1.203
Server:  pi.hole
Address:  192.168.1.203

Name:    flurry.com
Addresses:  ::
          0.0.0.0

What can I do now? It still doesn't work :frowning:

From my layman's eyes, that test appears to be telling you the client you ran nslookup from has an IPv6 address configured as its DNS, but that IPv6 address/device does not have a DNS service running on it.

So you've got to figure out either a way to have your DHCP settings hand out the IPv6 address of your Pihole device, or manually configure the client you ran this test from to use the DNS you specify, or disable IPv6 so it will use IPv4 for DNS resolution.

The second command is where you told nslookup to specifically use the Pihole device for DNS, using its IPv4 address. This second command, by querying Pihole for the flurry.com address, returned the expected Pihole block of flurry.com (0.0.0.0).

In other words, if you force your test client to use Pihole, it works. If you instead allow it to query its default name server, it encounters an error.

Hope that helps, and that I gave reasonably accurate information.

2 Likes

Ah thank you, I see that makes sense.
How do I fix this? I am relatively new to this, I don't see many settings for DHCP. The modem / router I use is one from Spectrum (E31N2V1 and SAC2V1K respectively) and I can't find any info about how to use this really. Unfortunately, I can't change modem / router right now.

I have a lot of clients, including TVs, where I can't specify DNS so that's out of the question.

If I disable IPv6 on PiHole, Spectrum routes everything through IPv6 so PiHole is useless then as it doesn't block anything.
Any suggestions how to go from here?

That device may not give you the option to change the settings you would need to change.

But you said if you disable IPv6 on the Pihole, Spectrum routes everything through IPv6. That doesn't sound right; if your only DNS server is the Pihole, then ALL DNS requests will go through the Pihole, whether they're IPv4 or IPv6. Pihole doesn't need IPv6 to work, if IPv4 is active.

This article says you can change your DNS settings via the Spectrum Wifi App. If that's true, you should be able to specify the IPv4 address of your Pihole and it would work, I believe.

Hmm ok, yes I can change the DNS server to my Pi, however when I do so with IPv6 disabled, it blocks for a little bit and then stops blocking after a while. And I noticed that the clients use IPv6 when that happens, which is why I suspected that it doesn't work for IPv6.

Any idea why that could be?

EDIT: Odd, I just disabled the IPv6 on PiHole to test it out, but I still can't connect. Help :frowning: