On Sat, 17 Feb 2024 16:00:08 +0100 Felix Jacobi <fe...@jacobi-bs.de> wrote:

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.

The Debian package does not ship any patches in that regard.
It would thus be best if you raise this upstream at
https://github.com/systemd/systemd/issues

I did not immediately find, why resolvectl/resolved does strip away the protocol identifier. At the very least, this incompatibility could be documented in the resolvctl man page.

Regards,
Michael

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to