← Terug naar blog

Netwerk discovery met Avahi en Bonjour

Avahi-logo

Avahi en Bonjour zijn open-source implementaties van de Zeroconf specificatie. Hiermee kun je een host in je netwerk bereiken zonder het IP-adres te kennen. De hostnaam is genoeg.

Avahi draait op Linux en Bonjour op Windows en macOS. Het moet wel aan beide kanten aanwezig zijn. Zonder extra configuratie kun je een host bereiken via <hostname>.local, bijvoorbeeld cubieboard.local. Met Zeroconf kun je zelfs werken zonder DHCP-server.

Avahi installeren op Debian, Ubuntu of Raspbian

Log via SSH in op de server en voer uit:

$ sudo apt-get update
$ sudo apt-get install libnss-mdns avahi-utils

Daarna draait Avahi.

Bonjour installeren op Windows

Als iTunes geinstalleerd is, draait Bonjour waarschijnlijk al. Zo niet, dan heb je Bonjour64.msi nodig. Dit bestand is geen losse download, maar zit in iTunes64Setup.exe.

Download iTunes, pak het installatiebestand uit met 7z of WinRAR en installeer daarna Bonjour64.msi.

Testen

Open op Windows cmd en ping een machine in je netwerk:

C:\Users\Arjan>ping cubieboard.local

Pinging cubieboard2.local [fe80::5ff:fe83:5601%20] with 32 bytes of data:
Reply from fe80::5ff:fe83:5601%20: time<1ms
Reply from fe80::5ff:fe83:5601%20: time<1ms
Reply from fe80::5ff:fe83:5601%20: time<1ms
Reply from fe80::5ff:fe83:5601%20: time<1ms

Ook in de browser kun je de server bereiken:

http://cubieboard.local

Opmerkingen

  • Installeer Avahi of Bonjour op alle machines waarop je deze functionaliteit wilt gebruiken.
  • Controleer dat IPv6 niet half aan/uit staat. Als Avahi bijvoorbeeld via IPv6 adverteert en je client alleen IPv4 gebruikt, werkt discovery niet goed.

Gebruik je KDE of macOS, dan kun je ook services in het lokale netwerk adverteren. Meer informatie staat op de Arch Linux Avahi-pagina.