[Bug 1817903] Re: systemd-resolve appends "options edns0" to resolv.conf
Steve Roberts
1817903 at bugs.launchpad.net
Thu Feb 28 10:41:17 UTC 2019
Testing fix:
I added the ppa (same system) and updated resolvconf
then did:
$ sudo systemctl enable resolvconf-pull-resolved.path
OK
and
$ sudo systemctl enable resolvconf-pull-resolved.service
this gives: The unit files have no installation config....
(not sure if this is expected ?), but it does seem to have operated (see below).
Then reboot, and all seems to work as expected, ok
cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 192.168.2.1
and the pull service has operated:
$ systemctl status resolvconf-pull-resolved.service
● resolvconf-pull-resolved.service
Loaded: loaded (/lib/systemd/system/resolvconf-pull-resolved.service; static;
Active: inactive (dead) since Thu 2019-02-28 10:26:50 GMT; 10min ago
Process: 3359 ExecStart=/bin/sh -c cat /run/systemd/resolve/resolv.conf | /sbi
Main PID: 3359 (code=exited, status=0/SUCCESS)
Feb 28 10:26:50 phs08 systemd[1]: Starting resolvconf-pull-resolved.service...
Feb 28 10:26:50 phs08 systemd[1]: Started resolvconf-pull-resolved.service
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1817903
Title:
systemd-resolve appends "options edns0" to resolv.conf
Status in systemd package in Ubuntu:
In Progress
Status in systemd source package in Trusty:
Invalid
Status in systemd source package in Xenial:
Invalid
Status in systemd source package in Bionic:
In Progress
Status in systemd source package in Cosmic:
In Progress
Status in systemd source package in Disco:
In Progress
Bug description:
[impact]
systems upgraded from pre-Bionic releases to Bionic or later will
continue to use ifupdown/resolvconf for network conf and management,
but resolvconf has a new systemd service in Bionic and later that
pulls systemd-resolved stub-resolv.conf into its local configuration.
With the recent addition of edns0 option to the stub resolver conf in
systemd to fix bug 1811471, this means resolvconf now sets up the
/etc/resolv.conf file to include upstream servers but also use edns.
For any systems where the upstream resolver(s) don't support edns, dns
lookups will break.
[test case]
create a xenial system with ifupdown/resolvconf, then upgrade to
bionic (alternately it should be possible to install bionic, then
remove netplan and install/configure ifupdown and resolvconf). The
system ifupdown config should include an upstream name server.
After upgrade, the /etc/resolv.conf will contain both the upstream
name server as well as options edns0.
[regression potential]
this changes how resolvconf handles system dns on bionic and later:
1) networking is managed by ifupdown
resolvconf is currently adding the local stub resolver to
/etc/resolv.conf, even though in this case it doesn't know about any
upstream name servers. This change will remove the local stub
resolver from /etc/resolv.conf; it should not be there.
2) networking is managed by systemd-networkd
resolvconf is currently setting up /etc/resolv.conf to direct all
local dns queries to the local stub resolver, similar to how systemd-
resolved itself configures /etc/resolv.conf. This change will instead
set up /etc/resolv.conf to bypass the local stub resolver, and send
all dns queries to the upstream name server(s).
In case #1, this change has little chance for regression; in case #2
however, this change will bypass the local stub resolver and thus
create more network dns traffic (since dns queries will not be cached
locally). However, this is how pre-Bionic releases worked, and simply
removing resolvconf will restore systemd-resolved control of
/etc/resolv.conf, causing the system to again use the local stub
resolver.
Additional regressions due to this change would likely be seen in dns
query failures with other system configurations.
[other info]
This affects only Bionic and later; in Xenial and earlier, resolvconf
does not include the 'resolvconf-pull-resolved' service to pull in the
systemd-resolved stub config, which is what causes this problem.
This also does not affect Debian, as it does not include the
'resolvconf-pull-resolved' service either.
original description:
--
Mint 19 (Ubuntu 18.04)
Following latest mint update done on 24/02/2019, DNS is broken....
nslookup and dig of certain domain names work as expected, ping does
not (ip works but not domain name)
After a day of trial and error, testing I found that the problem lies
with the presence of
"options edns0"
in /run/resolvconf/resolv.conf (link to by /etc/resolv.conf)
With option present many dns lookups fail with both FF and chrome browswers and thunderbird...
This is on a home network, with router set as dns proxy for external wan, not using NetworkManager
Deleting the option on live system results in the issue immediately
disappearing, but on reboot it is added back in (by systemd-resolve ?)
I cannot find any option to prevent this being added, so presumably it
is hard-coded in systemd following the update?
systemd:
Installed: 237-3ubuntu10.13
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1817903/+subscriptions
More information about the foundations-bugs
mailing list