Differences between revisions 8 and 9
Revision 8 as of 2023-04-03 02:37:59
Size: 1884
Comment:
Revision 9 as of 2023-04-03 12:35:52
Size: 1892
Comment:
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:
Most Linux distributions offer an `avahi` package. For BSD distributions, try `avahi-daemon`. Most [[Linux]] distributions offer an `avahi` package. For [[BSD]] distributions, try `avahi-daemon`.

Avahi

Avahi is an implementation of Zeroconf and mDNS.

The project began with Lennart Poettering's implementation of mDNS and DNS-SD.


Installation

Most Linux distributions offer an avahi package. For BSD distributions, try avahi-daemon.

For systemd-capable systems, start and enable avahi-daemon.service.

The daemon binary is named avahi-daemon(8).


Configuration

networkd has a competing mDNS implementation that will need to be disabled before avahi can be made to work.

Alternatively, disable systemd-resolved.service entirely.

Name Resolution

For Avahi to insert domain name resolution for discovered services, 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

Firewalls

avahi-daemon(8) binds to port 5353. Firewalls such as ufw or awall must be reconfigured to open it.


Usage

Advertising Services

avahi-daemon(8) 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>

Discovery

In a terminal, use avahi-browse(1).

avahi-browse --all

Alternatively there is the graphical client avahi-discover(1).


CategoryRicottone

Avahi (last edited 2023-04-03 12:50:42 by DominicRicottone)