DNS, serveur

De Diablotins.org.


BIND et son démon named
Image:brush.png
résolution de nom

Remarque : Cette configuration fonctionne pour le bind par défaut de freeBSD.




Sommaire

Préparation

Les fichiers de configuration de BIND sur FreeBSD se trouvent dans :

  /etc/namedb/

Considérons notre réseau IP ; RFC 1918 : 192.168.1.0/24.
La configuration comprend le direct et le reverse sur ce réseau pour le domaine «mon-domaine.org».
Nous avons deux machines pour les DNS sous FreeBSD :

  • le master (brazil)192.168.1.3
  • le slave (mescaline)192.168.1.4

Le routeur est :

  • (routeur)192.168.1.1

le MX est :

  • (azazel)192.168.1.6.

La machine client est :

  • (sion)192.168.1.5

le serveur cvs, web et ftp, est sur (

  • (leeloo)192.168.1.2

Le domaine pointe sur le serveur.

fichier named.conf

Éditez le fichier de configuration principale sur le master 192.168.1.3/etc/namedb/named.conf :

vi /etc/namedb/named.conf
--
options {
   directory "/var/cache/bind";
   listen-on { 192.168.1.3; };
   query-source address 192.168.1.3 port 53;
   transfer-source 192.168.1.3;
   allow-transfer {
      localhost;
      192.168.1.4;
   };
   allow-query { any; };
   recursion yes;
   forwarders {
      XXX.XXX.XXX.XXX; // DNS public
   };
};

logging {
   category lame-servers { null; };
   category cname { null; };
};

// référence au roots DNS
zone "." {
   type hint;
   file "/etc/namedb/db.root";
};

// autorité locale
zone "localhost" {
    type master;
   file "/etc/namedb/db.local";
};

// autorité locale reverse
zone "127.in-addr.arpa" {
   type master;
   file "/etc/namedb/db.127";
};

zone "0.in-addr.arpa" {
   type master;
   file "/etc/namedb/db.0";
};
zone "255.in-addr.arpa" {
   type master;
   file "/etc/namedb/db.255";
};

// zone de mon-domaine.org
zone "mon-domaine.org" {
   type master;
   file "/etc/namedb/db.mon-domaine.orget";
   allow-transfer {
      localhost;
      192.168.1.4;
   };
   allow-update {
      localhost;
      192.168.1.4; 
   };
};

// reverse RFC 1918 sur 192.168.1.0/24
zone "1.168.192.in-addr.arpa" {
   type master;
   file "/etc/namedb/db.mon-domaine.org.reverse.1";
   allow-transfer {
      192.168.1.4;
   };
   allow-update {
      192.168.1.4;
   };
};

Génération de la résolution locale

Lancez le script de construction des fichiers de zone locaux :

  # make-localhost

Zone domaine directe

Éditez maintenant la zone directe :

# vi /etc/namedb/db.mon-domaine.org
--
$TTL 86400
mon-domaine.org. IN SOA brazil.mon-domaine.org. root.brazil.mon-domaine.org. (
       2003012801 ;serial
       86400 ;refresh
       7200 ;retry
       8640000 ;expire
       86400 ) ;min

          IN       NS      ns1
          IN       NS      ns2

ns2       IN       A       192.168.1.3
ns1       IN       A       192.168.1.4

          IN       MX 50   azazel.mon-domaine.org.
@         IN       A       192.168.1.150

routeur   IN       A       192.168.1.1
leeloo    IN       A       192.168.1.2
brazil    IN       A       192.168.1.3
mescaline IN       A       192.168.1.4
sion      IN       A       192.168.1.5
azazel    IN       A       192.168.1.6

ftp       IN       CNAME   leeloo
www       IN       CNAME   leeloo
ssh       IN       CNAME   leeloo
cvs       IN       CNAME   leeloo
mx        IN       CNAME   azazel

Reverse RFC 1918 sur 192.168.1.0/24

Maintenant, le reverse sur 192.168.1.0/24 :

vi /etc/namedb/db.mon-domaine.org.reverse.1
--
$TTL 86400
mon-domaine.org. IN SOA brazil.mon-domaine.org. root.brazil.mon-domaine.org. (
       2003012801 ;serial
       86400 ;refresh
       7200 ;retry
       8640000 ;expire
       86400 ) ;min

          IN        NS     ns1
          IN        NS     ns2

1         IN        PTR    routeur.mon-domaine.org.
2         IN        PTR    leeloo.mon-domaine.org.
3         IN        PTR    brazil.mon-domaine.org.
4         IN        PTR    mescaline.mon-domaine.org.
5         IN        PTR    sion.mon-domaine.org.
6         IN        PTR    azazel.mon-domaine.org.

Fichier named.conf d'un slave

Sur le slave :

fichier de configuration principal pour un slave :

vi /etc/namedb/named.conf
--
options {
   directory "/etc/namedb";
   forwarders {
      XXX.XXX.XXX.XXX; // public
   };
};

zone "." {
   type hint;
   file "named.root";
};

zone "0.0.127.in-addr.arpa" { 
   type master; 
   file "localhost.rev";
};

zone "mon-domaine.org" {
   type slave;
   masters { 192.168.1.3; };
   file "db.mon-domaine.org";
   allow-transfer { none; };
};

zone "1.168.192.in-addr.arpa" {
   type slave;
   masters { 192.168.1.3; };
   file "db.mon-domaine.org.reverse.1";
   allow-transfer { none; };
};

Lancement

Il nous reste à lancer named(8) et s'assurer qu'il redémarrera à chaque fois que la machine reboot : Pour le relancer on tape en root :

  # named

Lancement Automatique

On ajoute les entrées suivantes dans /etc/rc.conf.

vi /etc/rc.conf
--
named_enable="YES"
named_program="/usr/sbin/named"
named_flags="-c /etc/namedb/named.conf"
Projets :