Sie sind auf Seite 1von 9

LYCÉE NOTRE-DAME DE LA PROVIDENCE – AVRANCHES (50)

DNS
Installation d’un serveur DNS primaire, et d’un serveur secondaire et mise à jour des enregistrements DNS via serveur DHCP

adim
Serveur DNS bind9 sous Ubuntu 14.04 :

 Principe de fonctionnement :

Le service DNS (Domain Name Server) est chargé d’établir la correspondance entre une adresse IP et un nom
de machine. Cela permet que les hôtes obtiennent une adresse IP en sachant le nom de la machine à atteindre (pour 2

aller sur Google nous utilisons l’adresse www.google.com et non pas l’adresse IP associée).

Le principe du système DNS repose sur la décentralisation des données et sur une vision hiérarchique des
réponses aux requêtes. Chaque serveur DNS est responsable de sa zone et n’est pas en mesure de communiquer
directement les adresses IP associées aux noms de machines demandés, mais il est néanmoins capable de
transmettre la demande aux serveurs susceptibles de répondre.

La représentation classique d’une arborescence DNS se fait sous forme d’arbre inversé, avec, à son sommet
la « Racine DNS » (composée de 13 serveurs répartis à travers le monde), puis les serveurs couvrant les labels TLD
(.fr, .com, .org…) et enfin les serveurs couvrant les zones comme « ac-caen.fr » ou « ndlaprovidence.org »

Un serveur de noms (= serveur DNS) s’occupe d’une partie de cet arbre inversé, du nœud sur lequel il fait autorité et
il n’est pas capable de gérer les autres zones.

Cheminement d’une résolution d’adresse :


I. Le client DNS veut contacter l’adresse « www.google.com »
II. Le serveur racine résout la partie « .com » et envoie vers un des serveurs
faisant autorité dans ce nœud
III. Le serveur de label « .com » renvoi la requête vers un des serveurs DNS de
Google,
IV. Les serveurs DNS de Google font la correspondance entre le nom « www » et
un serveur web et renvoie l’adresse IP au client

Dimitri MICHINEAU | BTS SIO SISR

 Zone reverse :

La zone reverse (ou zone inverse) est une zone utilisée pour connaître le nom d’une machine en connaissant
son adresse IP, elle est nommée « in-addr.arpa ».

Exemple : Dans un réseau de type 192.168.1.x, l’adresse reverse sera « 1.168.192.in-addr.arpa » et devra
répondre pour toutes les adresses déclarées entre 192.168.1.0 et 192.168.1.254.
 Installation du serveur DNS

Dans cet exemple, l’IP du serveur principal sera : 192.168.1.20

I. Installer Ubuntu 14.04 Server et mettez à jour la liste des paquets (apt-get update / apt-get upgrade)
II. Télécharger les paquets de bind9, dnsutils et locate (apt-get install nomdupaquet)
III. Lorsque le paquet bind9 est téléchargé il se lance automatiquement, utiliser la commande ps –ef | grep
3
named afin de vérifier que le service est lancé par l’utilisateur bind
IV. Vous pouvez à tout moment éteindre le service DNS, le redémarrer sans avoir à redémarrer tout le système
en exécutant la commande /etc/init.d/bind9 start (ou restart / stop)
V. Mettez à jour le paquet locate avec un updatedb
VI. Création de la zone DNS principale :
a. Modifiez le fichier named.conf.local (nano /etc/bind/named.conf.local) et ajoutez les lignes
suivantes :

zone ‘’mondomaine.fr’’ {
type master ;
file ‘’/etc/bind/mondomaine.fr.hosts’’ ;
} ;

VII. Création de la zone DNS inversée :


a. Modifiez toujours le fichier named.conf.local, et ajoutez aux lignes précédentes :

zone ‘’2.168.192.in-addr.arpa’’ {
type master ;
file ‘’/etc/bind/mondomaine.fr.inverse’’ ;
} ;

VIII. Configuration de la zone DNS principale :


a. Créez le fichier mondomaine.fr.hosts en faisant une copie du fichier db.empty (cp
/etc/bind/db.empty /etc/bind/mondomaine.fr.hosts)
b. Modifier ce fichier (nano /etc/bind/mondomaine.fr.hosts) comme suit : Dimitri MICHINEAU | BTS SIO SISR

@ IN SOA dns.mondomaine.fr. webmaster.mondomaine.fr. (


1 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expires after 1 week
86400 ; minimum TTL of 1 day)
@ IN NS dns.mondomaine.fr.
dns IN A 192.168.1.20

NB : Les enregistrements de type “A” mettent en relation les adresses IP avec les noms d’hôtes, et ceux de
type “NS” définissent un serveur de noms.
IX. Configuration de la zone DNS secondaire :
a. Créez le fichier mondomaine.fr.inverse en faisant une copie du fichier db.empty (cp
/etc/bind/db.empty /etc/bind/mondomaine.fr.inverse)
b. Modifier ce fichier (nano /etc/bind/mondomaine.fr.inverse) comme suit :

