Unable to update Pihole (github.com destination host unreachable)

I am unable to update my pihole because the installation cannot access github.com
Very similar to the situation described here Unable to update Pi-hole unfortunately the original poster did not give details into how they fixed it.

I am able to access github.com from client devices on the network so I am extremely stumped why the pihole itself cannot access it.

Expected Behaviour:

pihole up should complete without issue

Actual Behaviour:

pihole up fails because it cannot contact github.com

Debug Token:

https://tricorder.pi-hole.net/pig496ghb8

Additional information to help debugging:

The debug log says that 10.0.0.1 (my router) cannot be found, but it responds to manual pings

PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.616 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.500 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.463 ms
PING google.com(ord38s01-in-x0e.1e100.net (2607:f8b0:4009:811::200e)) 56 data bytes
64 bytes from ord38s01-in-x0e.1e100.net (2607:f8b0:4009:811::200e): icmp_seq=1 ttl=114 time=18.2 ms
64 bytes from ord38s01-in-x0e.1e100.net (2607:f8b0:4009:811::200e): icmp_seq=2 ttl=114 time=20.6 ms
64 bytes from ord38s01-in-x0e.1e100.net (2607:f8b0:4009:811::200e): icmp_seq=3 ttl=114 time=16.3 ms
PING github.com (140.82.114.3) 56(84) bytes of data.
From 10.0.0.16 (10.0.0.16) icmp_seq=1 Destination Host Unreachable
From 10.0.0.16 (10.0.0.16) icmp_seq=2 Destination Host Unreachable
From 10.0.0.16 (10.0.0.16) icmp_seq=3 Destination Host Unreachable
traceroute to github.com (140.82.112.4), 30 hops max, 60 byte packets
 1  10.0.0.16 (10.0.0.16)  3059.644 ms !H  3059.110 ms !H  3059.015 ms !H
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 9.9.9.9
nameserver 149.112.112.112
nameserver 2620:fe::fe
#nameserver 2600:6c4a:7b7f:f378:ce1c:b206:45d5:12ad
search lan
# A sample configuration for dhcpcd.
# See dhcpcd.conf(5) for details.

# Allow users of this group to interact with dhcpcd via the control socket.
#controlgroup wheel

# Inform the DHCP server of our hostname for DDNS.
hostname

# Use the hardware address of the interface for the Client ID.
#clientid
# or
# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.
# Some non-RFC compliant DHCP servers do not reply with this set.
# In this case, comment out duid and enable clientid above.
duid

# Persist interface configuration when dhcpcd exits.
persistent

# Rapid commit support.
# Safe to enable by default because it requires the equivalent option set
# on the server to actually work.
option rapid_commit

# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Respect the network MTU. This is applied to DHCP routes.
option interface_mtu

# Most distributions have NTP support.
#option ntp_servers

# A ServerID is required by RFC2131.
require dhcp_server_identifier

# Generate SLAAC address using the Hardware Address of the interface
#slaac hwaddr
# OR generate Stable Private IPv6 Addresses based from the DUID
slaac private
interface eth0
        static ip_address=10.0.0.16/24
        static routers=10.0.0.1
        static domain_name_servers=9.9.9.9 149.112.112.112

Post the actual error output please.

*** [ DIAGNOSING ]: Networking
[✓] IPv4 address(es) bound to the eth0 interface:
   10.0.0.16/24 matches the IP found in /etc/pihole/setupVars.conf
   169.254.45.253/16 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)
*** [ DIAGNOSING ]: Name resolution (IPv4) using a random blocked domain and a known ad-serving domain
[✓] longup.co is 0.0.0.0 via localhost (127.0.0.1)
[✓] longup.co is 0.0.0.0 via Pi-hole (10.0.0.16)
[✗] Failed to resolve doubleclick.com via a remote, public DNS server (8.8.8.8)

Doesn't look like your IPv4 is working/configured.

debian@beaglebone:~$ pihole -up
  [i] Checking for updates...
fatal: unable to access 'https://github.com/pi-hole/pi-hole.git/': Failed to connect to github.com port 443: No route to host
  [i] Pi-hole Core:	up to date
