The issue I am facing:
DNS lookups for api.weather.gov are failing. dig/nslookup hang when trying to resolve the domain through pihole.
For example the following command never returns, I have to ctrl^c it.
dig api.weather.gov
;; Truncated, retrying in TCP mode.
;; communications error to 192.168.8.2#53: end of file
In my pihole logs I see:
Nov 9 15:34:59 dnsmasq[313]: query[A] api.weather.gov from 192.168.14.197
Nov 9 15:34:59 dnsmasq[313]: forwarded api.weather.gov to 192.168.0.1
Nov 9 15:34:59 dnsmasq[313]: dnssec-query[DNSKEY] weather.gov to 192.168.0.1
Nov 9 15:34:59 dnsmasq[313]: reply weather.gov is truncated[DNSKEY]
Nov 9 15:34:59 dnsmasq[313]: validation result is TRUNCATED
Nov 9 15:34:59 dnsmasq[313]: reply is truncated
Nov 9 15:34:59 dnsmasq[63387]: query[A] api.weather.gov from 192.168.14.197
This is causing a bunch of log spam and DB growth due to Home Assistant constantly trying to resolve the domain which results in huge floods of logs like:
Nov 9 15:35:04 dnsmasq[63392]: query[A] api.weather.gov from 192.168.0.72
Nov 9 15:35:04 dnsmasq[313]: query[NS] . from 192.168.0.72
Nov 9 15:35:04 dnsmasq[313]: forwarded . to 192.168.0.1
Nov 9 15:35:04 dnsmasq[313]: validation result is SECURE
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[63394]: query[A] api.weather.gov from 192.168.0.72
Nov 9 15:35:04 dnsmasq[313]: query[NS] . from 192.168.0.72
Nov 9 15:35:04 dnsmasq[313]: forwarded . to 192.168.0.1
Nov 9 15:35:04 dnsmasq[313]: validation result is SECURE
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[313]: reply . is <NS>
Nov 9 15:35:04 dnsmasq[63396]: query[A] api.weather.gov from 192.168.0.72
Nov 9 15:35:04 dnsmasq[313]: query[NS] . from 192.168.0.72
Changing my DNS resolver to my router (to use ISP DNS) works just fine
~ nslookup
> server 192.168.0.1
Default server: 192.168.0.1
Address: 192.168.0.1#53
> api.weather.gov
Server: 192.168.0.1
Address: 192.168.0.1#53
Non-authoritative answer:
api.weather.gov canonical name = sancert.weather.gov.edgekey.net.
sancert.weather.gov.edgekey.net canonical name = e278.dscg.akamaiedge.net.
Name: e278.dscg.akamaiedge.net
Address: 23.197.100.19
Details about my system:
I'm running two piholes in a primary/secondary DNS setup. Both exhibit the same failure when trying to resolve this specific domain.
Debug logs: https://tricorder.pi-hole.net/nu97hUVn/
Docker Config: pihole docker compose · GitHub
What I have changed since installing Pi-hole:
Not sure what changed, I noticed this because DNS resolution was failing due to SHM errors as my pihole-FTL.db
had grown to over 3GiB. I've increased the SHM allocated to the docker container and dropped my stats retention down to 28 days to address the knock-on performance issue.