systemd-resolved-dnssec breaks name resolution on lxd domain
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| lxd |
Fix Released
|
Unknown
|
|||
| bind9 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
| dnsmasq (Ubuntu) |
Won't Fix
|
Undecided
|
Lukas Märdian | ||
| libvirt (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
| livecd-rootfs (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
| lxd (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned | ||
| strongswan (Ubuntu) |
Fix Released
|
Undecided
|
Lukas Märdian | ||
| systemd (Ubuntu) |
Won't Fix
|
High
|
Nick Rosbrook | ||
Bug Description
By default, LXD containers will be configured with DNS pointing to the server listening on lxdbr0 on the host. The DHCP leases additionally configure the 'lxd' domain. LXD starts a dnsmasq server which is DNSSEC compatible, but by default is not actually configured for DNSSEC. This leads to DNSSEC validation errors as seen below:
root@q1:~# apt policy systemd-
systemd-
Installed: 257.7-1ubuntu3
Candidate: 257.7-1ubuntu3
Version table:
*** 257.7-1ubuntu3 100
100 http://
100 /var/lib/
root@q1:~# resolvectl
Global
Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=
resolv.conf mode: stub
Link 47 (eth0)
Current Scopes: DNS
Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=
Current DNS Server: 10.148.181.1
DNS Servers: 10.148.181.1 fd42:f983:
DNS Domain: lxd
Default Route: yes
root@q1:~# ping q2.lxd
ping: q2.lxd: Temporary failure in name resolution
root@q1:~# nslookup q2
;; Got SERVFAIL reply from 127.0.0.53
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find q2.lxd: SERVFAIL
root@q1:~# resolvectl dnssec eth0 no
root@q1:~# nslookup q2
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: q2.lxd
Address: 10.148.181.44
Name: q2.lxd
Address: fd42:f983:
root@q1:~# ping -c 1 q2.lxd
PING q2.lxd (fd42:f983:
64 bytes from q2.lxd (fd42:f983:
--- q2.lxd ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.205/0.
root@q1:~# journalctl -b -u systemd-
Aug 06 14:15:33 q1 systemd-
Aug 06 14:15:33 q1 systemd-
Aug 06 14:15:33 q1 systemd-
Aug 06 14:15:33 q1 systemd-
Aug 06 14:15:33 q1 systemd-
Aug 06 14:15:33 q1 systemd-
Aug 06 14:15:33 q1 systemd-
Aug 06 14:15:33 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:21 q1 systemd-
Aug 06 14:16:25 q1 systemd-
Aug 06 14:16:25 q1 systemd-
Aug 06 14:16:25 q1 systemd-
Again, since the dnsmasq server listening on lxdbr0 is DNSSEC *compatible*, the downgrade logic implied by DNSSEC=
Related branches
- Lukas Märdian (community): Approve
-
Diff: 46 lines (+20/-0)2 files modifieddebian/changelog (+6/-0)
debian/tests/host-to-host (+14/-0)
| tags: | added: server-todo |
| Changed in strongswan (Ubuntu): | |
| assignee: | nobody → Lukas Märdian (slyon) |
| Changed in systemd (Ubuntu): | |
| assignee: | nobody → Nick Rosbrook (enr0n) |
| Changed in lxd: | |
| status: | Unknown → New |
| tags: | added: dcr-incoming |
| Changed in lxd: | |
| status: | New → Fix Released |
| Changed in libvirt (Ubuntu): | |
| status: | New → Invalid |
| Changed in lxd (Ubuntu): | |
| status: | New → Won't Fix |
| Changed in dnsmasq (Ubuntu): | |
| status: | Triaged → Won't Fix |

This is also causing strongswan vs systemd/ 257.7-1ubuntu3 autopkgtest failures in the host-to-host test [1]:
[ ... ] x509/sunCert. pem' x509ca/ strongswanCert. pem' private/ sunKey. pem'
Loading creds in container sun
871s loaded certificate from '/etc/swanctl/
871s loaded certificate from '/etc/swanctl/
871s loaded ED25519 key from '/etc/swanctl/
871s Loading connections in container sun
871s loaded connection 'sun-moon'
871s successfully loaded 1 connections, 0 unloaded
871s Generating traffic from moon to sun
871s ping: sun.lxd: Temporary failure in name resolution
871s Something failed, gathering debug info
[ ... ]
[1] https:/ /autopkgtest. ubuntu. com/results/ autopkgtest- questing/ questing/ amd64/s/ strongswan/ 20250802_ 043325_ 5ea6b@/ log.gz