[Bug 1745463] Re: Disabling systemd-resolved breaks dhclient resolvconf integration

Frederic Van Espen frederic.ve at gmail.com
Mon Jan 21 12:32:59 UTC 2019


I quite agree with @GeekSmith here. We disabled systemd-resolved on
bionic and install ifupdown instead since we install this on server that
have a static configuration and we don't want systemd-resolved to modify
anything in the resolv.conf file.

Only during the initial installation time of the server we use dhclient
to get an IP address. The result is that the resolv.conf file is not
modified by dhclient despite systemd-resolved being disabled. To work
around this issue, we simply deleted the /etc/dhcp/dhclient-enter-
hooks.d/resolved file as we don't need it anyway.

A cleaner way of course it to actually test in the file if systemd-
resolved is used, as @GeekSmith's patch does.

-- 
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:
  Expired
Status in systemd package in Ubuntu:
  Invalid

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