-== 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:

  1. Il est important de killer Bind avec un SIGTERM ( kill -TERM ) afin qu'il ecrive en dur les zones dynamiques.
  2. Le fichier zones/net/balibalo.net sera automatiquement reformate par Bind.

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 :

  1. *VALIDER 2 FOIS* apres chaque commande.
  2. Ne pas hesiter a faire un DELETE avant de faire ADD, ceci evitera parfois des soucis.

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 )

unix/dyndns.txt · Last modified: 2010/01/12 13:29 (external edit)