[Bug 1745463] Re: Disabling systemd-resolved breaks dhclient resolvconf integration
Steve Langasek
steve.langasek at canonical.com
Tue Nov 26 20:17:04 UTC 2019
Hello,
On Tue, Nov 26, 2019 at 04:42:44PM -0000, Thayne wrote:
> Maybe there is a better way to do this, but here is my situation. I need
> to be able to send DNS queries to multiple dns servers in parallel and
> use the first response I get back (so that I use the fastest/closest dns
> server).
That's a pretty unusual requirement, which at the very least means that more
of your bandwidth is being used for DNS traffic than would otherwise be the
case. Can you help me understand the motivation underlying the requirement?
Do you have DNS servers in your configuration which are always farther /
slower? If so, why do you have them in your configuration at all? Do you
have a particular application requirement for low-latency DNS resolution -
and if so, wouldn't the use of a caching local resolver (a configuration
which resolved supports, and which we enable by default) have more of an
impact on satisfying that requirement?
We should certainly ensure that your use case is addressed with resolved
itself, and without the need to run dnsmasq as an alternative local
resolver.
--
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:
Confirmed
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