[Discuss] resolved and DNSSEC
Matthew Gillen
me at mattgillen.net
Tue Apr 13 10:41:41 EDT 2021
I did a system upgrade the other day of my main home server/firewall,
and for once the problem wasn't email, it was DNS.
Fedora 33 moved to resolved, which does some interesting things compared
to what I was used to.
Amazingly, it maintained the basic contours of the system I had before:
systemd-resolved was configured to only talk to the BIND server running
on the loopback. I was impressed with that (and even though I've found
/etc/systemd/resolved.conf and put the DNS entry as 127.0.0.1 to force
it, it was actually doing the right thing before I did that, so I don't
which config file it was looking at).
The problem I had was a script I was running to check the DNSSEC status
of a certain set of hosts that have historically had a lot of issues.
So my cron job basically ran
delv <hostname>
over a set of hostnames. delv is like 'dig' but for DNSSEC
Followed advice of random blog that duckduckgo told me about and enabled
DNSSEC for systemd-resolved
(https://stanislas.blog/2018/06/enable-dnssec-support-in-systemd-resolve/ )
However, my 'delv' commands kept returning failure. Doing 'dig
www.dnssec-failed.org' properly failed, so I know DNSSEC was working
between my BIND instance and systemd-resolved, but delv apparently was
not able to get signed results from the 127.0.0.53 server (which is what
systemd-resolved presents to the rest of the system as the
backward-compatible resolver).
I solved the problem in the short term by just forcing the delv command
to go straight to my BIND server:
delv @127.0.0.1 <hostname>
But I liked the idea of the delv command exercising the exact path any
other program on my system would use when doing DNS lookups.
There is a pretty meaty ticket on this where the issue was closed but
people are saying it still doesn't work
https://github.com/systemd/systemd/issues/4621
FWIW, here's my config in case any one knows something I might be doing
wrong (links 4-7 are just VLANs off physical Link 3; Link 2 is my ISP
connection):
---------------------
$ resolvectl
Global
Protocols: LLMNR=resolve -mDNS -DNSOverTLS DNSSEC=yes/supported
resolv.conf mode: stub
Current DNS Server: 127.0.0.1
DNS Servers: 127.0.0.1
Link 2 (enp1s0)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS
DNSSEC=yes/supported
Current DNS Server: 127.0.0.1
DNS Servers: 127.0.0.1
Link 3 (enp3s5)
Current Scopes: none
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=yes/supported
Link 4 (noext)
Current Scopes: LLMNR/IPv4 LLMNR/IPv6
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=yes/supported
Link 5 (eap)
Current Scopes: LLMNR/IPv4
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=yes/supported
Link 6 (kids)
Current Scopes: LLMNR/IPv4 LLMNR/IPv6
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=yes/supported
Link 7 (mgmt)
Current Scopes: LLMNR/IPv4
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=yes/supported
---------------------
Thanks,
Matt
More information about the Discuss
mailing list