Pi-Hole works everywhere except Android Phones

Token is zw87tkeqoj

123456

Does this match the value of net.dns1? 2a02:...:d1d0 (for more hex characters to compare with, check IPV6_ADDRESS in /etc/pihole/setupVars.conf)

Nope.
They dont match

Edit

If i run ifconfig I seen to have 6 entries for inet6 addr

What does it start with? Or if you want, you can share the whole address.

It starts with fdb3

Also see above edit...I seem to have 4 ipv6 addresses!?

Yes, IPv6 often has multiple addresses due to how it works (differently than IPv4 in many ways). I myself haven't dabbled much in it, but addresses that start with fe80 are local to your network, while others may be routable by the internet, and some are more permanent than others.
On the Pi-hole, what is the result of dig @ip_address doubleclick.com where ip_address is the address in net.dns1?

pi@raspberrypi:~ $ dig fdb3:2b39:77fe:0:9221:6ff:fe7c:5078 doublelick.com

; <<>> DiG 9.9.5-9+deb8u11-Raspbian <<>> fdb3:2b39:77fe:0:9221:6ff:fe7c:5078 doublelick.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23149
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;fdb3:2b39:77fe:0:9221:6ff:fe7c:5078. IN        A

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue May 30 01:54:37 BST 2017
;; MSG SIZE  rcvd: 53

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38965
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;doublelick.com.                        IN      A

;; ANSWER SECTION:
doublelick.com.         599     IN      A       72.52.4.119

;; Query time: 52 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue May 30 01:54:37 BST 2017
;; MSG SIZE  rcvd: 59

Don't forget the @!

dig @fdb3:2b39:77fe:0:9221:6ff:fe7c:5078 doublelick.com

Oops!!

pi@raspberrypi:~ $ dig @fdb3:2b39:77fe:0:9221:6ff:fe7c:5078 doublelick.com

; <<>> DiG 9.9.5-9+deb8u11-Raspbian <<>> @fdb3:2b39:77fe:0:9221:6ff:fe7c:5078 doublelick.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8990
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 8192
;; QUESTION SECTION:
;doublelick.com.                        IN      A

;; ANSWER SECTION:
doublelick.com.         590     IN      A       72.52.4.119

;; Query time: 7 msec
;; SERVER: fdb3:2b39:77fe:0:9221:6ff:fe7c:5078#53(fdb3:2b39:77fe:0:9221:6ff:fe7c:5078)
;; WHEN: Tue May 30 02:12:01 BST 2017
;; MSG SIZE  rcvd: 59

Just another point to add....

If I connect to my home network externally via OpenVPN​ (pivpn) I still see adverts

Set Dnsmasq to listen on all interfaces via the web settings page.

It's currently set to

Listen on all interfaces, but allow only queries from devices that are at most one hop away (local devices)

It's correct. Also in /etc/openvpn/server.conf edit push "dhcp-option piholeIP"

1 Like

My openvpn.conf already contain a the following lines...

# Set your primary domain name server address for clients
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

Should I add duplicate lines with my pi ipv4 and 6 addresses?
Surely this wont solve the issue though, as pihole is not functioning on android irrespective of whether I'm connected to the VPN or not?

Returning to my original problem, it seems that my Android phone defaults to the IPv6 DNS provided by my router (which is unchangeable and can't be disabled), while my Apple devices have no problem using the Pi-Hole's IP as its DNS. Is there any way around this other than getting a new router?

I had a ton of issues with android phones and PiHole originally so I downloaded a simple tool called PingTools from the Play store. Its where I immediately noticed they weren't using the IP for the PiHole as their DNS server.

What model of router do you have that you can't edit the information it is providing for DHCP? If its provided by your ISP that would make sense and yes, it would essentially require that you replace it with a model you control.

It's a Netgear C7100V. I purchased the router myself through Amazon, but as it's a modem, router, and voice combined unit, Comcast still has control over many of the settings.
And to clarify, I'm able to change DHCP settings for IPv4, but not for IPv6. I assume that Android is simply set to use the IPv6 settings provided by the router, while my iPad is defaulting to the IPv4 set by the Pi-Hole.

I have to admit that I was away for a longer time and hence haven't read all the 37 posts in this thread, but have you tried to switch to Pi-hole's DHCP server? (you will have to disable the DHCP server in the router altogether).

The Pi-hole DHCP server is IPv6 aware and can broadcast the Pi-hole also as IPv6 DNS server using RAs.

I am using the Pi-Hole's DHCP (IPv4 + IPv6) server, but I cannot disable the IPv6 DHCP on my router, so I assume that's where the issue lies.

Okay, I see this now. I see no other option than trying to contact Netgear and asking them if there is a hidden way to disable the IPv6 DNS server broadcasts :confused: .