Introduction

Avahi est un système qui facilite la découverte des services dans un réseau. Cette technologie est aussi appelée Rendezvous, Bonjour ou ZeroConf.

En revanche avahi ne se limite pas forcément aux services du réseau local. En effet il est possible de le configurer pour propager l'information sur plusieurs réseaux d'une même passerelle, voir même sur des réseaux plus distants vu qu'il utilise la technologie de multi-diffusion (multicast).

Cette page présente quelques idées d'utilisations à l'AuF.

Mise en place de l'annonce des services

L'annonce des services peut se faire depuis n'importe quelle machine et donc en particulier depuis un serveur sur le réseau local. Il suffit d'installer le paquet avahi-daemon et vous pouvez tout de suite commencer à annoncer des services.

Les services sont décrit dans des fichiers XML relativement simples, qu'on place dans /etc/avahi/services/ et qui sont chargés au (re)démarrage de avahi. Le format du fichier est décrit dans man avahi.service et des exemples sont disponibles avec Debian dans /usr/share/doc/avahi-daemon/examples/.

Découverte des services existant

Il suffit d'installer le paquet avahi-utils et d'utiliser la commande avahi-browse -a -t -r pour avoir une liste détaillée des services disponibles sur le réseau.

Annonce d'une imprimante réseau

Certaines imprimantes, bien qu'accessible via le réseau, ne savent pas s'annoncer elle-même sur le réseau local. Il est cependant possible de les annoncer tout de même grâce à avahi, sans être obligé pour autant d'installer un service d'impression lourd tel que CUPS qui force du même coup toutes les impressions à passer par le serveur.

Voici un exemple permettant l'annonce d'une imprimante Xerox au Bureau Asie-Pacifique :

Annonce d'un partage de fichiers en réseau

Cette technique a pour avantage de faire apparaître les partages réseaux disponibles dans Raccourcis > Réseau.

Exemple de partage WebDAV

Voici un exemple pour l'annonce d'un partage WebDAV public au Bureau Asie-Pacifique :

Exemple de partage SFTP

Voici un autre exemple pour l'annonce d'un partage SFTP (via SSH donc), via le RPV, au Bureau Asie-Pacifique :

Annonce et découverte sur un tunnel OpenVPN

/!\ ATTENTION : les auteurs du logiciel avahi déconseillent de l'activer sur des tunnels pour des raisons de stabilité et de sécurité, et je n'en ai pas encore mesuré les conséquences précises.

Par défaut avahi refuse d'écouter et d'annoncer sur des tunnels. Pour activer cette fonctionnalité il faut placer la ligne suivante dans la section [server] du fichier /etc/avahi/avahi-daemon.conf :

Cette activation est à effectuer à la fois sur les clients OpenVPN (postes nomades) et sur le serveur OpenVPN.

De plus, sur le serveur OpenVPN il faut également ajouter une route de multi-diffusion pointant vers le tunnel commun aux clients OpenVPN. Cela se fait simplement en ajoutant la ligne suivante au fichier /etc/openvpn/server.conf :

Il faut ensuite relancer les services avahi-daemon et openvpn et les services annoncés devraient être immédiatement visibles dans Nautilus (ou autres) dès la prochaine connexion OpenVPN.

Quelques liens intéressants sur avahi

avahi (dernière édition le 2011-10-15 08:23:18 par JeanChristopheAndré)