[Bug 1745463] Re: Disabling systemd-resolved breaks dhclient resolvconf integration
GeekSmith
lixo at geeksmith.net
Thu Jan 25 23:02:35 UTC 2018
Is the use of resolvconf and ifupdown without resolved an unsupported
configuration in 17.10? Is resolved the only supported DNS configuration
management system in Ubuntu 17.10? There are many users who value the
control and flexibility of pre-resolved systems and do not want a local
caching nameserver.
The inadequacy is that systemd breaks resolvconf. I highly doubt that
resolvconf will be removed from the archives in 18.04 because resolved
is clearly not ready. Look at the number of upgrade issues and bugs
filed against it.
There are too many systems, mainly servers, that cannot or should not
run a nameserver, not even a local one. resolved is not ready to service
these systems.
Because resolved is packaged with systemd, one cannot choose to run
systemd without resolvd. This coupling makes the system less flexible
and more fragile. There's another inadequacy for you.
Not only have I discovered a bug, I have given the solution to the bug
in two packages. My proposed solution does not affect performance nor
hinder proper behavior in any way. It simplifies interface
configuration. This simple fix should be favored over the removal of
software that is stable, functional, and time-tested.
Denying the existence of the bug doesn't make it go away. I've reported
the defect and provided a simple fix. The Ubuntu team can patch the
scripts or leave them broken.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to resolvconf in Ubuntu.
https://bugs.launchpad.net/bugs/1745463
Title:
Disabling systemd-resolved breaks dhclient resolvconf integration
Status in resolvconf package in Ubuntu:
New
Status in systemd package in Ubuntu:
New
Bug description:
To reproduce, mask resolved:
sudo systemctl mask systemd-resolved.service
...then disable network-manager for ifupdown interfaces:
$cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile
dns=default
rc-manager=resolvconf
[ifupdown]
managed=false
[device]
wifi.scan-rand-mac-address=no
...and reboot.
You'll note that resolvconf integration with dhclient is now broken.
Interfaces listed in /etc/network/interfaces or
/etc/network/interfaces.d/* will not provide DNS configuration in
/etc/resolv.conf and /run/resolvconf/interfaces/.
This is because /etc/dhcp/dhclient-enter-hooks.d/resolvconf defines
"make_resolv_conf()" as a valid function for the BOUND case, but
/etc/dhcp/dhclient-enter-hooks.d/resolved undefines it (who's nasty
now, eh?) even though resolved is masked.
The file existence check in the beginning of /etc/dhcp/dhclient-enter-
hooks.d/resolved should be more thorough, i.e. it should ensure that
resolved is enabled, rather than simply look for the existence of
/lib/systemd/systemd-resolved. This works for me:
-if [ -x /lib/systemd/systemd-resolved ] ; then
+if [ -x /lib/systemd/systemd-resolved ] && systemctl -q is-enabled systemd-resolved ; then
Arguably, /etc/dhcp/dhclient-enter-hooks.d/resolvconf should implement
a similar check, looking for /run/resolvconf/enable-updates as a
condition for meddling with DNS settings. If desired, I'll file a
separate bug for that package.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/1745463/+subscriptions
More information about the foundations-bugs
mailing list