URL: https://linuxfr.org/users/tchetch/journaux/du-dns-dynamique Title: Du DNS dynamique Authors: Etienne Bagnoud Date: 2010年03月16日T17:01:24+01:00 Tags: Score: 29 [Le DNS dynamique (DDNS) (1)](http://en.wikipedia.org/wiki/Ddns) c'est ce qu'on retrouve sur Internet avec des services comme dyndns.org ou no-ip.org. Ça permet de fixer un nom à une adresses toujours changeante. Lorsqu'on est en entreprise, l'on a un serveur DHCP qui distribue des adresses IP et l'on aimerait bien fixer ces adresses à des noms permanents (genre ordi00.ordinateurs.example.com). Il existe la solution traditionnelle pour les utilisateurs de Bind et ISC DHCPD, mais pas pour les utilisateurs de l'excellent [ldapdns (2)](http://www.nimh.org/code/ldapdns/). C'est pourquoi j'ai écrit, il y a deux ans, un petit script Perl qui faisait toute la magie nécessaire à la création d'un DDNS pour ldapdns. Il est resté dans les entrailles des serveurs durant longtemps (tout bugué, les entrées étaient toujours fausses, mais c'était déjà pas mal). Dernièrement, pour satisfaire Nagios, il a fallu attaquer le problème encore une fois avec la ferme intention d'en venir à bout. J'ai donc longuement médité et en cherchant, j'ai trouvé une RFC qui décrivait le chaînon manquant de l'ensemble : pouvoir mettre une durée de vie à une entrée LDAP. Il s'agit de la [RFC 2589 (3)](http://tools.ietf.org/html/rfc2589). Ma joie fut encore plus grande quand je découvris [l'overlay DDS de openLDAP qui implémente justement cette fonctionnalité (4)](http://www.openldap.org/doc/admin24/overlays.html#Dynamic%20Directory%20Services). Pour arriver à mes fins, j'ai dû : - [Écrire une extension pour Perl-LDAP (5)](http://markmail.org/thread/tay3nyjeixor6xyu) - [Corriger un bug d'openLDAP (existant de la version 2.14 jusqu'à la version CVS) (6)](http://www.openldap.org/its/index.cgi/Incoming?id=6490) - Modifier [mon script (7)](http://www.tchetch.net/code/perl/ldap_ddns.pl.txt) pour utiliser cette fonctionnalité Finalement l'ajout de cette fonctionnalité à mon script est devenu une réécriture de la majorité du script. Pour la documentation, c'est sur [mon wiki (8)](http://www.tchetch.net/wiki/ldap/ddns). [1] [http://en.wikipedia.org/wiki/Ddns](http://en.wikipedia.org/wiki/Ddns) [2] [http://www.nimh.org/code/ldapdns/](http://www.nimh.org/code/ldapdns/) [3] [http://tools.ietf.org/html/rfc2589](http://tools.ietf.org/html/rfc2589) [4] [http://www.openldap.org/doc/admin24/overlays.html#Dynamic%20(...)](http://www.openldap.org/doc/admin24/overlays.html#Dynamic%20Directory%20Services) [5] [http://markmail.org/thread/tay3nyjeixor6xyu](http://markmail.org/thread/tay3nyjeixor6xyu) [6] [http://www.openldap.org/its/index.cgi/Incoming?id=6490](http://www.openldap.org/its/index.cgi/Incoming?id=6490) [7] [http://www.tchetch.net/code/perl/ldap_ddns.pl.txt](http://www.tchetch.net/code/perl/ldap_ddns.pl.txt) [8] [http://www.tchetch.net/wiki/ldap/ddns](http://www.tchetch.net/wiki/ldap/ddns)