@ IN SOA dns.mondomaine.fr. webmaster.mondomaine.fr. (


1 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour 4
604800 ; expires after 1 week
86400 ; minimum TTL of 1 day)
@ IN NS dns.mondomaine.fr.
20 IN PTR dns.mondomaine.fr.

NB : Ici, 20 correspond à la fin de l’adresse IP du serveur DNS (192.168.1.20), et l’enregistrement de


type ‘’PTR’’ signifie ‘’pointeur’’ est un renvoi vers le DNS.

I. Il peut subsister des problèmes d’écriture car les droits d’écritures sont (sur le serveur secondaire)
limités par le démon named. Pour palier à ce problème il faut modifier le fichier usr.sbin.named
dans apparmor.d (nano /etc/apparmod.d/usr.bin.named) comme suit :

etc/bind/** rw,

X. Testez les fichiers named-checkzone mondomaine.fr /etc/bind/mondomaine.fr.hosts et named-


checkzone 1.168.192.in-addr.arpa /etc/bind.mondomaine.fr.inverse
XI. Testez si la résolution des noms est bonne avec les commandes nslookup www.google.fr ou dig
www.google.fr
XII. Si les tests sont concluants, redémarrez le service DNS avec /etc/init.d/bind9/restart

Dimitri MICHINEAU | BTS SIO SISR


 Mise en service d’un serveur DNS secondaire :

Dans cet exemple, l’IP du serveur secondaire sera : 192.168.1.10

Une fois le serveur principal configuré, il est recommandé d’utiliser un serveur secondaire afin d’assurer la
disponibilité du DNS lorsque le premier est indisponible.

II. Ajouter la ligne allow-transfer dans le fichier named.conf.local du serveur principal (nano 5
/etc/bind/named.conf.local)

zone ‘’mondomaine.fr’’ {
type master ;
file ‘’/etc/bind/mondomaine.fr.hosts’’ ;
allow-transfer { 192.168.1.10 ; } ;
} ;

zone ‘’2.168.192.in-addr.arpa’’ {
type master ;
file ‘’/etc/bind/mondomaine.fr.inverse’’ ;
allow-transfer { 192.168.1.10 ; } ;
} ;

III. Toujours sur le serveur principal, modifiez les fichiers dimitri.sio.hosts et dimitri.sio.inverse (nano
/etc/bind/mondomaine.fr.hosts (ou .inverse) comme suit :

ZONE PRINCIPALE :

@ IN SOA dns.mondomaine.fr. webmaster.mondomaine.fr. (


1 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expires after 1 week
Dimitri MICHINEAU | BTS SIO SISR

86400 ) ; minimum TTL of 1 day


@ IN NS dns.mondomaine.fr.
@ IN NS dns2.mondomaine.fr.
dns IN A 192.168.1.20
dns2 IN A 192.168.1.10
ZONE SECONDAIRE :

@ IN SOA dns.mondomaine.fr. webmaster.mondomaine.fr. (


1 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expires after 1 week
86400 ) ; minimum TTL of 1 day
@ IN NS dns.mondomaine.fr.
@ IN NS dns2.mondomaine.fr.
6
20 IN PTR dns.mondomaine.fr.
10 IN PTR dns2.mondomaine.fr.

IV. Sur le serveur secondaire, installez les mêmes paquets que sur le principal (bind9, dnsutils, locate)
V. Modifiez le fichier named.conf.local (nano /etc/bind/named.conf.local), rajouter l’argument masters et
définissez le type en slave :

zone ‘’mondomaine.fr’’ {
type slave ;
file ‘’/etc/bind/mondomaine.fr.hosts’’ ;
masters { 192.168.1.20 ; } ;
} ;

zone ‘’2.168.168.in-addr.arpa’’ {
type slave ;
file ‘’/etc/bind/mondomaine.fr.inverse’’ ;
masters { 192.168.1.20 ; } ;
} ;

VI. Redémarrez le service DNS sur les deux serveurs (/etc/init.d/bind9 restart)
VII. N’oubliez pas d’incrémenter la ligne ‘’serial’’ (dans les fichiers /etc/bind/mondomaine.fr.hosts(ou .inverse))
afin que le serveur secondaire rapatrie les données DNS.
VIII. Vérifiez dans le fichier syslog (nano /var/log/syslog) que le serveur secondaire se mette bien à jour :
Dimitri MICHINEAU | BTS SIO SISR

slave zone ‘’mondomaine.fr’’ (IN) loader (serial 2)


slave zone ‘’10.168.192.in-addr.arpa’’ (IN) loader (serial 2)

NB : Un serveur secondaire met à jour sa zone DNS uniquement si le serial du serveur principal est supérieur au sien.

IX. Sur les deux serveurs, modifiez le fichier resolv.conf (nano /etc/resolv.conf) :

search mondomaine.fr
nameserver 192.168.1.20
nameserver 192.168.1.10
 Mise à jour dynamique des enregistrements DNS :

Pour mettre à jour l’enregistrement des clients DHCP dans le DNS, il faut bien entendu avoir un serveur
DHCP fonctionnel.

Le serveur DNS doit être configuré pour pouvoir être mis à jour par le serveur DHCP, ils utiliseront une clé
partagée TSIG, il faudra soit en créer une soit récupérer celle qui se crée sur le serveur DNS au moment de
l’installation de bind9 (nano /etc/bind/rndc.key).
7

I. Côté serveur DNS, il faut modifier le fichier named.conf.local afin de définir les hôtes qui seront
mis à jour par le serveur DHCP (nano /etc/bind/named.conf/local)

zone ‘’mondomaine.fr’’ {
type master ;
allow-update {
key rndc-key; #UTILISATION DE LA CLÉ RNDC EXISTANTE
192.168.2.30 ; #IP DU DHCP
192.168.2.20 ; #IP DU DNS PRIMAIRE
192.168.2.10 ; #IP DU DNS SECONDAIRE
192.168.2.0/24 ; #IP DU RÉSEAU
} ;
file ‘’/etc/bind/mondomaine.fr.hosts’’ ;
allow-transfer { 192.168.1.10 ; } ;
} ;

zone ‘’2.168.168.in-addr.arpa’’ {
type master ;
allow-update {
key rndc-key; # UTILISATION DE LA CLÉ RNDC EXISTANTE
192.168.2.30 ; # IP DU DHCP
192.168.2.20 ; # IP DU DNS PRIMAIRE
192.168.2.10 ; # IP DU DNS SECONDAIRE
192.168.2.0/24 ; # IP DU RÉSEAU
} ;
file ‘’/etc/bind/mondomaine.fr.inverse’’ ;
allow-transfer { 192.168.1.10 ; } ;
Dimitri MICHINEAU | BTS SIO SISR

} ;

II. Toujours côté DNS primaire, il faut modifier le fichier named.conf pour rajouter une ligne
include (nano /etc/bind/named.conf) :

include ‘’/etc/bind/rndc.key’’ ;
III. Il faut maintenant aller modifier le fichier dhcpd.conf sur le serveur DHCP (nano
/etc/dhcp/dhcpd.conf) :

ddns-updates on;
ddns-update-style interim;
update-static-leases on ;

IV. Sur le serveur DHCP, il convient d’éditer le fichier dhcp.conf (nano /etc/dhcp/dhcp.conf) :
8
option domain-name “mondomaine.fr” ;
option domain-name-servers dns.mondomaine.fr ;

default-lease-time 600 ;
max-lease-time 7200 ;

subnet 192.168.2.0 netmask 255.255.255.0 {


range 192.168.2.50 192.168.2.100 # Plage d’adresses DHCP
option domain-name-servers dns.mondomaine.fr ;
option domain-name “mondomaine.fr”;
option routers 192.168.2.254 ; # Adresse de la passerelle
option broadcast-address 192.168.2.255 ; # Adresse de broadcast
default-lease-time 600 ;
max-lease-time 7200 ;
ddns-domainname “mondomaine.fr” ;
ddns-rev-domainname “in-addr.arpa” ;
}

V. Sur le serveur DNS primaire, il faut ensuite modifier les droits sur les fichiers de zones (chmod –
R 755 /etc/bind)
VI. Toujours sur le serveur DNS, il faut rajouter les lignes suivantes dans le fichier
named.conf.option (nano /etc/bind/named.conf.option) :

controls {
inet 192.16.2.20 ports 953 allow {192.168.2.20 ; 192.168.2.30 ;} keys {
“rndc-key”;};
};
Dimitri MICHINEAU | BTS SIO SISR

VII. Redémarrer le service DNS sur les deux serveurs DNS (/etc/init.d/dns restart)
VIII. Redémarrer le service DHCP sur le serveur DHCP (/etc/init.d/isc-dhcp-server restart)
 Les enregistrements DNS :

Il existe plusieurs types d’enregistrements (liste non-exhaustive) :

 A : Associe une adresse IP à un nom d’hôte dans une zone primaire (IPV4)
 AAAA : Associe une adresse IP à un nom d’hôte dans une zone primaire (IPV6)
 CNAME : Créé un alias d’un enregistrement de type A existant
 NS : Défini les serveurs, il doit pointer vers un enregistrement de type A
 MX : Défini sur quel serveur doit être envoyé les mails, il doit pointer vers un 9
enregistrement de type A
 PTR : Associe une adresse IP à un nom d’hôte dans une zone inverse
 TXT : Fournie des informations en format texte brut à des sources extérieures au domaine,
les informations envoyées sont directement exploitables par un ordinateur ou une personne et elle peuvent
servir différents objectifs (Google s’en sert par exemple pour valider la propriété d’un domaine et mettre en
œuvre des sécurité de messagerie)

Dimitri MICHINEAU | BTS SIO SISR

Das könnte Ihnen auch gefallen