Pihole doesn't block anything on my Xiaomi Mi A3 using Chrome

Expected Behaviour:

Blacklisted domains are blocked on all devices on my LAN.

Actual Behaviour:

Expected behaviour is met on my Windows laptop, but not on my Android phone.

Debug Token

Screenshot of my 'Network Overview' page at https://pi.hole/admin/network.php:

As can be seen from the screenshot, my phone is showing as being protected by the PiHole, yet it actually isn't. Any help to ascertain why would be very much appreciated. MTIA! :smiley:

EDIT: I just noticed that the 'Last Query' time shown in the screenshot is actually about an hour ago, whereas I have been testing this issue within the last 5 minutes. So it seems as though the Pi is picking up my phone and trying to protect it, but there is nothing in the query log when filtered to client IP 192.168.1.6 :confused:

What shows you that this is the case?

The domain that you suggested for testing in my first thread on this forum, flurry.com, loads fine on my phone but not on my laptop. Also, a game that I often play is still showing me in-app ads on the phone.

I haven't bothered testing this any further since I would expect those two things to be enough to convince anyone that PiHole is not working for my phone. Am I wrong about that?

No. If Pi-hole is not blocking domains for that device only, then the DNS traffic for that device is going elsewhere and Pi-hole does not have an opportunity to block it. I suspect the problem is not with Pi-hole, but with the configuration of the DNS settings on the Android phone. If some of the traffic made its way to Pi-hole, then Pi-hole will show that client as using Pi-hole.

Screenshot of running the suggested commands on my phone.

ipconfig /all command output:

Wireless LAN adapter Wi-Fi 2:

   Connection-specific DNS Suffix  . : lan
   Description . . . . . . . . . . . : Intel(R) Dual Band Wireless-AC 8275 #2
   Physical Address. . . . . . . . . : Removed for security purposes
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 192.168.1.2(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Saturday, 25 April 2020 11:35:14 PM
   Lease Expires . . . . . . . . . . : Monday, 27 April 2020 12:43:32 PM
   Default Gateway . . . . . . . . . : 192.168.1.1
   DHCP Server . . . . . . . . . . . : 192.168.1.1
   DNS Servers . . . . . . . . . . . : 192.168.1.100
                                       192.168.1.100
   NetBIOS over Tcpip. . . . . . . . : Enabled

192.168.1.100 is the Pi, so Windows is definitely configured correctly, but I have no idea how to configure DNS settings on my phone. I assumed that setting the Pi as my only DNS server in my router's config would prevent me from having to fiddle with each device separately, but I guess I was wrong.

Run getprop without arguments to see if any DNS settings show:

getprop

getprop | grep 'dns' also returns nothing :confused:

Might still miss if pipe to grep.
Did you disconnect/reconnect that phone from WiFi after you changed to Pi-hole in the router DHCP-->DNS section ?

The full ungrepped output from getprop is four pages long, so I can't post a screenshot of it :frowning: But quickly scanning over it, I didn't notice anything obviously-related to DNS.

No, but I just tried forcing my phone to forget the SSID and reconnected, to no avail. Can still load flurry.com in Chrome, even after a cache flush :frowning:

Whenever you make a DHCP change, the clients need to renew their DHCP lease for the new settings to propagate.
And do consider even DNS queries gets cached in the OS.
Try rebooting the phone.

Just realised that the phone is using the Pi as a DNS server, or at least it seems like it is...

That second IPv6 address is probably not Pi-hole ?

Problem still occurs, even after a reboot :frowning:

Ah-hah! You're probably right! %$#@ing IPv6 screws with me yet again...I've discussed this with others in my first thread. Don't suppose you know anything about disabling IPv6 on my LAN interface in OpenWRT?? And how would I disable it on the Pi?

Hold on.

LOL thanks mate. Appreciate your time and effort put into this :smiley:

1 Like

Yeah I vaguely remember running those commands before, as suggested here. My Google search for "openwrt disable ipv6" brought that up as the first result, and showed it as a previously-visited link. So I think that's how I "disabled IPv6" to begin with...or at least I thought I had!

EDIT: Just remembered what the problem probably is: I reflashed OpenWRT on my router recently, since I was having trouble with some other settings that I had misguidedly enabled. But re-running those commands still doesn't seem to have changed anything...my phone still shows that IPv6 address as a DNS server :@

Having said that, check this out:

C:\Users\username>nslookup fd77:bff1:b4d5::1
Server:  RaspberryPi
Address:  192.168.1.100

*** RaspberryPi can't find fd77:bff1:b4d5::1: Non-existent domain

Doesn't that last line mean that it's not a valid IP address?

I dont have openwrt so dont know how to validate settings.
Could ping @SirMuffington if he knows.

Switching off IPv6 on your router will just stop it from distributing a global public IPv6 prefix as supplied by your ISP.
It wouldn't stop your devices from assigning at least link-local IPv6 addresses for themselves, or a ULA address if they can get hold of a ULA prefix somehow. You'd have to switch off IPv6 on every single device individually to be sure to cut IPv6 from your network.

1 Like