avahi: ping can't resolve hostname, but nslookup can
As described in detail in this blog post, you need to edit /etc/avahi/avahi-daemon.conf
:
[server]
domain-name=.alocal
This binds the daemon to the domain .alocal
instead of the default .local
.
and restart the daemon with:
sudo service avahi-daemon restart
Note from the blog post:
You may need to flush the DNS,mDNS and resolver cache, as well as restart your web browsers to clear their internal cache.
After that, ping
and nslookup
started to agree.
Thanks to harrymc for getting me on the right track.
Modifying /etc/nsswitch.conf and replacing:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
by:
hosts: files dns
worked for me.
Easy thing to do: Edit /etc/default/avahi-daemon
Change the line:
AVAHI_DAEMON_DETECT_LOCAL=1
to
AVAHI_DAEMON_DETECT_LOCAL=0
Restart the avahi-daemon
, or kill it.
I don't like Avahi, and I don't use any of its features. If you want to truly disable avahi, modify /etc/init/avahi-daemon.conf
, similar to the following:
start on (never
and filesystem
and started dbus)
stop on stopping dbus