ZeroConf

« Le partage de ressources de manière transparente sur un réseau local. »

ZeroConf est une collection d'outils et de protocoles servant à l'autoconfiguration des réseaux. Cette technologie est appelée Bonjour (ou encore RendezVous) par Apple et est utilisée intensivement par Mac OS X.

ZeroConf est composé de :

  • Résolution de noms, MDNS ;
  • Publication de service sur le réseau ;
  • Allocation d'adresses.

Traditionnellement, la plupart de ce travail est réalisé par DHCP et DNS. Cependant, la conception décentralisée de ZeroConf est plus appropriée dans certaines situations, comme pour les réseaux ad hoc. De plus, cela se fait sans aucune configuration (mise à part celle de l'installation de ZeroConf).

ZeroConf s'intègre très bien avec les outils traditionnels. Par exemple, vous pouvez obtenir une adresse IP par DHCP et utiliser le service DNS pour résoudre les adresses sur internet, tout en utilisant le hostname.local de MDNS (Multicast DNS) pour résoudre les adresses des autres ordinateurs sur le LAN.

Remarque : Si vous souhaitez utiliser ZeroConf dans un réseau qui ne vous appartient pas, il est préférable de contacter en premier l'administrateur réseau. Bien que ZeroConf soit un protocole performant, l'administrateur peut ne pas vouloir de ce trafic réseau additionnel. Soyez aussi vigilant, car il est aisé d'usurper un nom mdns « .local ».

Cette technologie peut actuellement être utilisée pour :

  • Partager de la musique — Rhythmbox, Banshee, Amarok, iTunes, mt-daapd;
  • Échanger des fichiers — gnome-user-share (en);
  • Découvrir automatiquement les autres clients VoIP — Ekiga ;
  • Discuter par messagerie instantanée sur le réseau local — gajim, pidgin, empathy ;
  • Partager les paquets — squid-deb-proxy ;
  • Partager des imprimantes (sous Ubuntu 7.10, dans Système → Administration → Impression, à l'onglet Paramètres du Serveur, cocher la case « Partager les imprimantes connectées à ce système »).
  • Publier les sites web disponibles avec apache2 : installer le paquet libapache2-mod-dnssd puis activer le module apache avec la commande $sudo a2enmod mod-dnssd
  • Publier un serveur ssh (voir discussion sur le forum ; rapport de bug debian (en anglais))

ZeroConf est installé et activé par défaut dans Ubuntu. Vous n'avez donc rien à faire pour l'installer.

MDNS

Maintenant, chaque ordinateur qui a avahi-daemon (ou mdnsresponder) installé s'identifiera lui-même sur le réseau comme « hostname.local » par exemple, mon ordinateur « flute », s'identifie lui-même comme « flute.local ».

Si ceci ne fonctionne pas, désinstallez le paquet libdns22 (bug #147731).

Dès lors, n'importe quel ordinateur peut utiliser « hostname.local » à la place d'une adresse IP. Par exemple vous pouvez faire

ping flute.local

ou

ssh flute.local

Configuration du pare-feu

Si vous utilisez un pare-feu et que vous avez des problèmes comme celui-ci

sam@titania:~$ ping flute.local
ping: unknown host flute.local

alors il est probable que votre pare-feu bloque les communications de ZeroConf.
Si lorsque vous arrêtez votre pare-feu ZeroConf fonctionne, alors cela vient sûrement du pare-feu.

Si vous utilisez le pare-feu guarddog1), vous aurez besoin de créer une nouvelle zone pour le trafic multicast et d'ajouter une entrée au fichier networkprotocoldb.xml.

Appeler cette nouvelle zone « multicast » et positionner les adresses de la zone ainsi 224.0.0.0/255.0.0.0. Ajouter le code XML ci-dessous dans « /usr/share/apps/guarddog/networkprotocoldb.xml », juste au-dessus de l'endroit où il est écrit « <protocol name="domain"> ». Relancer Guarddog et cocher les cases qui permettent le trafic mDns entre vos zones.

<protocol name="mDns">
  <!-- Protocol information guessed by Greg N <emailgregn@googlemail.com> -->
  <longname>mDns,Bonjour,Avahi,ZeroConf</longname>
  <longname lang="nl">mDns</longname>
  <longname lang="fr">mDns</longname>
  <longname lang="it">mDns</longname>
  <longname lang="es">mDns</longname>
  <description>Protocols to allow networks to configure themselves. It is called Bonjour (formerly Rendezvous) by Apple, and used extensively on Mac OS X. </description>
 
  <classification class="net"/>
  <network>
    <udp source="server" dest="client">
      <source><port portnum="nonprivileged"/></source>
      <dest><port portnum="5353"/></dest>
    </udp>
    <udp source="client" dest="server">
      <source><port portnum="5353"/></source>
      <dest><port portnum="nonprivileged"/></dest>
    </udp>
  </network>
  <security threat="medium" falsepos="low"/>
</protocol>

Utilisez l'application avahi-discover, ou l'applet service-discovery-applet pour l'environnement gnome. service intelligent et restructuration des données implémentées page 3 via pointeurs sur structure de BITMAP html DNS et prototype TCP. Have fun!

hostname-2.local

Parfois Avahi n'identifie pas correctement certaines machines et leurs ajoute un "-2", cela nous donne donc "hostname-2.local".
Pour retrouver un hostname correct sous la forme "hostname.local", nous devons effectuer ces quelques manipulations :

Pour commencer, on va renommer correctement le hostname du PC :

sudo hostname HOSTNAME_CORRECT_DU_PC

Puis on redémarre le daemon :

sudo service avahi-daemon restart

Et pour finir on s'assure que tout fonctionne correctement :

ps -ef | grep -i avahi

Ressources externes

Pages en rapport


Traduit du wiki anglophone.
Contributeurs : les contributeurs du wiki, sbrunner, Xorios, kanor, Id2ndR, Ner0lph.


  • zeroconf.txt
  • Dernière modification: Le 08/04/2017, 13:52
  • (modification externe)