Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
zeroconf [Le 02/10/2013, 11:05] – [Découvrir les services] 91.199.6.44zeroconf [Le 13/05/2026, 19:02] (Version actuelle) – màj lien lecteur vidéo krodelabestiole
Ligne 1: Ligne 1:
-{{tag> réseau }}+{{tag>réseau Partage}}
  
-----+====== Zeroconf ======
  
-====== ZeroConf ======+**[[wpfr>Zeroconf]]** est un ensemble de protocoles servant à la configuration automatique d'un réseau privé. Cette technologie est appelée //Bonjour// (ou encore //RendezVous//) par Apple et est utilisée par macOS et iOS, ainsi que la plupart des machines réseau modernes (//box// Internet, imprimantes, [[:NAS]], etc.).
  
-//« Le partage de ressources de manière transparente sur un réseau local»//+**[[wpfr>Avahi_(logiciel)|Avahi]]** est une collection d'outils propres à Linux, permettant d'y implémenter les protocoles Zeroconf.
  
 +Zeroconf offre différentes fonctionnalités utiles au [[:partage]] réseau :
 +  * Résolution de noms avec [[#mDNS]] (//multicast DNS//) ;
 +  * Publication de service sur le réseau ;
 +  * Allocation d'adresses.
  
 +Traditionnellement, la plupart de ce travail est réalisé par [[wpfr>DHCP]] (et [[wpfr>DNS]] sur Internet). Cependant, Zeroconf est souvent plus pratique pour les réseaux privés, domestiques ou de petite entreprise. De plus, cela se fait sans aucune configuration (mise à part celle de l'installation d'Avahi).
  
 +Avahi 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]] pour résoudre les adresses des autres ordinateurs sur le LAN.\\
 +Cette solution est donc très pratique avec [[:SMB]] !
  
 +<note>
 +Si vous souhaitez utiliser Zeroconf sur un réseau qui ne vous appartient pas, il est préférable de contacter au préalable 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'').
 +</note>
  
