Fix intermittent DNS timeouts on .lan search domain (breaks Sonarr/Prowlarr indexers) #47
Labels
No labels
Monitoring
automation
bug
duplicate
feature
forgejo
help wanted
invalid
k3s
keycloak
ldap
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lab/homelab#47
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom
Sonarr indexer test fails:
Root cause
The 429 is not an upstream rate limit. Prowlarr answers it directly:
Prowlarr auto-disabled The Pirate Bay and 1337x after repeated
connection failures, logged as:
Why the indexers fail: intermittent DNS timeouts on
.lanprobesPod
resolv.confcarriessearch ... lanwithndots:5.Every external lookup (
apibay.org,1337x.to) first probes*.svc.cluster.local, then*.lan, before the real name.CoreDNS forwards
.lanto1.1.1.1(node/etc/resolv.conf):361
.lani/o timeouts in 96h, intermittent.On timeout the .NET resolver returns
EAGAIN: Resource temporarily unavailable— visible in Prowlarr logs forprowlarr.servarr.com:443,indexers.prowlarr.com:443,apibay.org.Measured: full search chain ~5s when
.lanstalls vs 5ms direct query.Prowlarr requests exceed their timeout, get marked failed, and after
repeated failures the indexer is auto-disabled for 24h.
DNS topology today (no Pi-hole)
192.168.0.1, Unbound for recursion..lan(13ms) — the
.lanzone no longer exists on the network.lansearch domain comes from DHCP/node resolv.conf and isstill inherited by pods.
Related
Same DNS failure pattern: #43 (Authelia/LLDAP slow), #45 (Homarr OIDC
resolution failure).
Action plan
lansearch domain from pods*.lan; the zone does not exist192.168.0.11.1.1.1; fast, consistent, and serves DHCP recordsHttpproxyqbittorrent-proxy.media.svc.cluster.local:8888is NXDOMAIN; real service isgluetun-proxyFixed at root cause.
Root cause
/etc/resolv-no-search.confon every K3s node containednameserver 127.0.0.53(systemd-resolved stub). Kubelet passes this file topods via
--resolv-conf, so CoreDNS's stockforward . /etc/resolv.confforwarded queries to itself -> plugin/loop fatal + intermittent timeouts,
breaking Sonarr/Prowlarr indexer lookups.
Fix
/etc/resolv-no-search.confnow points at192.168.0.1(AdGuard on therouter) on all four nodes, no search domains
Also masked
multipathd.service+multipathd.socketon all nodes duringfollow-up volume-mount debugging (separate root cause, see #49 comment).