DNS : Domain Name System
(RFC 1034 et RFC 1035)
Configuration et usage des services DNS
Sous Linux (Centos)
1
Plan
Les Types des serveurs DNS
Installation de DNS
Vérification de DNS
Configuration de DNS
Tester la résolution DNS
2
Principe de fonctionnement du DNS
Types de serveurs DNS
Quatre types de serveurs
Serveur primaire (maître)
Serveur secondaire (esclave)
Serveur cache
Serveur forwarding
3
Principe de fonctionnement du DNS
Serveur primaire
A autorité pour un ou plusieurs domaines
Source officielle des informations concernant son ou
ses domaines
Répond aux requêtes concernant sa zone d’autorité
Retransmet des requêtes (hors son domaine) ou
réoriente les clients vers les serveurs concernés (root)
M. A. J. les serveurs secondaires
Un serveur primaire pour une zone peut être
secondaire pour une autre
Un seul serveur primaire pour une zone
4
Principe de fonctionnement du DNS
Serveur secondaire
Source officielle des informations concernant son
domaine d’autorité
En cas de panne du serveur primaire
Conserve une copie intégrale des informations des
domaines d’autorité du serveur primaire
Sollicite, régulièrement, la M. A. J. de ces
informations auprès du serveur primaire
Un ou plusieurs serveurs secondaires pour un
domaine
5
Principe de fonctionnement du DNS
Serveur cache
N’a autorité sur aucune zone
Source non officielle des informations
Stocke, localement, les informations de résolutions de
nom ou adresse d’autres serveurs en réponse à des
requêtes de ses clients
Nom de domaine @IP
@IP nom de domaine
Répond à ses clients en utilisant, en priorité, ces
informations locales
Réponse rapide
Moins de trafic sur le réseau
Durée de vie limitée TTL
6
Principe de fonctionnement du DNS
Serveur forwarding
N’a autorité sur aucune zone
Oriente le client vers les serveurs ayant autorité sur le
nom de domaine sollicité
7
Installation de DNS
Le programme BIND (Berkely Internet Name Domain)
assure le service de résolution de nom
Les packages d’installation :
bind
bind-libs
bind-utils
Il existe deux façon pour installer BIND
Installation via internet
Yum –y install bind (à partir d'internet directement)
à partir des packages déjà téléchargés
rpm –ivh bind------------------.rpm
8
Vérification de DNS
Pour vérifier l’installation de BIND
rpm –q bind ou rpm –qa | grep bind
Afficher l’état de service DNS
Systemctl status named
Démarrer le service DNS
systemctl restart named
Afficher les informations de service DNS
rpm -qi bind
9
Vérification de DNS
Vérifier les fichiers de service DNS
rpm -ql bind
/etc/named.conf (fichier de configuration de zones)
/var/named/ (emplacement de fichiers de zones)
/var/named/data/ (emplacement des fichiers log)
/var/named/slaves/ (info de réplication si ce serveur
est un serveur secondaire)
/var/named/dynamic (DDNS info)
/var/named/named.ca (des infos des serveurs racines)
10
Configuration de DNS
Configuration de bind
Serveur DNS
Client DNS
Configuration du résolveur Configuration du démon named
11
Configuration de DNS
Configuration du résolveur (Méthode 1)
Pas obligatoire
Toujours une configuration par défaut
Le fichier de configuration est : /etc/resolv.conf
le nom du domaine
L’@IP du serveur de nom
Le fichier /etc/resolv.conf pourrait se présenter ainsi :
nameserver 192.168.1.1
search ntic.ma
Configuration du résolveur (Méthode 2)
Le fichier /etc/sysconfig/network-script/ifcfg-enp0s3
PEERDNS= yes
DNS1= 192.168.1.1 (@de serveur DNS)
DOMAIN= ntic.ma (nom de domaine)
12
Configuration de DNS
Configuration du démon named
Le fichier named.conf
Le fichier named.ca ( ou named.root)
Les fichiers de zone
Les fichiers de zone inverse
13
Configuration de DNS
Le fichier named.conf
Configuration des paramètres généraux du
serveur
Types de déclarations
Les options : (options générales de serveur)
Les déclarations de zones (Options spécifique a une
zone)
14
Configuration de DNS
Les options
Options Description
allow-query Définit les hôtes autorisés à faire des requêtes sur le serveur
allow-recursion Définit les hôtes autorisés à faire des demandes récursives
Blackhole Définit les hôtes qui ne sont pas autorisés
Directory Définit le répertoire de travail (/var/named par défaut)
forwarders Définit les IPs des serveurs où doivent être forwardés les requêtes
Forward Contrôle le comportement de retransmission d'une directive forwarders.
Les options suivantes sont acceptées :
first : les serveurs de noms spécifiés dans la directive forwarders sont
interrogés avant que named ne tente de résoudre le nom lui-même.
only : named ne doit pas tenter d'effectuer lui-même une résolution dans
le cas où des demandes vers les serveurs spécifiés dans la directive
forwarders échoueraient.
listen-on Spécifie l'interface réseau à utiliser (toutes par défaut)
… 15
Configuration de DNS
Les options (Exemple)
16
Configuration de DNS
Le fichier named.conf
Options de déclarations de zones
Options Description
allow-query Quels client sont autorisés à obtenir des informations pour cette zone
allow-transfer Quels serveurs esclaves sont autorisés a demander un transfert des informations de
cette zone
allow-update Quels hôtes sont autorisés à mettre à jour dynamiquement les informations de cette
zone
file Nom du fichier de configuration de la zone dans le répertoire de travail
type Définit le type de zone :
forward : retransmet toutes les requêtes d'informations à propos de cette zone vers d'autres
serveurs de noms
hint : un type spécial de zone utilisé pour diriger des transactions vers les serveurs de noms
racines qui résolvent des requêtes lorsqu'une zone n'est pas connue autrement. Aucune configuration
au-delà de la valeur par défaut n'est nécessaire avec une zone hint.
master : désigne le serveur de noms faisant autorité pour cette zone. Une zone devrait être
configurée comme de type master (maître) si les fichiers de configuration de la zone se trouvent sur
le système.
slave : désigne le serveur de noms comme serveur esclave pour cette zone. Cette option spécifie
également l'adresse IP du serveur de noms maître pour cette zone.
…. 17
Configuration de DNS
Le fichier named.conf
Options de déclarations de zones
Exemple
18
Configuration de DNS
Configuration du démon named
Le fichier named.conf
Le fichier named.ca
Les fichiers de zone
Les fichiers de zone inverse
19
Configuration de DNS
Le fichier named.ca (ou named.root)
Contient les informations des serveurs de domaine
racine (root)
Il n'y a que 13 serveurs de noms principaux (root)
sur Internet.
[Leur liste peut être obtenue à l'adresse suivante :
ftp ://ftp.rs.internic.net/domain/named.root]
Généralement fait partie du package de BIND
. IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. IN A 198.41.0.4
. IN NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. IN A 128.9.0.107
. Named.root : IN NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. IN A 192.33.4.12
. IN NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. IN A 128.8.10.90
…
20
Configuration de DNS
Configuration du démon named
Le fichier named.conf
Le fichier named.ca
Les fichiers de zone
Les fichiers de zone inverse
21
Configuration de DNS
Les fichiers de zone
Un fichier de zone contient les informations d’une
zone particulière
Emplacement : /var/named/<nom>
Le nom du fichier de zone correspond à celui défini
avec l’option file dans le fichier named.conf
22
Configuration de DNS
Les fichiers de zone
Le fichier de zone contient deux types d’informations
Des directives
Instructions pour l’exécution de certaines tâches ou de
paramètres spéciaux
Des enregistrements de ressources
Définitions des paramètres de la zone et assignation des identit
aux machines
23
Configuration de DNS
Les fichiers de zone
Directives
Les directives sont insérées de préférence au début du
fichier précédées par le caractère ‘$’
Les directives les plus courantes sont
$INCLUDE : inclure un autre fichier de zone
$ORIGIN : Attache le nom de domaine à
tout enregistrement non
qualifié (ne se termine
pas par ‘.’)
$TTL : durée de validité des enregistrement
(en seconde)
24
Configuration de DNS
Les fichiers de zone
Enregistrements
Les types d’enregistrements les plus importants sont
SOA : Start Of Authority
NS : Name Server
MX : Mail eXchanger
A (IPv4) , AAAA(IPv6) : Address
CNAME : Canonical NAME
PTR
SRV
25
Configuration de DNS
Les fichiers de zone
Enregistrement SOA
Premier enregistrement après les directives
Syntaxe
@ IN SOA <serveur-noms-primaire>
<email> (
<numéro-série>;
<temps-
actualisation>;
<temps-nouvel
essai>;
<temps-expiration>;
<TTL-minimum> ;
)
26
Configuration de DNS
Les fichiers de zone
Champs de l’enregistrement SOA
Champs Description
@ Place la valeur définie par la directive $ORIGIN (ou le nom
de zone, si la directive $ORIGIN n'est pas installée) en tant
nom du domaine
<serveur-noms-primaire> Le serveur primaire faisant autorité de la zone
<email> L’adresse e-mail du responsable du domaine
<numéro-série> Numéro de série du fichier de la zone. Utilisé pour la MAJ
du serveur secondaire
27
Configuration de DNS
Les fichiers de zone
Champs de l’enregistrement SOA
Champs Description
<temps-actualisation> Période d’actualisation
<temps-nouvel essai>; Temps d’attente de la réponse du serveur primaire à une
demande de rafraîchissement du serveur secondaire avant
de la relancer
<temps-expiration>; Temps maximum d’absence de réponse du serveur primaire
avant que le serveur secondaire arrête de répondre en tant
qu’autorité pour le domaine
<TTL-minimum> Temps minimum de cache des informations de ce domaine
dans les autres serveurs
28
Configuration de DNS
Exemple
29
Configuration de DNS
Les fichiers de zone
Enregistrement NS
Définit les serveurs DNS pour ce domaine
Syntaxe
IN NS Serveur
Exemple
30
Configuration de DNS
Les fichiers de zone
Enregistrement MX
Le but de cet enregistrement est de rediriger le courrier
à destination de ce domaine vers un ou plusieurs
serveurs de courriers par défaut
Syntaxe
IN MX <préférence> <nom-serveur>
Si plusieurs serveurs, le champ préférence permet
d'attribuer une priorité.
Exemple
31
Configuration de DNS
Les fichiers de zone
Enregistrement A
Définit l’@IP d’un nom de domaine
Syntaxe
<hôte> IN A <adresse IP>
Si l'hôte n'est pas spécifié, l'adresse sera utilisée par défaut po
le domaine.
Exemple
32
Configuration de DNS
Les fichiers de zone
Enregistrement CNAME
Définit un alias pour un nom canonique de serveur
Syntaxe
<alias> IN CNAME <nom>
Exemples
pop IN CNAME mail.ofppt.ma.
smtp IN CNAME mail.ofppt.ma.
www IN CNAME web/ofppt.ma.
33
Configuration de DNS
Les fichiers de zone
Exemple
@ IN SOA dns.labo-linux.com. hostmaster.labo-linux.com. (
02050500 ; numéro de série
3H ; rafraichir après 3 heures
1800 ; retenter après 30 minutes
604800 ; expire après 1 semain
3D ; TTL minimum de 3 jours
)
IN NS dns.labo-linux.com.
IN MX 10 mail.labo-linux.com.
dns IN A 192.168.1.1
www IN CNAME dns.labo-linux.com.
ftp IN A 192.168.1.2
mail IN A 192.168.1.3
pop IN CNAME mail.labo-linux.com.
smtp IN CNAME mail.labo-linux.com.
imap IN CNAME mail.labo-linux.com.
imprimante IN A 192.168.1.4
tftp IN A 192.168.1.5
routeuradsl IN A 192.168.1.254
34
Configuration de DNS
Configuration du démon named
Le fichier named.conf
Le fichier named.ca
Les fichiers de zone
Les fichiers de zone inverse
35
Configuration de DNS
Les fichiers de zone inverse
Les informations de ces fichiers permettent de réaliser la
résolution inverse (nom du domaine à partir d’une adresse
IP)
Exemple
@IP de la machine web.labo-linux.com est 212.180.91.66
Le nom du nœud de domaine inversé correspondant est :
66.91.180.212.in-addr.arpa.
36
Configuration de DNS
Domaine inversé
.
arpa
in-addr
0 212 255
0 180 255
0 91 255
0 web.labo-linux.com 66 255
37
DNS sous Linux
Configuration des fichiers de zone inverse
Tous les éléments sont pratiquement les mêmes que ceux
des fichiers de zone sauf la directive $ORIGIN et le champs
A
La directive $ORIGIN qui a comme valeur le nom dans le
domaine inversé
Le champs A est remplacé par le champs PTR qui définit le nom
en fonction de l’@IP
Le nom du fichier de zone inverse correspond à celui défini
avec l’option file dans le fichier named.conf
38
Zone “1.168.192.in-addr.arpa” IN {
Type master;
File ntic.rev;
}
39
Configuration de DNS
Configuration des fichiers de zone inverse
$ORIGIN 1.168.192.in-addr.arpa
$TTL 86400
@ IN SOA dns.labo-linux.com. hostmaster.labo-linux.com. (
02050500 ; numéro de série
3H ; rafraichir après 3 heures
1800 ; retenter après 30 minutes
604800 ; expire après 1 semain
3D ; TTL minimum de 3 jours
)
IN NS dns.labo-linux.com.
IN MX 10 mail.labo-linux.com.
20 IN PTR ws1.labo-linux.com.
21 IN PTR ws2.labo-linux.com.
22 IN PTR ws3.labo-linux.com.
23 IN PTR aptop1.labo-linux.com.
24 IN PTR database.labo-linux.com.
25 IN PTR gateway.labo-linux.com.
40
Tester la Résolution DNS
Outils pour vérifier l'opération de résolution de nom
d’un serveur :
Nslookup
Dig
Host
Ping
41
Tester la Résolution DNS
Nslookup
C’est un utilitaire intégré à BIND qui permet de procéder à des
requêtes DNS à des fins de déboguage.
nslookup fonctionne dans deux modes :
Mode interactif (lorsqu'il est évoqué sans arguments)
Mode non-interactif (lorsqu'il est évoqué avec les paramètres requis pour
une requête précise).
Cet outil permet d'utiliser un grand nombre d'options et paramètres :
server <server> Toutes les requêtes sont envoyées au serveur <server>
Exemple: > server ns.nic.fr
set type=<RR Typ> Ne lance que des requêtes pour le type de RR spécifié
("any" pour tous les types)
Exemple : > set type=any
set debug, set nodebug
Active ou nom l'affichage d'informations supplémentaires qui peuvent-être
utiles pour le déboguage
Exemple: > set debug
42
Tester la Résolution DNS
Nslookup
set recurse , set norecurse
Permet de spécifier le type de requêtes à envoyer (récursives ou non-
récursives)
Exemple: > set norecurse
ls <zone>
Procède à un transfert de zone et à l'affichage des enregistrements NS et A
(on peut spécifier dans des options le type d'enregistrements à afficher)
Exemple: > ls nic.fr
43
Tester la Résolution DNS
Nslookup : Exemple d'une session interactive
44
Tester la Résolution DNS
Dig : (Domain Internet Groper)
Cette commande permet d'envoyer des requêtes uniques à un serveur
DNS. Elle se comporte comme nslookup mais n'est pas interactive
La syntaxe de dig est de la forme :
dig [@server] domain query-type
avec les valeurs suivantes pour query-type:
a adresse IP
any toute information sur le domaine spécifié
mx enregistrements MX
ns serveurs de nom
soa enregistrement SOA
hinfo informations sur la machine
axfr transfert de zone
txt chaîne de caractères
45
Tester la Résolution DNS
Host
La commande host permet de rechercher un nom d'hôte mais
aussi une adresse IP en effectuant une requête de serveur de
noms.
Exemples :
host www.finances.gov.ma
Cette commande retourne l’adresse IP du hôte
www.finances.gov.ma (194.204.211.3)
host 194.204.211.3
Cette commande retourne le nom du hôte qui correspond à
l’adresse IP 194.204.211.3 (www.finances.gov.ma)
Ping
Bien que la commande ping ne soit pas directement liée à
DNS, elle constitue un moyen rapide d'obtention d'une
adresse IP. Elle est souvent utilisée comme testclé pour
vérifier la configuration d'un réseau et le bon fonctionnement
du DNS.
46