Pihole does not block IPV6 traffic

Expected Behaviour:

I expect no more adds on my devices.

Actual Behaviour:

I still see adds on my devices and the logs shows it is not blocking ipv6 requests.

Debug Token:

2pdvnhs284

I expect it may have something to do with the fact that my pi is originally setup to run osmc.

You only have IPv4 configured. Also,

[✗] No IPv6 address(es) found on the eth0 interface.

How would I fix this?

I have tried the following two settings in succession and rebooted after each but no change in this behavior.

  • I have enabled ipv6 by adding it to /etc/modules/
  • I have done pihole -r and reconfigured to block ipv6

I do have ipv6 enabled internet from my provider.

After enabling the module, do you have an IPV6 assigned to your device?

If yes, is it defined as the IPV6 DNS on your clients?

Output of lsmod:
cfg80211 602580 0
rfkill 24099 2 cfg80211
8021q 22254 0
garp 7537 1 8021q
stp 2126 1 garp
llc 5535 2 garp,stp
iptable_nat 2277 0
nf_conntrack_ipv4 8236 1
nf_defrag_ipv4 2087 1 nf_conntrack_ipv4
nf_nat_ipv4 7325 1 iptable_nat
nf_nat 18522 1 nf_nat_ipv4
nf_conntrack 122723 3 nf_conntrack_ipv4,nf_nat_ipv4,nf_nat
iptable_mangle 1900 0
snd_bcm2835 23408 0
iptable_filter 2184 0
snd_pcm 107188 1 snd_bcm2835
snd_timer 28469 1 snd_pcm
snd 76447 3 snd_timer,snd_bcm2835,snd_pcm
bcm2835_gpiomem 3751 0
bcm2835_thermal 3538 0
uio_pdrv_genirq 3846 0
uio 9972 1 uio_pdrv_genirq
fixed 3033 0
ip_tables 13381 3 iptable_mangle,iptable_filter,iptable_nat
x_tables 25755 3 iptable_mangle,ip_tables,iptable_filter
ipv6 458727 49

output of ifconfig
eth0: flags=-28605<UP,BROADCAST,RUNNING,MULTICAST,DYNAMIC> mtu 1500
inet 192.168.1.203 netmask 255.255.255.0 broadcast 192.168.1.255
ether b8:27:eb:3a:c4:ed txqueuelen 1000 (Ethernet)
RX packets 2525 bytes 458826 (448.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2249 bytes 1433348 (1.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 466 bytes 51283 (50.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 466 bytes 51283 (50.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

debug token is: huz72o9wq3

Looks like you don't have an IPV6.

Is IPV6 enabled on your router ? (LAN Facing)

IPV6 is enabled. If I run ifconfig from the local machine that I'm using to ssh with to my pi (all in local netwerk connected to the same router as my pi)

output:
enp0s31f6 Link encap:Ethernet HWaddr 70:85:c2:62:31:ba
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::XXXX:XXXX:XXXX:1a8c/64 Scope:Link
inet6 addr: 2001:XXXX:XXX:XXXX:XXXX:XXXX:XXX:XXXX/64 Scope:Global
inet6 addr: 2001:XXXX:XXX:XXXX:XXXX:XXXX:XXX:XXXX/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22014 errors:0 dropped:0 overruns:0 frame:0
TX packets:17750 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:19658166 (19.6 MB) TX bytes:2103901 (2.1 MB)
Interrupt:16 Memory:df000000-df020000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1207 errors:0 dropped:0 overruns:0 frame:0
TX packets:1207 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:109500 (109.5 KB) TX bytes:109500 (109.5 KB)

if you have ipv6 in your /etc/modules then it should work.

check /etc/sysctl.conf for any ipv6 related disable command:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

If you don't have these lines DO NOT ADD them.

IPV6 should work.

issue these commands:

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0

and then sudo ifconfig down && sudo ifconfig up

all lines in /etc/sysctl.conf were commented out.

I have issued both commands and rebooted using

sudo ifconfig eth0 down && sudo ifconfig eth0 up

Output of ifconfig still without ipv6 address.

I was wondering how enabling ipv6 is going to help me. I don't think I have an option to set an ipv6 dns address in my router. Or is this not required?

It is. If you client has an IPV6 IP it will default to DNS via IPV6.

In order for your connection via IPV6 to work, a valid IPV6 DNS is required (this is where the Pi-hole device IPV6 address comes in play).

Is your Pi-hole connected directly to the router ?

Issue modprobe ipv6

Enable privacy extensions:
echo "net.ipv6.conf.eth0.use_tempaddr 2" >> /etc/sysctl.conf echo "net.ipv6.conf.eth0.temp_prefered_lft 7200" >> /etc/sysctl.conf

edit /etc/dhcpcd.conf and change slaac private to slaac hardware

then sudo ifconfig eth0 down && sudo ifconfig eth0 up again.

if this doesn't force an IPV6 then you can always set your IPV6 via /etc/network/interfaces

No luck :frowning:

modprobe ipv6 or sudo modprobe ipv6 does not give any output.

I appended the to lines you suggested and changed the private to hardware. Still no luck.

try rebooting and if you still don't have an ipv6 then set it up via /etc/network/interfaces

Had to create /etc/network/interfaces

added the following lines:
auto eth0
iface eth0 inet6 auto

Nothing yet. I'm considering using a pi zero I have (doing nothing currently) with a clean install of CoreOS or simular.

ps. I rebooted in between as well.

I am running one instance of Pi-Hole on a pi zero w and it's been stable since day 1 (running raspbian stretch).

What operating system do you use on it?

Thanks for your help so far by the way!

Rasbian Stretch :slight_smile:

I will give it a try tomorrow!

I just did a fresh install of Rasbian Stretch on my rpi zero. I had a IPV6 address this time under ifconfig, so yeey! :slight_smile:

Installed pi-hole and asked it to configure ipv4 and ipv6. At the final screen is says that ipv6 is still not configured. When I run pihole -d it tells me:

IPv6 address(es) bound to the eth0 interface:
   fe80::XXXX:XXXX:XXXX:XXXX does not match the IP found in /etc/pihole/setupVars.conf

I'm a bit lost with the explanation of the FAQ to which is linked. Should I change anything in my router?

ps my token is qxkinwmpgt

your raspberry did not retain the IPV6 assigned to it when you installed it.
you can

that will make the IPV6 a little more stable.

After that, you have to run pihole -r and repair (so that the new IPV6 is set-up).

Or you could edit /etc/pihole/setupVars.conf and under IPV6= update the values to your current IPV6.

Also make sure that your current IPV6 is the actual IPV6 DNS on your clients.