-===== Introduction =====+Cette technologie peut actuellement être utilisée pour : 
 +  * Partager de la musique : [[:Rhythmbox]], iTunes, [[:mt-daapd]] 
 +  * Échanger des fichiers : **(//en//)** [[https://linux.softpedia.com/get/Desktop-Environment/Tools/gnome-user-share-11597.shtml|gnome-user-share]] 
 +  * Découvrir automatiquement les autres clients VoIP : [[:Ekiga#avahi|Ekiga]] 
 +  * Discuter par messagerie instantanée sur le réseau local : [[:gajim]], [[:pidgin]], [[:empathy]] 
 +  * Partager des [[:paquet|paquets]] : [[:quid-deb-proxy]] 
 +  * [[:tutoriel:installer_imprimante_partage|Partager des imprimantes]] 
 +  * Publier les sites web servis avec [[:Apache2]] : [[:tutoriel:comment_installer_un_paquet|installer le paquet]] ''[[apt>libapache2-mod-dnssd]]'' puis activer le module Apache avec la commande ''[[:apache2#fichiers_de_configuration|a2enmod dnssd]]'' 
 +  * Publier un serveur [[:SSH]] (voir discussion sur le [[https://forum.ubuntu-fr.org/viewtopic.php?id=206906|forum]])
  
-**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.+===== Installation =====
  
-ZeroConf est composé de : +Avahi est installé et activé par défaut sur Ubuntu. Vous n'avez donc rien de particulier à faire pour en profiter.
-  * 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. Cependantla 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).+Si ce n'est pas le casil suffit d'[[:tutoriel:comment_installer_un_paquet|installer les paquets]] [[apt>avahi-daemon avahi-autoipd]].
  
-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 internettout en utilisant le hostname.local de MDNS //(Multicast DNS)// pour résoudre les adresses des autres ordinateurs sur le LAN.+Il se peut que la configuration du pare-feu bloque la communication [[#mDNS]] par défaut. Dans le panneau de configuration du pare-feuon pourra si nécessaire changer le niveau de confiance par défaut (réseau publicpour un niveau plus permissif (réseau domestique ou //home//).
  
-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 »//.+===== Utilisation =====
  
-Cette technologie peut actuellement être utilisée pour : +==== mDNS ====
-  * Partager de la musique --- [[Rhythmbox]], [[Banshee]], [[Amarok]], iTunes, [[mt-daapd]]; +
-  * Echanger des fichiers --- [[http://linux.softpedia.com/get/Desktop-Environment/Tools/gnome-user-share-11597.shtml|gnome-user-share]] (en); +
-  * Découvrir automatiquement les autres clients VoIP --- [[Ekiga#avahi|Ekiga]] ; +
-  * Discuter par messagerie instantanée sur le réseau local --- [[gajim]], [[pidgin]], [[empathy]] ; +
-  * Partager les paquets --- [[apt-zeroconf]] ; +
-  * [[:tutoriel:installer_imprimante_partage|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 **[[apt://libapache2-mod-dnssd|libapache2-mod-dnssd]]** puis activer le module apache avec la commande ''$sudo a2enmod mod-dnssd'' +
-  * Publier un serveur ssh (voir discussion sur le [[http://forum.ubuntu-fr.org/viewtopic.php?id=206906|forum]] ; rapport de bug [[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=375685#15|debian]] (en anglais))+
  
-===== Installation ===== +Chaque machine utilisant Zeroconf s'identifie elle-même sur le réseau comme ''//hostname//.local'', où ''//hostname//'' est le nom d'hôte de la machine. Par exemple un ordinateur //banane//s'identifie lui-même comme ''banane.local''.
-==== Installation complète ==== +
-Pour compléter l'installation d'avahi déjà présent dans ubuntuvous pouvez [[:tutoriel:comment_installer_un_paquet|Installer les paquets]] **[[apt>avahi-daemon, avahi-discover, avahi-utils, avahi-ui-utils, avahi-dnsconfd, libnss-mdns service-discovery-applet, mdns-scan|avahi-daemon avahi-discover avahi-utils avahi-ui-utils avahi-dnsconfd libnss-mdns service-discovery-applet mdns-scan]]**.+
  
-==== Ubuntu version 7.04 et suivantes ====+<note importante>Si ceci ne fonctionne pas, [[:desinstaller_une_application#methodes_standardspour_deb_snap_et_flatpak|désinstallez le paquet]] ''libdns22''.(([[https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/147731|bug #147731]]))</note>
  
-ZeroConf est installé et activé par défaut à partir de Ubuntu 7.04. Vous n'avez donc rien à faire pour l'installer.+Dès lors, n'importe quel ordinateur peut utiliser ''//hostname//.local'' à la place d'une adresse IP. Par exemple vous pouvez utiliser ''[[man>ping]]'' 
 +<code>ping banane.local</code> 
 +ou [[:SSH]] 
 +<code>ssh banane.local</code>
  
-==== Ubuntu version 6.06 LTS ====+==== Découvrir les services ====
  
-[[:tutoriel:comment_installer_un_paquet|Installer simplement les paquets]] **avahi-daemon** et **libnss-mdns**.+Sur Ubuntu, **[[:nautilus|GNOME Fichiers]]** est généralement le choix le plus simple pour visualiser et explorer les services exposés par **Zeroconf** : le panneau //Réseau// (le [[:nautilus#les_signets|signet]] est en haut de la colonne de gauche -- anciennement //Autres emplacements//) utilise certains de ces protocoles pour afficher les partages réseau et les noms des machines qui les proposent.
  
-===== Utilisation =====+De la même manière certains lecteurs [[:multimédia]] ([[:lecteur_audio|audio]] et [[:lecteur vidéo|vidéo]]), par exemple, utilisent ces protocoles pour accéder à du contenu sur le réseau local. C'est généralement transparent pour l'utilisateur, qui n'a pas à se soucier du nom du protocole ou de sa mise en place.
  
-==== MDNS ====+==== Utilisation en ligne de commande ===
  
-Maintenant, chaque ordinateur qui a avahi-daemon (ou mdnsresponder) installé s'identifiera lui-même sur le réseau comme « hostname.local » par exemplemon ordinateur « flute », s'identifie lui-même comme « flute.local ».+Depuis un [[:terminal]] on peut procéder à un scan plus exhaustif grâce à la commande ''avahi-browse'', fournie par le [[:paquet]] ''[[apt>avahi-utils]]''
 +  avahi-browse -av 
 +(''Ctrl''+''C'' pour quitter).
  
-<note importante>Si ceci ne fonctionne pas, [[:tutoriel:comment_supprimer_un_paquet|désinstallez le paquet]] **libdns22** ([[https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/147731|bug #147731]]).</note>+Pour résoudre l'adresse IPv4 d'une hypothétique machine //banane// 
 +  avahi-resolve -n4 banane.local
  
-Dès lors, n'importe quel ordinateur peut utiliser « //hostname//.local » à la place d'une adresse IP. Par exemple vous pouvez faire +À l'inverse, pour connaître le nom mDNS d'une machine : 
-<code>ping flute.local</code> +  avahi-resolve -a IP.de.la.machine 
-ou +en remplaçant ''IP.de.la.machine''.
-<code>ssh flute.local</code>+
  
-=== Configuration du pare-feu ===+===== Problèmes connus =====
  
-Si vous utilisez un pare-feu et que vous avez des problèmes comme celui-ci+==== hostname-2.local ====
  
-<code> +Parfois Avahi n'identifie pas correctement certaines machines et leurs ajoute un ''-2'', qui donne ''//hostname//-2.local''.
-sam@titania:~$ ping flute.local +
-ping: unknown host flute.local +
-</code>+
  
-alors il est probable que votre pare-feu bloque les communications de ZeroConf. +Pour retrouver un //hostname// correct sous la forme ''//hostname//.local''nous devons effectuer ces quelques manipulations :
-Si lorsque vous arrêtez votre pare-feu ZeroConf fonctionnealors cela vient sûrement du pare-feu.+
  
-Si vous utilisez [[firestarter]] tout le trafic multicast est bloqué. Cela sera peut-être configurable dans la prochaine version. En attendant, la solution à ce problème est d'éditer ''/etc/firestarter/user-pre'' en tant qu'utilisateur root. Vous aurez besoin de ''chmod u+w'' ce fichier pour obtenir les droits en écriture avant de l'éditer. Par exemple +On modifie le nom d'hôte de l'ordinateur 
-<code> +  sudo hostname HOSTNAME_CORRECT 
-sudo -i +Puis on redémarre le //daemon// : 
-cd /etc/firestarter +  sudo systemctl restart avahi-daemon 
-chmod +w user-pre +Pour finir on s'assure que tout fonctionne correctement : 
-gedit user-pre +  ps -ef | grep -i avahi
-</code>+
  
-Adaptez le contenu de ce fichier avec ce qui suit :+==== Aucun trafic Zeroconf ====
  
-<file> +La commande 
-$IPT -A INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT +  avahi-browse -a 
-$IPT -A OUTPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT +ne retourne rien par exemple.
-</file>+
  
-Puissauvegarder le fichier, remettre les droits en lecture seule sur ce fichier et relancer Firestarter : +Le problème peut venir du [[:pare-feu]]qui bloque ce trafic.
-<code> +
-chmod -w user-pre +
-/etc/init.d/firestarter restart +
-</code>+
  
-Maintenant, vous devriez être capable de résoudre les noms .local.+=== Firewalld ===
  
-<code> +Pour l'autoriser, avec **[[wp>Firewalld]]** 
-sam@titania:~$ ping flute.local +  sudo firewall-cmd --add-service=mdns --permanent 
-PING flute.local (192.168.1.101) 56(84) bytes of data. +  sudo firewall-cmd --reload 
-64 bytes from flute.local (192.168.1.101): icmp_seq=1 ttl=64 time=4.45 ms +  sudo systemctl restart avahi-daemon
-64 bytes from flute.local (192.168.1.101): icmp_seq=2 ttl=64 time=4.16 ms +
-</code>+
  
-Si vous utilisez le pare-feu guarddog((http://www.simonzone.com/software/guarddog/)), vous aurez besoin de créer une nouvelle zone pour le trafic multicast et d'ajouter une entrée au fichier networkprotocoldb.xml.+=== Guarddog ===
  
-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.+Si vous utilisez le pare-feu **[[wpfr>Guarddog]]**, vous aurez besoin de créer une nouvelle zone pour le trafic //multicast// et d'ajouter une entrée au fichier ''networkprotocoldb.xml''.
  
-<code 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. 
 + 
 +<file XML>
 <protocol name="mDns"> <protocol name="mDns">
   <!-- Protocol information guessed by Greg N <emailgregn@googlemail.com> -->   <!-- Protocol information guessed by Greg N <emailgregn@googlemail.com> -->
-  <longname>mDns,Bonjour,Avahi,ZeroConf</longname>+  <longname>mDns,Bonjour,Avahi,Zeroconf</longname>
   <longname lang="nl">mDns</longname>   <longname lang="nl">mDns</longname>
   <longname lang="fr">mDns</longname>   <longname lang="fr">mDns</longname>
   <longname lang="it">mDns</longname>   <longname lang="it">mDns</longname>
   <longname lang="es">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>+  <description>Protocols to allow networks to configure themselves. It is called Bonjour (formerly Rendezvous) by Apple, and used extensively on macOS.</description>
    
   <classification class="net"/>   <classification class="net"/>
Ligne 130: Ligne 130:
   <security threat="medium" falsepos="low"/>   <security threat="medium" falsepos="low"/>
 </protocol> </protocol>
-</code> +</file>
- +
- +
- +
-===== Découvrir les services ===== +
- +
-Utilisez l'application //avahi-discover//, ou l'applet //[[apt>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! +
-===== Résolutions Problèmes : ===== +
- +
-==== 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 :\\ +
-<code>sudo hostname HOSTNAME_CORRECT_DU_PC</code> +
-Puis on redémarre le daemon :\\ +
-<code>sudo service avahi-daemon restart</code> +
-Et pour finir on s'assure que tout fonctionne correctement :\\ +
-<code>ps -ef | grep -i avahi</code>+
  
 ===== Voir aussi ===== ===== Voir aussi =====
- 
  
 ==== Ressources externes ==== ==== Ressources externes ====
  
-  * [[http://www.zeroconf.org/|Site officiel]] [en+  * **(//en//)** [[http://www.zeroconf.org/|Site officiel]] 
-  * [[http://developer.apple.com/networking/bonjour/index.html|Bonjour]] [en] +  * **(//en//)** [[http://0pointer.de/lennart/projects/nss-mdns/|libnss-mdns]] 
-  * [[http://0pointer.de/lennart/projects/nss-mdns/|libnss-mdns]] [en+  * **(//en//)** [[http://avahi.org/|Avahi mdns responder]]
-  * [[http://avahi.org/|Avahi mdns responder]] [en] +
-  * [[http://www.porchdogsoft.com/products/howl/|Howl mdns responder]] [en]+
  
 ==== Pages en rapport ==== ==== Pages en rapport ====
  
-{{topic>zeroconf}}+{{backlinks>.#!utilisateurs:}}
  
 ---- ----
- +//Contributeurs : [[:contributeurs|les contributeurs du wiki]], [[:utilisateurs:sbrunner]], Xorios, kanor, [[:utilisateurs:Id2ndR]], [[:utilisateurs:Ner0lph]], [[:utilisateurs:krodelabestiole]].//
-//Traduit du [[https://help.ubuntu.com/community/HowToZeroconf|wiki anglophone]].\\ +
-Contributeurs : [[:contributeurs|les contributeurs du wiki]], [[:utilisateurs:sbrunner]], Xorios, kanor, [[:utilisateurs:Id2ndR]], [[:utilisateurs:Ner0lph]].//+