Debugging Tool does not use Ping6 correctly

Expected Behaviour:

Successful ping test to IPv6 gateway in debugging mode such as the ping6 test which I carried out manually (independent of pihole -d):

root@odroid:~# ip -6 route | grep default | cut -d ' ' -f 3
fe80::7eff:4dff:fe95:34c4
fe80::7eff:4dff:fe95:34c4
root@odroid:~# ping6 fe80::7eff:4dff:fe95:34c4
connect: Invalid argument
root@odroid:~# ping6 -I eth0 fe80::7eff:4dff:fe95:34c4
PING fe80::7eff:4dff:fe95:34c4(fe80::7eff:4dff:fe95:34c4) from fe80::8a12:dd8e:fb02:5b00%eth0 eth0: 56 data bytes
64 bytes from fe80::7eff:4dff:fe95:34c4%eth0: icmp_seq=1 ttl=64 time=1.35 ms
64 bytes from fe80::7eff:4dff:fe95:34c4%eth0: icmp_seq=2 ttl=64 time=0.896 ms
^C
--- fe80::7eff:4dff:fe95:34c4 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.896/1.124/1.352/0.228 ms

I am using
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic

Ubuntu 18.04 LTS has switched to Netplan for configuring network interfaces. Netplan has replaced the old configuration file /etc/network/interfaces that was previously used for configuring network interfaces in Ubuntu.

Actual Behaviour:

root@odroid:~# pihole -d
[...]
*** [ DIAGNOSING ]: Networking
[✓] IPv4 address(es) bound to the eth0 interface:
   192.168.178.52/24 matches the IP found in /etc/pihole/setupVars.conf

[✓] IPv6 address(es) bound to the eth0 interface:
  [other IPv6 address] does not match the IP found in /etc/pihole/setupVars.conf (https://discourse.pi-hole.net/t/use-ipv6-ula-addresses-for-pi-hole/2127)
  [other IPv6 address] does not match the IP found in /etc/pihole/setupVars.conf (https://discourse.pi-hole.net/t/use-ipv6-ula-addresses-for-pi-hole/2127)
   fe80::8a12:dd8e:fb02:5b00 matches the IP found in /etc/pihole/setupVars.conf  

   ^ Please note that you may have more than one IP address listed.
   As long as one of them is green, and it matches what is in /etc/pihole/setupVars.conf, there is no need for concern.

   The link to the FAQ is for an issue that sometimes occurs when the IPv6 address changes, which is why we check for it.

[i] Default IPv4 gateway: 192.168.178.1
   * Pinging 192.168.178.1...
[✓] Gateway responded.
[i] Default IPv6 gateway: fe80::7eff:4dff:fe95:34c4
fe80::7eff:4dff:fe95:34c4
   * Pinging fe80::7eff:4dff:fe95:34c4
fe80::7eff:4dff:fe95:34c4...
ping: fe80::7eff:4dff:fe95:34c4
fe80::7eff:4dff:fe95:34c4: No address associated with hostname
[✗] Gateway did not respond. (https://discourse.pi-hole.net/t/why-is-a-default-gateway-important-for-pi-hole/3546)

Corective Action

The ping6 test in the debugging tool needs to add the interface (here: eth0) like:
ping6 -I eth0 fe80::7eff:4dff:fe95:34c4
or
ping6 fe80::7eff:4dff:fe95:34c4%eth0

Additional concern

Does pihole make the same mistake (not providing the interface eth0) while in normal operational mode (when debugging mode is not used)?

The debug is just a quick check for connectivity. This wont affect the operation of Pi-hole in any way.

This is not directly related to your assumption of incorrect ping usage, but maybe worth considering:

I've observed your usage of link local addresses (starting with fe80:) (click for more...)

While ping implementation in Ubuntu Bionic requires link specification (i.e. scope or interface) when pinging link-local addresses, Cosmic and Disco mark it as "can be used but it is no longer required". For complete comparison, see Ubuntu man pages for ping(8).


You might consider employing ULA addresses (from a random fd00::/8 range) instead, as recommended in Use IPv6 ULA addresses for Pi-hole.

From your post, I assume you are running a recent FritzBox (with Advanced View enabled), so open Home Network|Network|Network Settings|IPv6 Addresses and choose 'Always assign Unique Local Addresses (ULA)' from the list of available ULA options.

After renewing Pi-hole's leases (safest to achieve by a restart), you should edit /etc/pihole/setupVars.conf and /etc/pihole/local.list to reflect your new ULA-prefixed IPv6 address.

As a side note: If my assumption of you using a FritzBox is correct, then I find your gateway's link-local IPv6 address mildly confusing...

It does not seem to be a privacy extension address, yet your interface identifier does not resolve to any known vendor (where I would have expected AVM).
This might be explained perfectly by you obscuring the address when posting it, or other factors I am unaware of like more advanced setups including VPNs.
If you didn't alter your gateway's IP in any way, then you should probably double-check whether that address actually is your FritzBox.


This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.