fatal: unable to access 'https://github.com/pi-hole/AdminLTE.git/': Failed to connect to github.com port 443: No route to host
  [i] Web Interface:	up to date
  [i] FTL:		update available

  [i] FTL out of date, it will be updated by the installer.

  [✓] Root user check

        .;;,.
        .ccccc:,.
         :cccclll:.      ..,,
          :ccccclll.   ;ooodc
           'ccll:;ll .oooodc
             .;cll.;;looo:.
                 .. ','.
                .',,,,,,'.
              .',,,,,,,,,,.
            .',,,,,,,,,,,,....
          ....''',,,,,,,'.......
        .........  ....  .........
        ..........      ..........
        ..........      ..........
        .........  ....  .........
          ........,,,,,,,'......
            ....',,,,,,,,,,,,.
               .',,,,,,,,,'.
                .',,,,,,'.
                  ..'''.

  [i] Existing PHP installation detected : PHP version 7.3.14-1~deb10u1
  [i] Performing unattended setup, no whiptail dialogs will be displayed
  [✓] Disk space check
  [✓] Update local cache of available packages

  [✓] Checking apt-get for upgraded packages... 147 updates available
  [i] It is recommended to update your OS after installing the Pi-hole!

  [i] Installer Dependency checks...
  [✓] Checking for dhcpcd5
  [✓] Checking for git
  [✓] Checking for iproute2
  [✓] Checking for whiptail

  [i] SELinux not detected
  [i] Performing reconfiguration, skipping download of local repos
  [✓] Resetting repository within /etc/.pihole...
  [✓] Resetting repository within /var/www/html/admin...
  [i] Main Dependency checks...
  [✓] Checking for cron
  [✓] Checking for curl
  [✓] Checking for dnsutils
  [✓] Checking for iputils-ping
  [✓] Checking for lsof
  [✓] Checking for netcat
  [✓] Checking for psmisc
  [✓] Checking for sudo
  [✓] Checking for unzip
  [✓] Checking for wget
  [✓] Checking for idn2
  [✓] Checking for sqlite3
  [✓] Checking for libcap2-bin
  [✓] Checking for dns-root-data
  [✓] Checking for libcap2
  [✓] Checking for lighttpd
  [✓] Checking for php7.3-common
  [✓] Checking for php7.3-cgi
  [✓] Checking for php7.3-sqlite3
  [✓] Checking for php7.3-xml
  [✓] Checking for php-intl

  [✓] Enabling lighttpd service to start on reboot...
  [✓] Checking for user 'pihole'

  [i] FTL Checks...

  [✓] Detected ARM-hf architecture (armv7+)
  [i] Checking for existing FTL binary...
  [i] Downloading and Installing FTL...curl: (7) Failed to connect to github.com port 443: No route to host
  [✗] Downloading and Installing FTL
  Error: URL https://github.com/pi-hole/ftl/releases/latest/download/pihole-FTL-arm-linux-gnueabihf not found
  [✗] FTL Engine not installed

  Unable to complete update, please contact Pi-hole Support

Yeah, No route to host shows there's no IPv4 route.

You can see that with ping 8.8.8.8. GitHub has no IPv6 connectivity.

I see you have 169.254.45.253 on the eth0 interface which is an APIPA address What is Automatic Private IP Addressing (APIPA)? - Definition from WhatIs.com and not typically seen on linux clients.

What is the exact configuration and device this is running on? There's an additional notice with pihole-FTL that shows there's something not quite right on the device:

   [2021-03-28 16:17:36.363 20442M] *************************************************************************
   [2021-03-28 16:17:36.363 20442M] * WARNING: Required Linux capability CAP_SYS_NICE not available         *
   [2021-03-28 16:17:36.363 20442M] *************************************************************************

It also looks like you've modified /etc/resolv.conf by hand, which indicates further that there is some networking problems going on.

I have manually edited resolv.conf to add the 3rd IPv6 nameserver. The one commented out is the IPv6 address for the pihole itself. Was an attempt to get everything working correctly but it doesn't seem to have made a difference. That was the only change made.

This is on Debian Buster on a Beaglebone Black board. If you look at my post history it's kind of been a pain in the butt for a while but we'd been working fine recently and I just wanted to keep the device up to date.

debian@beaglebone:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

The problem is that you have no IPv4 connectivity to the internet and GitHub is only accessible via IPv4.

So solve that and you'll be working again. That's an OS level configuration issue so you'll need to get some assistance from a forum or board that is knowledgeable in that area for your board and OS.

Wouldn't that result in some pretty serious issues though? I feel like I would have noticed deleterious performance in general, where the opposite is true. The pihole seems to be working extremely well I just want to keep it up to date.

You can't without IPv4. I've detailed a few things you can do to prove what I have asserted. You haven't done any of the pings or other steps to show you proof that you have no IPv4 connectivity to the internet.

For anyone else running into this same issue, I was unable to solve it and given the hassle that I have experienced running the pihole on a Beaglebone in general, I upgraded to a Raspberry Pi 4 and installed that into my network as it's more supported and if I run into issues in the future it should be easier to diagnose. Sorry to be the bearer of bad news, but at least you know what I did to solve the issue.

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