Pihole with podman - Gateway did not respond

Expected Behaviour:

Pihole debug tests pass. Running pihole via podman on an rPI 3b+ w/ Fedora IOT

Actual Behaviour:

[i] Default IPv4 gateway(s):
     10.88.0.1
   * Pinging first gateway 10.88.0.1...
[✗] Gateway did not respond. (https://discourse.pi-hole.net/t/why-is-a-default-gateway-important-for-pi-hole/3546)

I'm a relative noob with podman/containers so not sure if there is something I'm missing - should I be specifying a default gateway somewhere? I'm running pihole in /etc/systemd/system/pi-hole.service as follows:

[Unit]
Description=Pi-Hole Podman Container
After=firewalld.service

[Service]
ExecStart=/usr/bin/podman run --name=pihole --hostname=pi-hole --cap-add=NET_ADMIN --dns=127.0.0.1 --dns=1.1.1.1 -e TZ=Europe/Dublin -e SERVERIP=192.168.1.94 -e WEBPASSWORD=REDACTED -e DNS1=1.1.1.1 -e DNS2=1.0.0.1 -e DNSSEC=true -e CONDITIONAL_FORWARDING=true -e CONDITIONAL_FORWARDING_IP=192.168.1.1 -e CONDITIONAL_FORWARDING_DOMAIN=lan -e TEMPERATUREUNIT=c -v pihole_pihole:/etc/pihole:Z -v pihole_dnsmasq:/etc/dnsmasq.d:Z -p 80:80/tcp -p 443:443/tcp -p 67:67/udp -p 53:53/tcp -p 53:53/udp pihole/pihole
ExecStop=/usr/bin/podman stop -t 2 pihole
ExecStopPost=/usr/bin/podman rm pihole

[Install]
WantedBy=multi-user.target

Debug Token:

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

When I exec into the container, I see

[root@fedora-iot-rpi ~]# podman exec -it c7fa4dbffc6d /bin/bash
root@pi-hole:/# ip route
default via 10.88.0.1 dev eth0 proto static 
10.88.0.0/16 dev eth0 proto kernel scope link src 10.88.0.3 

Maybe I need to set -e FTLCONF_LOCAL_IPV4 as decribed in from docker-pi-hole/docker_run.sh at 6566662bc3a2829b3d940c65beeab276f23c3edc · pi-hole/docker-pi-hole · GitHub

Not all gateways respond to pings. The rest of your debug log shows that Pi-hole is working - receiving queries from clients and responding to those queries.

1 Like

Hmm. OK thanks @jfb

[root@fedora-iot-rpi ~]# ping 10.88.0.1
PING 10.88.0.1 (10.88.0.1) 56(84) bytes of data.
64 bytes from 10.88.0.1: icmp_seq=1 ttl=64 time=0.248 ms
64 bytes from 10.88.0.1: icmp_seq=2 ttl=64 time=0.212 ms

The ping works when I run from the rpi itself. What I don't understand is where this IP is being set. Maybe it doesn't matter?

I'm troubleshooting the pihole and not sure where to look to get it working. I'm dealing with a Vodaphone Gigabox router that doesn't allow the DNS or DHCP changes as outlined in the docs.

Even manually configuring DNS per client doesn't seem to work.

So if I run with the following (adding --net=host),

podman run --name=pihole \
--net=host \
--hostname=pi-hole \
--cap-add=NET_ADMIN \
--dns=127.0.0.1 \
--dns=1.1.1.1 \
-e TZ=Europe/Dublin \
-e SERVERIP=192.168.1.94 \
-e WEBPASSWORD=REDACTED \
-e DNS1=1.1.1.1 \
-e DNS2=1.0.0.1 \
-e DNSSEC=true \
-e CONDITIONAL_FORWARDING=true \
-e CONDITIONAL_FORWARDING_IP=192.168.1.1 \
-e CONDITIONAL_FORWARDING_DOMAIN=lan \
-e TEMPERATUREUNIT=c \
-e FTLCONF_LOCAL_IPV4="192.168.1.94" \
-v pihole_pihole:/etc/pihole:Z \
-v pihole_dnsmasq:/etc/dnsmasq.d:Z \
-p 80:80/tcp \
-p 443:443/tcp \
-p 67:67/udp \
-p 53:53/tcp \
-p 53:53/udp \
pihole/pihole

I see

[i] Default IPv4 gateway(s):
     192.168.1.1
   * Pinging first gateway 192.168.1.1...
[✗] Gateway did not respond. (https://discourse.pi-hole.net/t/why-is-a-default-gateway-important-for-pi-hole/3546)

Which seems more correct than 10.88.0.1 as my default gateway (?)

However, when I attempt to change a client to use 192.168.1.94 as the DNS server as per server IP above, I can't access the internet.

OK, got it working. I think the issue was me misinterpreting (bad UX?!) my Vodaphone gigabox router. Here is what I set.

  1. Disable DNS, and don't set the pi-hole IP as DNS server Just leave it empty. This seems to disable DNS completely.
  2. Set DHCP Server to disabled in the router, and turn on DHCP in the pi-hole for IP range 192.168.2-250.

Also running the container setting --cap-add=NET_ADMIN and --cap-add=NET_RAW, eg.,

podman run --name=pihole
--net=host
--hostname=pi-hole
--cap-add=NET_ADMIN
--cap-add=NET_RAW
--dns=127.0.0.1
--dns=1.1.1.1
-e TZ=Europe/Dublin
-e SERVERIP=192.168.1.94
-e WEBPASSWORD=REDACTED
-e DNS1=1.1.1.1
-e DNS2=1.0.0.1
-e DNSSEC=true
-e CONDITIONAL_FORWARDING=true
-e CONDITIONAL_FORWARDING_IP=192.168.1.1
-e CONDITIONAL_FORWARDING_DOMAIN=lan
-e TEMPERATUREUNIT=c
-e FTLCONF_LOCAL_IPV4="192.168.1.94"
-v pihole_pihole:/etc/pihole:Z
-v pihole_dnsmasq:/etc/dnsmasq.d:Z
-p 80:80/tcp
-p 443:443/tcp
-p 67:67/udp
-p 53:53/tcp
-p 53:53/udp
pihole/pihole

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