Wide Area Bonjour – Une zone modifiable par tous

Nous avons vu dans un précédant article qu’il est très simple de mettre en place une zone WAB avec des données statiques. Intéressons-nous maintenant à la remontée d’informations des postes clients, ou comment faire en sorte que nos machines inscrivent d’elles-mêmes leurs informations dans notre zone WAB en même temps qu’elles publient leurs informations sur le Bonjour local.

English version

Les manipulations que nous allons voir ici considère que vous avez déjà mis en place votre zone WAB avec des informations statiques comment vu dans l’article précédent. Nous allons simplement préparer cette zone pour accueillir des mises à jour d’informations de la part des clients sans aucune authentification. Ce sera donc une zone WAB ouvert.

Apple nous facilite grandement le travail aujourd’hui, un peu d’analyse sur les outils d’OS X Server et d’intuition montre comment faire. Regardons sur notre serveur les paramètres du serveur dns via la ligne de commande :

root@office / 18:30 % serveradmin settings dns
dns:loggingLevel = "info"
dns:forwarders:_array_index:0 = "8.8.4.4"
dns:forwarders:_array_index:1 = "8.8.8.8"
dns:acls:_array_index:0:addressMatchList:_array_index:0 = "localnets"
dns:acls:_array_index:0:name = "com.apple.ServerAdmin.DNS.public"
dns:isBonjourClientBrowsingEnabled = yes
...
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:serial = "2010011704"
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:expire = 3600
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:refresh = 3600
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:nameservers:_array_index:0:name = "bonjour.office.inig-services.com."
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:nameservers:_array_index:0:value = "office.inig-services.com."
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:negativeTimeToLive = 345600
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:adminEmail = "admin@bonjour.office.inig-services.com."
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:allowZoneTransfer = no
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:selfResolvingHostname = "0"
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:name = "bonjour.office.inig-services.com."
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:reverseMappings:_array_index:0:value = "Office._http._tcp.bonjour.office.inig-services.com."
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:reverseMappings:_array_index:0:ipAddress = "_http._tcp"
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:serviceRecords:_array_index:0:weight = 0
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:serviceRecords:_array_index:0:port = 80
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:serviceRecords:_array_index:0:serviceType = "_http._tcp"
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:serviceRecords:_array_index:0:instanceName = "Office"
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:serviceRecords:_array_index:0:host = "office.inig-services.com."
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:serviceRecords:_array_index:0:priority = 0
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:serviceRecords:_array_index:0:txt = "path=/"
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:timeToLive = 3600
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:retry = 3600
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:bonjourRegistration = "off"
dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:allow-update = "none;"
...

On retrouve ici les informations de notre zone bonjour.office.inig-services.com stocké d’une manière un peu spéciale : dns:views:_array_id:2:primaryZones:_array_id::

Peut importe ce que ça représente, faites attention à utiliser les bonnes valeurs.

Vous avez peut-être remarqué qu’il y a une valeur dont le nom est bonjourRegistration et qui est à off pour le moment, nous allons tout simplement passer cette valeur à open pour que Server Admin configure pour nous les différents outils permettant la mise à jour de la zone par tous les clients.

root@office / 18:38 % serveradmin settings dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:bonjourRegistration = "open"

À la fin de cette commande vous devriez avoir un nouveau fichier dans /etc/dns qui se nomme dnsextd.conf

root@office / 18:40 % ls -l /etc/dns
total 32
-rw-r--r--@ 1 root  wheel   204B Jan 17 18:38 dnsextd.conf.apple
-rw-r--r--@ 1 root  wheel   130B Jan 17 18:38 loggingOptions.conf.apple
-rw-r--r--@ 1 root  wheel   324B Jan 17 18:38 options.conf.apple
-rw-r--r--@ 1 root  wheel   1.3K Jan 17 18:38 publicView.conf.apple

dnsextd est un démon se chargeant de la communication entre les clients et le serveur DNS.

On voit également que les autres fichiers ont été modifiés, Server Admin y a en effet rajouté toutes les informations nécessaires au bon fonctionnement du WAB.

