Bug#1064133: systemd-resolved: Using systemd-resolved as drop-in replacements breaks in conjunction with ifupdown
Luca Boccassi
bluca at debian.org
Sun Feb 18 11:35:56 GMT 2024
Control: severity -1 wishlist
On Sat, 17 Feb 2024 16:00:08 +0100 Felix Jacobi <felix at jacobi-bs.de>
wrote:
> Package: systemd-resolved
> Version: 252.22-1~deb12u1
> Severity: important
> Tags: upstream
> X-Debbugs-Cc: felix at jacobi-bs.de
>
>
> Since Debian Bookworm, systemd-resolved cannot be installed along
with
> resolvconf anymore and provides its own stub implementation of this
> command.
>
> However, when using it in conjunction with ifupdown, this overrides
either
> IPv4 or IPv6 nameservers.
>
> Considers the following /etc/network/interfaces:
>
> auto lo
> iface lo inet loopback
> iface lo inet6 loopback
>
> auto ens3
> iface ens3 inet static
> address 192.0.0.2/24
> gateway 192.0.0.1
> dns-nameservers 192.0.0.1
>
> iface ens3 inet6 static
> address 2001:db8::2/64
> netmask 64
> gateway fe80::1
> dns-nameservers 2001:db8::1
>
> In background, this executes `resolvconf -a IFACE.PROTOCOL` and
supplies
> the nameservers to resolvconf, e.g.
>
> echo 'nameserver 192.0.0.1' | resolvconf -a ens3.inet
>
> However, the systemd-resolved resolvconf implementation removes the
> protocol indentifier:
>
> echo "nameserver 192.0.0.1" | resolvconf -a ens3.inet
> Dropped protocol specifier '.inet' from 'ens3.inet'. Using 'ens3'
(ifindex=2).
>
> This leads to the fact, that only ens3 is used internally. For the
> configuration above, this means the previous configured IPv4
nameserver
> is completely overriddden with the latter one in the IPv6 stanza.
>
> This also causes several other problems for tools relying on
resolvconf
> not dropping the protocol identifier and I would consider this a
> breaking change compared to the original resolvconf implementation.
ifupdown is ancient stuff, consider switching to something from this
side of the millennium.
--
Kind regards,
Luca Boccassi
More information about the Pkg-systemd-maintainers
mailing list