fix(netinfra): kill IPv6 on DNS nodes to stop Pi-hole flapping

Root cause of Uptime Kuma DNS up/down alerts: Pi-hole's upstream config
included Google IPv6 DNS (2001:4860:4860::8888), but netinfra-01 has no
IPv6 internet route. Every forwarded query to the IPv6 upstream failed
with "Network unreachable", causing intermittent DNS resolution
failures every ~8 seconds.

Fix applied to both netinfra-01 and netinfra-02:
- Pi-hole upstream set to 8.8.8.8 only (IPv4); removed 192.168.3.16
  (retired netboot) and 2001:4860:4860::8888 (IPv6 Google DNS)
- IPv6 disabled at kernel level (/etc/sysctl.d/99-disable-ipv6.conf)
- knel.net authoritative resolution unchanged (Technitium via revServers)

Verified: zero IPv6 warnings, zero connection errors, DNS resolving
cleanly from all paths after fix.

[#376]
This commit is contained in:
2026-08-06 13:11:38 -05:00
parent d4850a3c02
commit 4f82520e0e
2 changed files with 9 additions and 0 deletions
+8
View File
@@ -34,6 +34,14 @@ docker compose up -d
Files are deployed to `/home/localuser/services/pihole/` on each node. Volumes Files are deployed to `/home/localuser/services/pihole/` on each node. Volumes
(`./etc-pihole`, `./etc-dnsmasq.d`) hold the persistent state. (`./etc-pihole`, `./etc-dnsmasq.d`) hold the persistent state.
## IPv6 disabled
Both netinfra nodes run **IPv4-only**. IPv6 is disabled at the kernel level
(`/etc/sysctl.d/99-disable-ipv6.conf`) because netinfra-01 has no IPv6 internet
route, and Pi-hole's default IPv6 upstream (Google `2001:4860:4860::8888`) was
causing continuous "Network unreachable" errors + intermittent DNS failures
detected by Uptime Kuma. The upstream is now `8.8.8.8` (IPv4 only).
## Verify ## Verify
```bash ```bash
+1
View File
@@ -16,6 +16,7 @@ services:
TZ: 'America/Chicago' TZ: 'America/Chicago'
FTLCONF_webserver_api_password: '${PIHOLE_WEB_PASSWORD}' FTLCONF_webserver_api_password: '${PIHOLE_WEB_PASSWORD}'
FTLCONF_dns_listeningMode: 'all' FTLCONF_dns_listeningMode: 'all'
FTLCONF_dns_upstreams: '["8.8.8.8"]'
volumes: volumes:
- './etc-pihole:/etc/pihole' - './etc-pihole:/etc/pihole'
- './etc-dnsmasq.d:/etc/dnsmasq.d' - './etc-dnsmasq.d:/etc/dnsmasq.d'