Outils pour utilisateurs

Outils du site


freebsd:dns

DNS

Bind

Installation

Bind fait parti du “userland” sous FreeBSD, mais il semble préférable de l'installer depuis les ports, dans ce mode de fonctionnement, bind sera mis à jour régulièrement, soit individuellement, soit lorsque l'on fait une mise à jour générale des ports installés, ce qui est beaucoup plus fréquent qu'une mise à jour du système lui même.

portupgrade -N dns/bind98

Configuration

globale (/etc/namedb/named.conf)

listen-on       { 127.0.0.1; IP_EXTERNE; };

Exemple de zone maître :

zone "domaine.com" {
   type master;
   file "master/domaine.com.db";
   Allow-transfer { XXX.XXX.XXX.XXX; };
};

Exemple de zone inverse :

zone "XXX.XXX.XXX.in-addr.arpa" {
       type master;
       file "master/XXX.XXX.XXX.in-addr.arpa";
};

Exemple de logging :

logging {
      channel default_log {
              file "/var/named/log/named.log" versions 3 size 10m;
              print-time yes;
              print-category yes;
              severity info;
              };
      channel security_log {
              file "/var/named/log/named.security.log" versions 3 size 5m;
              print-time yes;
              print-category yes;
              severity notice;
              };
      category default { default_log; };
      category security { security_log; };
      category lame-servers { null; };
};

Zone (/etc/namedb/master/mondomaine.com.db)

Exemple de fichier de zone :

$TTL 3600        ; 1 hour default TTL
mondomain.com.    IN      SOA      ns1.mondomain.com. mon@adressemail.com. (
                                20110223        ; Serial (generalement la date)
                                10800           ; Refresh
                                3600            ; Retry
                                604800          ; Expire
                                300             ; Negative Reponse TTL
                        )

                IN      NS      ns1.domain.com.
                IN      NS      ns2.domain.com.

; Machine Names
localhost       IN      A       127.0.0.1
ns1             IN      A       XXX.XXX.XXX.XXX
@               IN      A       XXX.XXX.XXX.XXX
www             IN      A       XXX.XXX.XXX.XXX
wiki            IN      A       XXX.XXX.XXX.XXX

@               IN      MX      10 adresse.serveur.mail. 
@               IN      MX      50 adresse.serveur2.mail. 

Vérification

On peut vérifier la syntaxe des fichiers de configuration avec les commandes suivantes :

Pour named.conf :

named-checkconf /etc/named.conf

Pour le fichier de zone :

named-checkzone mondomaine.com /etc/namedb/master/mondomaine.com.db

rc.conf

Pour que bind soit lancé au démarrage, il faut l'ajouter dans /etc/rc.conf :

named_enable="YES"
named_program="/usr/local/sbin/named"

lors du premier démarrage, on peut l'executer manuellement :

/etc/rc.d/named start

Il est important de lancer bind via son script de démarrage car il prend en compte le paramètre “named_program” situé dans rc.conf qui execute la version installé précedement et non celui qui est installé d'origine, de plus, dans named.conf, les chemins sont défini en fonction du “chroot”, par conséquent, le lancer directement par son executable ne le placerai pas dans ce “chroot” est aucun chemin ne correspondrait.

rndc

C'est l'outil qui sert à contrôler bind.

Configuration

On génere le fichier de configuration :

rndc-confgen -a -c /etc/namedb/rndc.conf -k dnsadmin -b 256

Cela crée un fichier /etc/namedb/rndc.conf contenant ceci :

key "dnsadmin" {
    algorithm hmac-md5;
    secret "LA_CLE_GENERE_ALEATOIREMENT";
};

Auquel on ajoute ceci :

options {
    default-key "dnsadmin";
    default-server 127.0.0.1;
};

Ensuite on édite de nouveau /etc/named/named.conf pour y ajouter ça :

key "dnsadmin" {
    algorithm hmac-md5;
    secret "LA_CLE_GENERE_ALEATOIREMENT_QUI_EST_DANS_RNDC.CONF";
};

controls {
    inet * allow { 127.0.0.1; } keys { "dnsadmin"; };
};
On peut bien sur remplacer "dnsadmin" par le nom de son choix, mais attention de bien le modifier partout.

Utilisation

forcer le serveur à relire ses fichiers de configuration :

rndc reload

Générer un fichier de statistiques dans /var/named/var/stats :

rndc stats

dig

Afficher les infos d'un domaine :

dig domaine.com

Afficher les infos d'un domaine en utilisant un serveur DNS précis :

dig @serveurdns domaine.com

Afficher des entrées précises d'un nom de domaine :

MX :

dig mx domain.com

A :

dig a domain.com

AAAA :

dig aaaa domain.com

On peut ajouter le paramètre +short pour ne pas s'encombrer d'infos inutiles :

dig domain.com +short
dig mx domain.com +short

Voir le serial d'un nom de domaine (affiche le serial de tous les serveurs primaires et secondaires pour le domaine)

dig domain.com +nssearch
freebsd/dns.txt · Dernière modification : 2011/09/26 16:26 de sheltem