What I'm trying to achieve is this: use resolvconf instead of resolved in Ubuntu 17.10. There is a bug when one tries to do so.
This is a fresh install on a laptop using the desktop installation DVD. resolv.conf points to /run/resolvconf/resolv.conf and is managed by resolvconf. I have NetworkManager and resolvconf enabled for interfaces not managed by ifupdown, as shown in NetworkManager.conf in the initial report. I'm using ifupdown for ethernet interfaces, NetworkManager for Wi-Fi. The steps to reproduce are: 1. Install and enable resolvconf 2. Stop and mask resolved 3. Configure NetworkManager for resolvconf and ifupdown 4. Configure an interface in ifupdown for dhcp 5. Connect to the network I agree that overriding make_resolv_conf() is good and necessary. However, the scripts that do so currently do it blindly, even when the service they support is disabled. My patch adds a simple sanity check to ensure that disabled services don't run a script that will break DHCP for enabled services. I've described what was done to my system. If you have further questions, please let me know. My goal is to use resolvconf in the place of resolved. In doing so, I uncovered a bug in the dhcp hook scripts for both resolved and resolvconf and I've provided a working patch for those bugs. The patches have been running successfully on my systems for months. All I ask is for consideration of the patches I've provided, not a criticism of choosing resolvconf over resolved. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/1745463 Title: Disabling systemd-resolved breaks dhclient resolvconf integration Status in resolvconf package in Ubuntu: Incomplete 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 -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp