-== DynDNS et Subzone ARPA ==-
0. Introduction
Ce texte explique comment configurer un DNS Dynamique a base de Bind 8.x sur des noms de domaines et des zones ARPA. Ce texte explique aussi comment deleguer une zone ARPA inferieure a une classe C.
1. Config de Bind
D'abord, il faut configurer le DNS primaire.
---------------- debut named.conf ----------------- options { listen-on { 192.168.0.1; }; query-source address 192.168.0.1 port 53; transfer-source 192.168.0.1; allow-transfer { 192.168.0.2; }; allow-query { any; }; recursion yes; }; zone "." { type hint; file "zones/named.root"; }; zone "balibalo.net" { type master; file "zones/net/balibalo.net"; allow-update { 192.168.0.3; }; }; ------------------ fin named.conf ----------------
Les options ne sont pas vitales pour la fonction DynDNS mais elles assurent le bon fonctionnement de Bind. La directive allow-update autorise une ou plusieurs IP a updater dynamiquement une zone.
------------------ debut zones/net/balibalo.net -------------------- $TTL 60 @ IN SOA ns1.balibalo.net. postmaster.balibalo.net. ( 1999010101 ; Serial 30 ; Refresh 60 ; Retry 60 ; Expire 60); Minimum TTL NS ns1.balibalo.net. ------------------ fin zones/net/balibalo.net ----------------------
Pour qu'un DNS dynamique soit efficace, il faut que la duree de vie dans les caches des autres DNS soit courte. D'ou une telle configuration des delais du SOA.
Il faut s'assurer des permissions du fichier afin que Bind soit capable de le mettre a jour. Si le daemon Bind tourne avec le user/group bind/bind alors…
drwxrwxr-x 2 bind bind 1024 Jul 7 20:21 . -r--r--r-- 1 bind bind 1072 Jul 7 20:21 balibalo.net
Note:
2. Update
Dans le tarball Bind, on trouve le programme nsupdate qui permet de faire des requetes de mise a jour. L'utilisation est simple, mais il est important de *VALIDER 2 FOIS* a pres chaque commande!
(192.168.0.3)$ ./nsupdate > update delete test.at.balibalo.net > > update add test.at.balibalo.net 60 A 192.168.100.20 > (192.168.0.3)$
Notes :
3. Subclass ARPA et DynDNS
3.1 Subclass ARPA
3.1.1 Class ARPA (ns1.ISP.net)
-------------- partie de (named.conf) ----------------------------------------- zone "10.168.192.IN-ADDR.ARPA" { type master; file "zones/ARPA/10.168.192.IN-ADDR.ARPA"; }; -------------------------------------------------------------------------------
-------------- partie de (zones/ARPA/10.168.192.IN-ADDR.ARPA) ----------------- ; -- debut dyndns balibalo -- zone8087 IN NS ns1.balibalo.net. 80 IN CNAME 80.zone8087.10.168.192.in-addr.arpa. 81 IN CNAME 81.zone8087.10.168.192.in-addr.arpa. 82 IN CNAME 82.zone8087.10.168.192.in-addr.arpa. 83 IN CNAME 83.zone8087.10.168.192.in-addr.arpa. 84 IN CNAME 84.zone8087.10.168.192.in-addr.arpa. 85 IN CNAME 85.zone8087.10.168.192.in-addr.arpa. 86 IN CNAME 86.zone8087.10.168.192.in-addr.arpa. 87 IN CNAME 87.zone8087.10.168.192.in-addr.arpa. ; -- fin dyndns balibalo --
Note: on choisit le nom “zone8087” arbitrairement, cependant il ne faut pas utiliser de - dans le nom sous peine d'induire nsupdate en erreur lors de l'analyse de la chaine ARPA. Ne pas mettre “80-87” !
3.1.2 Subclass ARPA (ns1.balibalo.net)
-------------- partie de (named.conf) ----------------------------------------- zone "zone8087.10.168.192.IN-ADDR.ARPA" { type master; file "zones/ARPA/zone8087.10.168.192.IN-ADDR.ARPA"; allow-update { 192.168.0.3; }; };
-------------- partie de (zones/ARPA/zone8087.10.168.192.IN-ADDR.ARPA) --------- $TTL 60 @ IN SOA ns1.balibalo.net. postmaster.balibalo.net. ( 1999010101 ; Serial 30 ; Refresh 60 ; Retry 60 ; Expire 60) ; Minimum TTL NS ns1.balibalo.net.
3.2 Update
(192.168.0.3)$ ./nsupdate > update delete 85.zone8087.10.168.192.in-addr.arpa > > update add 85.zone8087.10.168.192.in-addr.arpa 60 PTR test.at.balibalo.net > (192.168.0.3)$
4. Web interface ?
Go to http://www.freshmeat.net and search DynDNS ( Python interface )