/etc/dhcp/dhclient-enter-hooks.d/resolved should not run in non-root network namespaces

Bug #1888391 reported by Steffan Karger
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
isc-dhcp (Ubuntu)
New
Undecided
Unassigned

Bug Description

Running dhclient in a (non-root) network namespace on a system with systemd enabled fails because the hook installed by the systemd package updates the DNS configuration of the core/root namespace, instead of simply the /etc/resolv.conf file of that particular network namespace.

("ip netns add <name>" nicely links /etc/resolv.conf in that namespace to /etc/netns/<name>/resolv.conf if it exists.)

The following patch ensures that this script no longer misbehaves for this scenario:

--- /etc/dhcp/dhclient-enter-hooks.d/resolved.bak 2020-07-21 14:05:23.390989468 +0200
+++ /etc/dhcp/dhclient-enter-hooks.d/resolved 2020-07-21 14:03:18.566046842 +0200
@@ -14,7 +14,7 @@
 # (D) = master script downs interface
 # (-) = master script does nothing with this

-if [ -x /lib/systemd/systemd-resolved ] ; then
+if [ -x /lib/systemd/systemd-resolved ] && [ -z "$(ip netns identify)" ] ; then
         # For safety, first undefine the nasty default make_resolv_conf()
         make_resolv_conf() { : ; }
         case "$reason" in

Revision history for this message
Steffan Karger (syzzer) wrote :

Gah, the -n should of course be a -z.

description: updated
Dan Streetman (ddstreet)
tags: added: resolved-resolvconf
Revision history for this message
Nick Rosbrook (enr0n) wrote :

I don't think that script is or was part of src:systemd?

Changed in systemd (Ubuntu):
status: New → Invalid
Revision history for this message
Steffan Karger (syzzer) wrote :

You' re right. It's provided by isc-dhcp-client. Can' t recall how I ended up with reporting this against systemd 4 years ago.

affects: systemd (Ubuntu) → isc-dhcp (Ubuntu)
Changed in isc-dhcp (Ubuntu):
status: Invalid → New
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.