I discovered that above workaround isn't ideal when the server has
multiple network interfaces because the systemd-networkd-wait-online
command above will wait for all interfaces to reach routable status.
This may cause systemd-networkd-wait-online to timeout (after 10 seconds
as per --timeout argument), and if you then run "systemctl status
named.service", it shows a failed status for the ExecStartPre command,
which isn't ideal.

I experimented with including "--any" in the systemd-networkd-wait-
online arguments, but found this wasn't 100% reliable and TBH I'm not
entirely sure why. But for now I've resorted to including the interface
name in the above command instead, such as:

ExecStartPre=-/lib/systemd/systemd-networkd-wait-online
--interface=eno1:routable --timeout=10 --quiet

Obviously the interface name is machine-specific, which makes it
impractical to include this command as a general purpose fix in the repo
version of named.service. So I've now come to the conclusion that the
best way to fix this issue is to implement a change to BIND itself (i.e.
/usr/sbin/named), to make it retry a few times before logging the error
message above? (FYI This is outside of the realm of my skill set so I
guess I'm asking for the maintainer of BIND to determine the feasibility
of this request?)

Thanks,
Nick.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1965521

Title:
  named.service starts too early: Unable to fetch DNSKEY set '.':
  failure

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/1965521/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to