Package: ifupdown Version: 0.8.41 Severity: normal Tags: ipv6 Dear Maintainer,
I was trying to use dhcpcd(-base) as replacement for the deprecated ISC dhclient DHCP client on interface eth0 in a network which uses DHCPv4 and stateful DHCPv6. The result was a failed interface configuration. Interface eth0 is configured as follows (in /etc/network/interfaces): auto eth0 iface eth0 inet dhcp iface eth0 inet6 dhcp * What exactly did you do (or not do) that was effective (or ineffective)? Remove package isc-dhcp-client, install dhcpcd-base and reboot (or just do a manual ifdown/ifup for eth0). * What was the outcome of this action? - eth0 reported as down - ifup/dhcpcd errors in /var/log/syslog: 2024-02-29T13:39:41.353735+01:00 proxy ifup[248]: No DHCPv6 client software found! 2024-02-29T13:39:41.354868+01:00 proxy ifup[71]: ifup: failed to bring up eth0 2024-02-29T13:39:41.371856+01:00 proxy dhcpcd[150]: received SIGTERM, stopping 2024-02-29T13:39:41.372135+01:00 proxy dhcpcd[150]: eth0: removing interface - no IPv4 address assigned to eth0 - IPv6 addresses assigned to eth0 (using autoconf and DHCPv6, already configured by dhcpcd when started in inet mode) - dhcpcd DHCP client not running * What outcome did you expect instead? - interface status of eth0: up - running dhcpcd DHCP client on eth0 - valid IPv4 address on eth0 - valid IPv6 address obtained via stateful DHCPv6 (that actually works, but the address does not get renewed) * Full set of messages from ifup/dhcpcd in /var/log/syslog: 2024-02-29T13:39:36.367994+01:00 proxy ifup[147]: dhcpcd-10.0.6 starting 2024-02-29T13:39:36.368548+01:00 proxy ifup[147]: sandbox unavailable: seccomp 2024-02-29T13:39:36.368804+01:00 proxy dhcpcd[147]: dhcpcd-10.0.6 starting 2024-02-29T13:39:36.371607+01:00 proxy ifup[150]: DUID 00:01:00:01:2c:4f:27:17:42:9d:df:42:75:ca 2024-02-29T13:39:36.371853+01:00 proxy dhcpcd[150]: DUID 00:01:00:01:2c:4f:27:17:42:9d:df:42:75:ca 2024-02-29T13:39:36.372491+01:00 proxy ifup[150]: sandbox unavailable: seccomp 2024-02-29T13:39:36.372673+01:00 proxy dhcpcd[150]: sandbox unavailable: seccomp 2024-02-29T13:39:36.395973+01:00 proxy ifup[150]: eth0: IAID df:42:75:ca 2024-02-29T13:39:36.396292+01:00 proxy dhcpcd[150]: eth0: IAID df:42:75:ca 2024-02-29T13:39:36.448694+01:00 proxy ifup[150]: eth0: soliciting a DHCP lease 2024-02-29T13:39:36.448976+01:00 proxy dhcpcd[150]: eth0: soliciting a DHCP lease 2024-02-29T13:39:36.488032+01:00 proxy ifup[150]: eth0: offered 172.30.42.6 from 172.30.42.1 2024-02-29T13:39:36.488311+01:00 proxy dhcpcd[150]: eth0: offered 172.30.42.6 from 172.30.42.1 2024-02-29T13:39:36.492391+01:00 proxy ifup[150]: eth0: probing address 172.30.42.6/24 2024-02-29T13:39:36.492682+01:00 proxy dhcpcd[150]: eth0: probing address 172.30.42.6/24 2024-02-29T13:39:37.353015+01:00 proxy ifup[150]: eth0: soliciting an IPv6 router 2024-02-29T13:39:37.353319+01:00 proxy dhcpcd[150]: eth0: soliciting an IPv6 router 2024-02-29T13:39:37.356886+01:00 proxy ifup[150]: eth0: Router Advertisement from fe80::da58:d7ff:fe00:5b74 2024-02-29T13:39:37.357083+01:00 proxy dhcpcd[150]: eth0: Router Advertisement from fe80::da58:d7ff:fe00:5b74 2024-02-29T13:39:37.357545+01:00 proxy ifup[150]: eth0: adding address 2a02:810d:1680:1f42:ccf0:6a0:a412:49fd/64 2024-02-29T13:39:37.357675+01:00 proxy dhcpcd[150]: eth0: adding address 2a02:810d:1680:1f42:ccf0:6a0:a412:49fd/6 4 2024-02-29T13:39:37.358653+01:00 proxy ifup[150]: eth0: adding route to 2a02:810d:1680:1f42::/64 2024-02-29T13:39:37.358802+01:00 proxy dhcpcd[150]: eth0: adding route to 2a02:810d:1680:1f42::/64 2024-02-29T13:39:37.360136+01:00 proxy ifup[150]: eth0: adding default route via fe80::da58:d7ff:fe00:5b74 2024-02-29T13:39:37.360305+01:00 proxy dhcpcd[150]: eth0: adding default route via fe80::da58:d7ff:fe00:5b74 2024-02-29T13:39:37.362546+01:00 proxy ifup[150]: eth0: soliciting a DHCPv6 lease 2024-02-29T13:39:37.362795+01:00 proxy dhcpcd[150]: eth0: soliciting a DHCPv6 lease 2024-02-29T13:39:38.366362+01:00 proxy ifup[150]: eth0: REPLY6 received from fe80::da58:d7ff:fe00:5b74 2024-02-29T13:39:38.366656+01:00 proxy ifup[150]: eth0: adding address 2a02:810d:1680:1f42::6/128 2024-02-29T13:39:38.366808+01:00 proxy ifup[150]: eth0: renew in 16541, rebind in 26466, expire in 43200 seconds 2024-02-29T13:39:38.366969+01:00 proxy dhcpcd[150]: eth0: REPLY6 received from fe80::da58:d7ff:fe00:5b74 2024-02-29T13:39:38.367152+01:00 proxy dhcpcd[150]: eth0: adding address 2a02:810d:1680:1f42::6/128 2024-02-29T13:39:38.367296+01:00 proxy dhcpcd[150]: eth0: renew in 16541, rebind in 26466, expire in 43200 seconds 2024-02-29T13:39:41.353735+01:00 proxy ifup[248]: No DHCPv6 client software found! 2024-02-29T13:39:41.354868+01:00 proxy ifup[71]: ifup: failed to bring up eth0 2024-02-29T13:39:41.371856+01:00 proxy dhcpcd[150]: received SIGTERM, stopping 2024-02-29T13:39:41.372135+01:00 proxy dhcpcd[150]: eth0: removing interface * Workaround The attached patch (for current https://salsa.debian.org/debian/ifupdown.git) avoids the issue and results in a properly configured eth0 interface. The patch just avoids the DHCPv6 related error(s) with installed dhcpcd (from the dhcpcd-base package). This works because with dhcpcd as configured by ifupdown in inet/IPv4 mode already configures both inet/IPv4 and inet6/IPv6 domains (which might be another bug). -- Package-specific info: --- /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 auto eth0 iface eth0 inet dhcp iface eth0 inet6 dhcp --- /etc/network/interfaces.d/*: cat: '/etc/network/interfaces.d/*': No such file or directory --- up and down scripts installed: /etc/network/if-down.d: total 12 -rwxr-xr-x 1 root root 802 Jan 24 2023 postfix -rwxr-xr-x 1 root root 323 Jan 5 2022 resolvconf -rwxr-xr-x 1 root root 759 Sep 27 2022 resolved /etc/network/if-post-down.d: total 0 /etc/network/if-pre-up.d: total 0 /etc/network/if-up.d: total 16 -rwxr-xr-x 1 root root 965 Jan 5 2022 000resolvconf -rwxr-xr-x 1 root root 1185 Jan 24 2023 postfix -rwxr-xr-x 1 root root 4663 Sep 27 2022 resolved -- System Information: Debian Release: trixie/sid APT prefers testing APT policy: (500, 'testing') Architecture: armhf (armv7l) Kernel: Linux 5.15.147 (SMP w/2 CPU threads) Locale: LANG=C.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) Versions of packages ifupdown depends on: ii adduser 3.137 ii iproute2 6.7.0-2 ii libc6 2.37-15 Versions of packages ifupdown recommends: ii dhcpcd-base [dhcp-client] 1:10.0.6-1 Versions of packages ifupdown suggests: pn ppp <none> pn rdnssd <none> -- Configuration Files: /etc/default/networking changed: -- no debconf information
diff --git a/inet6.defn b/inet6.defn index d62123b..f820cb6 100644 --- a/inet6.defn +++ b/inet6.defn @@ -33,12 +33,16 @@ method auto if (var_true("dhcp", ifd) && execable("dhclient") && var_true("request_prefix", ifd)) dhclient -6 -1 -v -S -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface% \ elsif (var_true("dhcp", ifd) && execable("dhclient")) + echo 'up/auto (dhcpcd) ...' \ + elsif (var_true("dhcp", ifd) && execable("dhcpcd")) echo 'No DHCPv6 client software found!' >&2; false \ elsif (var_true("dhcp", ifd)) down dhclient -6 -v -r -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface% \ if (var_true("dhcp", ifd) && execable("dhclient")) + echo 'down/auto (dhcpcd) ...' \ + elsif (var_true("dhcp", ifd) && execable("dhcpcd")) echo 'No DHCPv6 client software found!' >&2; false \ elsif (var_true("dhcp", ifd)) ip -6 addr flush dev %iface% scope global @@ -162,12 +166,16 @@ method dhcp if (execable("dhclient") && var_true("request_prefix", ifd)) dhclient -6 -v -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface% \ elsif (execable("dhclient")) + echo 'up/dhcp (dhcpcd) ...' \ + elsif (execable("dhcpcd")) echo 'No DHCPv6 client software found!' >&2; false \ elsif (1) down dhclient -6 -v -r -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface% \ if (execable("dhclient")) + echo 'down/dhcp (dhcpcd) ...' \ + elsif (execable("dhcpcd")) echo 'No DHCPv6 client software found!' >&2; false \ elsif (1)