Notre serveur est maintenant prêt à accueillir les informations de nos clients, il ne reste plus qu’à dire à nos machines qu’elles peuvent s’enregistrer et sous quel nom.

Pour cela nous allons dans les Préférences Système de notre Mac OS X Client puis dans la section Partage. Dans le panneau de gestion de services de partage vous trouverez en haut le champ permettant de modifier le nom de votre machine ainsi qu’un bouton modifier sur lequel vous allez cliquer, il permet de modifier les informations Bonjour.

Un panel apparait, cochez la case « Utiliser un nom d’hôte dynamique global », rentrez le nom d’hôte de la machine, pas d’identifiant puis cocher la case « Annoncer les services de ce domaine via Bonjour ».

Une fois validé, votre client a dû s’enregistrer auprès de votre serveur (sous condition qu’il utilise le bon serveur DNS).
Voici comment vérifier que tout s’est bien déroulé, depuis un Mac OS X Client, ouvrez un terminal et tapez les commandes suivantes et comparez vos résultats :

yoann@Yoanns-Laptop ~ 19:00 % dns-sd -E
Looking for recommended registration domains:
Timestamp     Recommended Registration domain
19:00:26.729  Added     (More)               local
19:00:26.730  Added     (More)               mac.com
                                                                 - >; members
                                                                 - - >; yoann
19:00:26.730  Added                          inig-services.com
                                                                 - >; office
                                                                 - - >; bonjour

Cette commande m’indique la liste des domaines Bonjour recommandé pour l’enregistrement, j’y retrouve mon domaine .local (celui utilisé normalement), le domaine de MobileMe (et oui, MobileMe se sert de WAB pour vous fournir les services de Back to my Mac) et notre domaine, tout va bien donc !

Autre commande (qui nécessite que votre client enregistré ai le partage AFP d’actif) :

yoann@Yoanns-Laptop ~ 19:00 % dns-sd -B _afpovertcp._tcp bonjour.office.inig-services.com.
Browsing for _afpovertcp._tcp.bonjour.office.inig-services.com.
Timestamp     A/R Flags if Domain                    Service Type              Instance Name
19:03:30.913  Add     2  0 bonjour.office.inig-services.com. _afpovertcp._tcp.         Yoann's Laptop

Je liste ici tous les enregistrements pour les services de type _afpovertcp._tcp sur ma zone bonjour.office.inig-services.com.

Si je veux maintenant obtenir les informations pour un service sur une machine, voici ce que j’ai à faire :

yoann@Yoanns-Laptop ~ 19:05 % dns-sd -L "Yoann's Laptop" _afpovertcp._tcp bonjour.office.inig-services.com.
Lookup Yoann's Laptop._afpovertcp._tcp.bonjour.office.inig-services.com.
19:05:26.225  Yoann's\032Laptop._afpovertcp._tcp.bonjour.office.inig-services.com. can be reached at yoann-laptop.office.inig-services.com.:548 (interface 0)

Un autre moyen de voir facilement les informations publiées sur les domaines Bonjour est d’utiliser l’excellent Bonjour Browser ici lancé depuis une autre machine :

Et voilà, votre zone WAB open est fonctionnelle. Ne seront enregistrés sur cette zone que les clients ayant les options adéquats de coché dans leurs préférences système. Pour les autres, ils verront ce qui est publié par les machines configuré sous condition d’avoir le bon serveur DNS et la bonne zone de recherche de configuré.

Voici par exemple la vue réseau d’un client connecté en VPN sur mon serveur :

Et pour Safari :

Si vous avez des questions ou des commentaires, n’hésitez pas.

N’oubliez pas que vous pouvez me retrouver comme formateur pour les centres de formation suivant :

2 réflexions au sujet de « Wide Area Bonjour – Une zone modifiable par tous »

  1. Ping : Tweets that mention iNig-Services » Wide Area Bonjour – Une zone modifiable par tous -- Topsy.com

  2. Ping : Serial Serveur » Blog Archive » Comprendre et mettre en place Wide Area Bonjour

Laisser un commentaire