[Bug 1972029] Re: dhclient overriding stub-resolv.conf file on Jammy

Lukas Märdian 1972029 at bugs.launchpad.net
Mon Jul 18 14:27:01 UTC 2022


I can reproduce this, did some investigation on it and I agree that this
behavior of overriding /etc/resolv.conf -> /run/systemd/resolve/stub-
resolv.conf (managed by sd-resolved) is very bad.

The sd-resolved hook was moved from
https://launchpad.net/ubuntu/+source/systemd/246-2ubuntu1 to
https://launchpad.net/ubuntu/+source/isc-dhcp/4.4.1-2.1ubuntu7 in
Groovy.

It was moved from an enter-hook to an exit-hook, too. And it looks like
the part overriding/disabling "make_resolv_conf()" got dropped and went
missing.

IIUC we could place a tiny enter-hook to disable "make_resolv_conf()" if
systemd-resolved is being used, to avoid it from overriding
/etc/resolv.conf -> /run/systemd/resolv/stub-resolv.conf, managed by sd-
resolved. Everything else seems to be working as expected.

Would you mind testing my isc-dhcp-client package from this PPA?
https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/4635/+packages

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to isc-dhcp in Ubuntu.
https://bugs.launchpad.net/bugs/1972029

Title:
  dhclient overriding stub-resolv.conf file on Jammy

Status in isc-dhcp package in Ubuntu:
  Confirmed
Status in isc-dhcp source package in Jammy:
  New
Status in isc-dhcp source package in Kinetic:
  Confirmed

Bug description:
  [Issue]
  On Jammy, the stub-resolv.conf file on /run/systemd/resolve gets overwritten if dhclient is executed.

  While debugging this, I found the reference on LP#1889068 [0] of the
  move of `resolved` hook from dhclient-enter-hooks.d/ to dhclient-exit-
  hooks.d/, and this new hook [2] has no reference of make_resolv_conf()
  being called.

  [Reproducer]
  -
  I used a cloud-image based Jammy installation (uvt-kvm).  Once in:

  $ cat /run/system/resolve/stub-resolv.conf

  And one will see:

  nameserver 127.0.0.53
  options edns0 trust-ad
  search .

  Then:

  $ sudo dhclient
  $ cat /run/system/resolve/stub-resolv.conf

  You'll see the definition of the nameserver(s) in, and the stub IP
  address no longer there.  To revert this, a `systemctl restart
  systemd-resolved` is needed.

  [Impact]

  This is an improper way to keep nameserver(s) in *resolv* files; the
  override of the file should never happen in these circumstances.

  [Extra]
  -
  As a minor test, I copied over the dhclient-enter-hooks.d/resolved file from a Focal installation to a Jammy one, and the problem _does not happen_ when such hook is in place.

  [ . . . ]

  Let me know if further clarification is needed to proceed.  Thank you.

  BR,
  pprincipeza

  [0] https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1889068
  [1] https://paste.ubuntu.com/p/bvqPZXZZ8w/
  [2] https://paste.ubuntu.com/p/YQdG6z4WS7/

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1972029/+subscriptions




More information about the foundations-bugs mailing list