Avahi

Avahi is an implementation of Zeroconf, the zero-configuration method for network services. This would otherwise be accomplished through local DNS resolution.


Accessing Local Services

To make use of the "hostname.local" name resolution, an additional dependency (commonly named nss-mdns) is required.

Insert mdns_minimal [NOTFOUND=return] into /etc/nsswitch.conf, as below.

hosts: files mymachines myhostname mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns

More powerful configurations are of course possible, but this is the simplest and most minimal one.

You should be able to discover local services now. Try:

avahi-browse --all


Hosting Services

Avahi uses all /etc/avahi/services/*.service files that are readable by the avahi user and group. These take the form of structured XML. For example, an FTP service:

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name>FTP</name>
  <service>
    <type>_ftp._tcp</type>
    <port>21</port>
  </service>
</service-group>

Also, Avahi broadcasts over port 5353. See details in the article for UFW setup.


CategoryRicottone