Public bug reported:

I have a full-disk-encryption Ubuntu box (in fact it's a Raspberry Pi 3)
set up with Dropbear in its initramfs so that I can ssh in and type the
disk-encryption passphrase.

But I've noticed that when I ssh in to the initramfs, the device has a
different IP address than it gets once it's booted fully.

This appears to be because the initramfs dhcpcd uses a different DHCP
client identifier than systemd-networkd does in the booted system.

This in turn appears to be because /usr/share/initramfs-
tools/hooks/dhcpcd sets the "duid ll" option, forcing the use of a
RFC4631 client identifier (with DUID)
https://datatracker.ietf.org/doc/html/rfc4361#section-6.1 and yet
/usr/share/initramfs-tools/scripts/functions (in _render_netplan) sets
up a netplan override including the option "dhcp-identifier: mac" which
forces the use of a RFC2313 client identifier (plain HW type and MAC
address).

As the two DHCP sessions (initramfs and booted-system) have different
client IDs, the DHCP server (which is a perfectly normal OpenWRT 22.03.3
installation) gives the sessions different IP addresses.

I can work around this at the DHCP server end by assigning a specific IP
address to the *MAC address* (which stays the same) as opposed to the
*client identifier* (which doesn't), but this is definitely a bug at the
client end.

Ubuntu version on the Pi is 24.04.2 LTS, initramfs-tools-core package is
0.142ubuntu25.5.

ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: initramfs-tools-core 0.142ubuntu25.5
ProcVersionSignature: Ubuntu 6.8.0-57.59-generic 6.8.12
Uname: Linux 6.8.0-57-generic x86_64
ApportVersion: 2.28.1-0ubuntu3.5
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: KDE
Date: Fri May  2 16:22:21 2025
EcryptfsInUse: Yes
InstallationDate: Installed on 2017-04-02 (2952 days ago)
InstallationMedia: Kubuntu 16.04.2 LTS "Xenial Xerus" - Release amd64 (20170215)
PackageArchitecture: all
RebootRequiredPkgs: Error: path contained symlinks.
SourcePackage: initramfs-tools
UpgradeStatus: Upgraded to noble on 2025-03-15 (48 days ago)

** Affects: initramfs-tools (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: apport-bug noble

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to initramfs-tools in Ubuntu.
https://bugs.launchpad.net/bugs/2109847

Title:
  initramfs DHCP uses inconsistent client IDs

Status in initramfs-tools package in Ubuntu:
  New

Bug description:
  I have a full-disk-encryption Ubuntu box (in fact it's a Raspberry Pi
  3) set up with Dropbear in its initramfs so that I can ssh in and type
  the disk-encryption passphrase.

  But I've noticed that when I ssh in to the initramfs, the device has a
  different IP address than it gets once it's booted fully.

  This appears to be because the initramfs dhcpcd uses a different DHCP
  client identifier than systemd-networkd does in the booted system.

  This in turn appears to be because /usr/share/initramfs-
  tools/hooks/dhcpcd sets the "duid ll" option, forcing the use of a
  RFC4631 client identifier (with DUID)
  https://datatracker.ietf.org/doc/html/rfc4361#section-6.1 and yet
  /usr/share/initramfs-tools/scripts/functions (in _render_netplan) sets
  up a netplan override including the option "dhcp-identifier: mac"
  which forces the use of a RFC2313 client identifier (plain HW type and
  MAC address).

  As the two DHCP sessions (initramfs and booted-system) have different
  client IDs, the DHCP server (which is a perfectly normal OpenWRT
  22.03.3 installation) gives the sessions different IP addresses.

  I can work around this at the DHCP server end by assigning a specific
  IP address to the *MAC address* (which stays the same) as opposed to
  the *client identifier* (which doesn't), but this is definitely a bug
  at the client end.

  Ubuntu version on the Pi is 24.04.2 LTS, initramfs-tools-core package
  is 0.142ubuntu25.5.

  ProblemType: Bug
  DistroRelease: Ubuntu 24.04
  Package: initramfs-tools-core 0.142ubuntu25.5
  ProcVersionSignature: Ubuntu 6.8.0-57.59-generic 6.8.12
  Uname: Linux 6.8.0-57-generic x86_64
  ApportVersion: 2.28.1-0ubuntu3.5
  Architecture: amd64
  CasperMD5CheckResult: unknown
  CurrentDesktop: KDE
  Date: Fri May  2 16:22:21 2025
  EcryptfsInUse: Yes
  InstallationDate: Installed on 2017-04-02 (2952 days ago)
  InstallationMedia: Kubuntu 16.04.2 LTS "Xenial Xerus" - Release amd64 
(20170215)
  PackageArchitecture: all
  RebootRequiredPkgs: Error: path contained symlinks.
  SourcePackage: initramfs-tools
  UpgradeStatus: Upgraded to noble on 2025-03-15 (48 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/2109847/+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

Reply via email to