[Bug 2003025] Re: systemd/resolved can't enable mdns permanently
Hadmut Danisch
2003025 at bugs.launchpad.net
Wed Jan 25 17:46:41 UTC 2023
I'm currently away from this particular network for some time, I'm
currently jumping between different countries.
If this just merges these settings into the systemd file generated by
netplan without the need of netplan to be able to deal with mdns, this
should do the job.
But I wasn't aware that there is this way of appending settings by
opening a .d/ directory and putting additional settings in it.
However, it doesn't seem to work.
I just tested this on a different machine (22.04 server) in a different
network, where mdns is usually not used.
I've enabled mdns on /etc/systemd/resolv.conf,
resolvectl mdns
Global: yes
Link 2 (enp1s0): no
Link 3 (eno1): no
the default interface connected to the lan is eno1.
Therefore, I created
/etc/systemd/network/10-netplan-eno1.network.d/mdns.conf
with
[Match]
Name=eno1
[Network]
MulticastDNS=yes
and rebootet the machine.
But mdns still not enabled for this network.
# networkctl status eno1
● 3: eno1
Link File: /run/systemd/network/10-netplan-eno1.link
Network File: /run/systemd/network/10-netplan-eno1.network
Type: ether
...
and /run/systemd/network/10-netplan-eno1.network
[Match]
Name=eno1
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
So no, the MulticastDNS setting doesn't make its way into the config from this way of setting.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/2003025
Title:
systemd/resolved can't enable mdns permanently
Status in systemd package in Ubuntu:
Incomplete
Bug description:
I currently ran into the problem, that systemd (i.e. its resolved)
cannot properly configured to run with mdns.
I'm currently setting up some machines in a network with a poor router which routes and offers DHCP, but does not put the DHCP clients into a DNS domain, so the machines need to use mdns to find each other.
In order to have systemd/resolved use mdns, two steps are necessary:
1. MulticastDNS=yes must be put into /etc/systemd/resolved.conf and
resolved restarted to enable it in general.
2. It must be enabled per interface. On the command line this can be done with
resolvectl mdns eth0 yes
result:
# resolvectl mdns
Global: yes
Link 63 (eth0): yes
and it works.
Problem: It cannot be done automatically in a server/LXD image. Im having this problem inside the LXD 22.04 image.
a) man pages suggest that /etc/systemd/network/eth0.network
[Match]
Name=eth0
[Network]
MulticastDNS=yes
would do the job, but it doesn't. It seems to be completely ignored.
The reason seems to be that
networkctl status eth0
shows
Network File: /run/systemd/network/10-netplan-
eth0.network
so it seems to be overridden by netplan.
b) netplan itself does not seem to support the MulticastDNS settings.
c) On Desktop Machines I found a workaround with NetworkManager, but on server and LXD images, Network Manager does not exist.
So I do not see a way to have this configured permanently (other than writing a systemd unit).
But:
I need to configure the machines / LXD machines using cloud-init, in order to have the installation pull packages from a server to be found with mdns.
I tried to run
resolvectl mdns eth0 yes
as a bootcmd in Cloud-init, but this has no effect, because it is too
early.
I tried to run it as a runcmd, and it works but it is too late, because package installation has already failed.
So where in this scrub between systemd and netplan could mdns be
enabled in a way, that the automatic installation would work?
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2003025/+subscriptions
More information about the foundations-bugs
mailing list