Incorrect handling of link-local IPv6 DNS servers
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd (Ubuntu) |
Expired
|
High
|
Unassigned | ||
Artful |
Expired
|
High
|
Unassigned |
Bug Description
We've recently seen odd looking DNS failures on autopkgtest:
https:/
This shows a fe80:: link-local IPv6 address as one of the DNS servers on the interface. That's because dnsmasq includes both the link-local and global addresses of its DNS server in the router advertisement.
systemd-networkd appears to pick that up and send it to resolved, which includes it in its config but apparently doesn't know how to actually query it, leading to the failure above.
This is racy because once DHCPv4 completes, the resolved config will then work properly again.
I've confirmed that dnsmasq properly answers on all addresses:
http://
I've uploaded a workaround for this issue as part of the docker.io package.
Changed in systemd (Ubuntu): | |
importance: | Undecided → Critical |
tags: | added: netplan-transition |
Changed in systemd (Ubuntu): | |
importance: | Critical → High |
Changed in systemd (Ubuntu Artful): | |
status: | New → Confirmed |
tags: | added: id-59c41ec2d19ed45aedf778d1 |
Digging into this, there appears to be intent to support such DNS servers. E.g.:
https:/ /github. com/systemd/ systemd/ commit/ 2817157bb705e0f 3e9ad4a83246a80 d026866be3
However, need to check if all fe80:: dns servers are properly qualified and have the ifindex set on them.