mDNS and /etc/nsswitch.conf
I was out of town for a couple of weeks so the first thing I did this
morning was update my system(I'm running Sid). When I did I lost all
ability to access my dns server. I started up a sniffer and found my
system was attempting to access port 5353 at 220.127.116.11, a multicast
address, to resolve url's.
This turned out to be related to the libnss-mdns package and
modifications made to /etc/nsswitch.conf when it is installed. This
was done without asking me if I wanted to use multicast DNS as the
default protocol for resolving url's during the update.
To be able to use normal dns I had to modify /etc/nsswitch.conf. I
removed "mdns4_minimal [NOTFOUND=return]" from the "hosts" line and was
able to access my dns server again.
My question is: Does anyone know why the developers would be assume mdns
would be everyone's default protocol for DNS and make such a change
without notification during the upgrade process while not giving the
option of allowing you to keep your existing /etc/nsswitch.conf file?
If I hadn't known how to use a sniffer and hadn't understood what a
multicast address is I'd have been really lost in trying to figure out
what had happened to my ability to access my DNS server.
The changes to /etc/nsswitch.conf that cause the system to default to
mDNS for all DNS resolution are documented in
/usr/share/doc/libnss-mdns/README.Debian if anyone is interested.