[Bug 1745463] Re: Disabling systemd-resolved breaks dhclient resolvconf integration
GeekSmith
lixo at geeksmith.net
Thu Jan 25 19:37:38 UTC 2018
The hasty push to replace resolvconf with resolved is having disastrous
consequences. User experience and system stability should be valued over
forced migration to an unproven, poorly tested, and in many cases
unwanted new system.
Name resolution is one of the fundamental building blocks of a networked
system. I don't understand the eagerness to change it so quickly. It
almost seems careless. One might argue that all of systemd has been
pushed on the user in a like manner, but I won't go there...at least
it's not upstart.
--
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