[Bug 2062927] Re: Ambiguity in mdns configuration
Trent Lloyd
2062927 at bugs.launchpad.net
Thu May 9 01:52:20 UTC 2024
It's not possible to correctly run two mDNS stacks at the same time, as
while multicast udp packets can be received by multiple programs, only
one program will receive unicasted port 5353 mDNS replies, even if both
daemons allow multiple-binding to port 5353.
While actually using that feature is not so commonly used intentionally,
it is used sortof by accident by many enterprise wireless network
vendors when they "convert" multicast to unicast as a network
optimisation (because multicast packets are truly multicasted, but at a
"base" network rate much slower than the normal rate of the clients,
which uses up more airtime than sending them all individually at a
higher speed).
Hence, we cannot really enable the independent systemd-resolved support
at the same time as actually using Avahi to do proper service discovery,
and you should use the avahi/nss-mdns support instead if you want any
actual mDNS service discovery support.
Ideally resolved would add a backend to use avahi when it exists/is
installed so we could drop the extra nss-mdns step. But no one has
written that code so far.
But I am not sure why you say you cannot disable the systemd-resolved
mDNS support. It's disabled in resolved by default out of the box, and
then when disabled it doesn't bind to the port, so Avahi works fine, and
nss-mdns will work find alongside systemd-resolved. Many people use this
configuration all the time.
So I am curious.. in what specific scenario and configuration are you
seeing it enabled and the port conflict?
On an out of the box install if you run "resolvectl status" you'll see
-mDNS on all the interfaces. Can you detail your configuration more
precisely?
--
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/2062927
Title:
Ambiguity in mdns configuration
Status in avahi package in Ubuntu:
Confirmed
Status in systemd package in Ubuntu:
Confirmed
Bug description:
Hi,
I recently failed to get a 22.04 and 23.04 running reliably in a
network with a cheap Huawei fiber router which provides routing and
DHCP, but does not offer a DNS service with a zone with DHCP hosts.
Therefore, machines cannot find each other by DNS.
Since mdns is designed to solve this problem (and I could remember
that Ubuntu was dealing with such networks properly about 10 years
ago), I tried to configure the machines to use mdns.
I was not able to get things running, since there are collisions
between systemd/resolved on one hand, and avahi daemon on the other,
colliding both on the UDP port and the functionality.
systemd/resolved are not really able to provide all services, but it
is not possible to use avahi only either, since systemd/resolved is
built so deeply into ubuntu, that it can't be removed or turned off
without breaking lots of functionalities. Furthermore, I found systemd
to be unreliable as an mdns resolver. Sometimes it works, sometimes it
doesn't, sometimes it takes minutes.
I would have expected that Ubuntu would drop avahi daemon after moving
to systemd, but now I found that 24.04 still comes with avahi daemon
and competing functionalities.
E.g. avahi suggests to install libnss-mdns, while resolved wants mdns
to be enabled in /etc/systemd/resolved.conf and to handle it itself.
So what is the suggested way to use Ubuntu in a network without proper
DNS for DHCP-clients?
systemd+resolved? avahi? both?
I did not find any documentation about this, no simple configuration
settings, no answer to the question how mdns should be used on Ubuntu
since Ubuntu moved to systemd.
Nobody seems to care.
regards
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/avahi/+bug/2062927/+subscriptions
More information about the foundations-bugs
mailing list