unbound: exceeded the maximum nameserver nxdomains
In my unbound server, I found the run log like
error: SERVFAIL <a.b.example.com A IN>: exceeded the maximum nameserver nxdomains`
(I use the a.b.example.com
replace the true domain。)
The questions are :
- what situation will cause this error?
- we found that,not only
a.b.example.com
cannot find the answer,xx.example.com cannot find the answer, neither。 why ?
About this issue
- Original URL
- State: open
- Created 4 years ago
- Reactions: 4
- Comments: 83 (29 by maintainers)
It however seems that
exceeded the maximum nameserver nxdomains
massively appears for otherwise normal domains after a temporary network connectivity loss (it seems unbound does not distinguish here between actual authorativeNXDOMAIN
and temporary network unavailability) and marks all domains which it tried to access while network was down asNXDOMAIN
.This leads to admin needing to restart unbound server manually after every WLAN/network connectivity issue, which makes it basically unusable as caching DNS server.
Debian Bullseye GNU/Linux, unbound 1.13.2-1 (using
forward-tls-upstream: yes
,forward-first: yes
,forward-addr:
)e.g.
Kills? No. Just delayed the delivery of message. Probably for something from 15 minutes to an hour.
Right now many persons treats email like something that should be delivered instantly, they sends code to confirm your identity or similar things with TTL like 15 minutes.
And such unbound behaviour makes email setup useless for that case.
Frankly speaking it requires quite a time to discover that behaviour of unbound which is seems unusual in comparing with another DNS client.
Yes, that’s what other DNS clients do without any special tweaking
Yes, other resolvers.
Unfortunately
unbound
is unusable on servers and border gateways due to hard-coding on number of sends. Because of this, we removed it from all servers.I have observed the same issue.
Today i’ve updated my openwrt and afterwards i had to restart unbound inside my container…
after restart, everything was fine again…
When looking up the addresses for nameservers, unbound encounters too many NXDOMAIN responses for those lookup and stops to avoid causing a denial of service. The domain has a long list of NS records, and those domains perhaps also have lists of NS records. All of those, or a lot of them, have no addresses and thus do not work. While trying to resolve the domain unbound is recursively looking up those nameservers and the nameservers to lookup those nameservers, and this is taking too much resources.
The domain should not have such a long list of nameservers that do not have addresses. Or nameservers for the nameservers that have no addresses. There was a CVE for that a while ago about this resource consumption causing issues, too many queries, too much resource usage on the DNS server. This error stops the resource usage.