Hi Dmitri,

You can increase the verbosity in Unbound to see what is happening from Unbound's side. A value of 4 will be eloquent but it will log the information needed.

You can also set that value during runtime with:
    unbound-control verbosity 4

You can do this briefly when the SERVFAILs are observed in order to keep your logfile size manageable.

You could then also try:
    unbound-control flush_infra abc.local.

and see if it resolves the issue; this is not a proper solution though.

Best regards,
-- Yorgos

On 31/03/2023 17:44, Dmitri Stepanov via Unbound-users wrote:
I have two large enough (150-200 hosts) segments of internal network, 10.XXX.0.0 and 10.YYY.0.0. They are linked through Internet, speed is not like local but high enough - about 50Mb/s. I used two authoritative bind servers and three (two in one segment, one in the second) recursive also bind ones. For making bind, unbound and nsd configuration and zone files I'm using hostdb package, so all authoritative and recursive servers are generated and distributed to at once by the hostdb. Now I like to reconstruct dns. I've created in place of my three recursive servers three combined ones with unbound and nsd which local only listen on separate port. This works fine first several minutes after reload unbound, and then for local names - SERVFAIL all the configured stub or forward servers failed, at zone abc.local. At the same time, Internet names continue to be resolved normally.
Unbound:
server:
         interface: 0.0.0.0
         do-not-query-localhost: no
stub-zone:
         name: "abc.local"
         stub-addr: 127.0.0.1@5678
stub-zone:
         name: "10.in-addr.arpa."
         stub-addr: 127.0.0.1@5678
forward-zone:
         name: "."
         forward-addr: 8.8.8.8
I'm not sure which is the source of this problem - unbound or nsd. Nsd has no such diagnostic, but dig -p 5678 @127.0.0.1 localname.abc.local works fine.
It is difficult to catch the moment when it starts to SERVFAIL.
Looks like some resources are running out.
I've returned two separated authoritative servers, so now it is like:
stub-zone:
         name: "abc.local"
         stub-addr: 127.0.0.1@5678
         stub-addr: ipofauthserver1
         stub-addr: ipofauthserver2
Despite that there are not many hosts within the network, there are about 10,000 names in local DNS zones. All my dns servers are OpenBSD 6.5-7.0 64 bit virtual machines which are running in several free ESXi 5.5 and 7.3 servers.
Unbound 1.8.1 — 1.13.2
Does anybody bump in the same situation when unbound after several minutes of normal work stops resolve local names with SERVFAIL if it has only one local nsd source of local names? I think such configuration with unbound + nsd on one host is reasonable for home users for example.
Regards
Dmitri Stepanov

Reply via email to