Dear all,

I used ifupdown just out of habit like I always did. So, what I did now is to remove ifupdown alltogether and replaced it with pure dhcpcd, which is started on boot via a systemd service file dhcpcd.service, which seems to do just the correct things. Installing it pulled in and enabled wpa_supplicant for some reason, which I do not need on a server, but that was just a oneliner to disable wpa_supplicant.service again. My machine now properly pulls both an IPv4 and IPv6 address via DHCP.

So, my problem is “solved” now. I leave it to you to decide what to do with the interaction of ifupdown and dhcpcd.

Am 13. Oktober 2025 um 21:14 Uhr +0300 schrieb Martin-Éric Racine:
ma 13.10.2025 klo 20.48 Andrew Bower ([email protected]) kirjoitti:

On Mon, Oct 13, 2025 at 07:13:35PM +0300, Martin-Éric Racine wrote:
> On Sun, 10 Aug 2025 18:53:34 +0200 =?utf-8?q?Marvin_G=C3=BClker?=
> <[email protected]> wrote:
> > Package: ifupdown
> > Version: 0.8.44
> > Severity: normal
> > X-Debbugs-Cc: [email protected]
> >
> > Dear Maintainer,
> >
> > I just upgraded to Debian Trixie. The release notes say that
> > isc-dhcp-client is deprecated and should be replaced with dhcpcd-base.
> > I tried, but it appears to be incompatible with my network
> > configuration, which uses stateful DHCPv6. This is on a server which
> > uses the venerable ifupdown with this configuration in
> > /etc/network/interfaces:
> >
> >     # This file describes the network interfaces available on your system
> >     # and how to activate them. For more information, see interfaces(5).
> >
> >     source /etc/network/interfaces.d/*
> >
> >     # The loopback network interface
> >     auto lo
> >     iface lo inet loopback
> >
> >     # The primary network interface
> >     allow-hotplug enp2s0
> >     iface enp2s0 inet dhcp
> >     iface enp2s0 inet6 dhcp
> >
> > Trying to raise enp2s0 on boot fails with this log:
>
> With dhcpcd one only needs one line to handle both IPv4 and IPv6. Can
> you try commenting either the inet or intet6 line and see if this
> fixes it?

This sounds like an implementation detail of dhcpcd; relying on it
breaks the ifupdown contract with the user.

It's nice that dhcpcd can do both together but that mode should be
selected as an optimisation by ifupdown when both inet and inet6 stanzas
request dhcp. There are many combinations that users might select and
stateful dhcp for both is probably not the main one: DHCPv4+SLAAC+RDNSS
and DHCPv4+SLACC+statelessDHCP being both more common and other options
also being possible like DHCPv4 + manual configuration because v4 is on
NAT and v6 wants a well-(locally-)defined address.

dhcpcd can already do any combination of these via options in
/etc/dhcpcd.conf. It also could do the same via command line options
passed by ifupdown.

What is undesirable is retaining ifupdown's outdated idea of having
separate inet and inet6 lines for interfaces that don't require any
static IP since dhcpcd can already handle all cases for dynamic IPv4
and IPv6 configuration. What's instead needed is for ifupdown to
acquire the ability to pass both IPv4  and IPv6 options to dhcpcd via
a single command line recipe.

Martin-Éric

--
Dipl.-Jur. M. Gülker | https://mg.guelker.eu | PGP: Siehe Webseite
Stade, Deutschland   | [email protected]    | O<

Reply via email to