Vous êtes sur la page 1sur 106

Université Gaston Berger

Mise en place des servies


réseaux

Dr. Maïssa MBAYE


maissa.mbaye@ugb.edu.sn

1
Partie 2 : Services de nommage et DNS

2
Motivations

• Problèmes
– Comment les éléments du réseau vont faire la
correspondance entre les noms et les adresses?
• On parle de résolution de nom
– Comment faire la correspondance inverse : adresse
 nom?
• On parle de résolution inverse
• Deux solutions :
– Historique (statique): fichier HOST.TXT
– Moderne (dynamique): DNS
3
PARTIE 2 : SERVICES DE NOMMAGE ET DNS

Plan
Nommage statique avec le fichier
HOST.TXT
Service de nommage dynamique avec
DNS
Mise en œuvre de DNS avec avec
BIND

4
PARTIE 2 : SERVICES DE NOMMAGE ET DNS

Plan
Nommage statique avec le fichier
HOST.TXT
Service de nommage dynamique avec
DNS
Mise en œuvre avec BIND

5
Nommage statique avec HOST.TXT

6
HOST.TXT

• Principe
– Enumérer toutes les correspondances dans un fichier
– Publication du RFC 810 en 1982 « DoD Host Table Spécification »
– La RFC donne une spécification du contenu du fichier spécifiquement
pour les réseaux TCP/IP
• Les correspondances sont entre adresses IP et nom de machines

Exemple de fichier HOSTS.TXT


# Host Database
# This file should contain the addresses and aliases
# for local hosts that share this file
# Each line should take the form :
# <address> <host name>
#
127.0.0.1 localhost
209.68.14.80 www.pcguide.com
216.92.177.143 www.destopscenes.com
198.175.198.64 ftp.intel.com
7
HOST.TXT

• Le fichier HOST.TXT de Windows est dans


C:\Windows\System32\drivers\etc

8
HOST.TXT UNIX : hosts(5)

• Sur les machines UNIX le fichier se trouve dans


/etc/hosts(5)

9
HOST.TXT

• Avantages
– Simple à gérer pour des réseaux de petites tailles
– Plus de contrôle sur le contenu du fichier
• Inconvénients
– Le cout des mises à jours du fichier hosts.txt est trop
élevé en terme de communication (broadcast)
– Il y a un risque de conflit entre les noms de machines
car l’attribution des noms est à la charge des
administrateurs
• Tous les noms sont dans le domaine arpa
– La taille du fichier est proportionnelle au nombre de
machines connectées.
• Problème de passage à l’échelle

10
HOST.TXT

• Inconvénients (suite)
– La cohérence entre les fichiers locaux et le fichier de
référence dépend du délai de mise à jour
– La centralisation du fichier est un problème de
sécurité (goulot d’étranglement)
– Exercice : trouvez en d’autres 
• Solution  DNS

11
PARTIE 2 : SERVICES DE NOMMAGE ET DNS

Plan
Nommage statique avec le fichier
HOST.TXT
Service de nommage dynamique avec
DNS
Mise en œuvre avec BIND

12
Système de nommage dynamique : DNS

13
Objet de DNS : la résolution de nom

• La résolution de nom est la recherche de


correspondance entre nom d’une machine et adresse
IP

14
Les dimensions de DNS

Architecture de Structure d’autorité Ressources Records et


nommage hiérarchique hiérarchique Fichier Maitre de DNS

Roles, types et
Structure de nom DNS Hiérarchies Top Level fonctions des
et règle de nommage Domain d’Internet serveurs de nom

Hiérarchie des Second Résolver de nom et


Spécification de nom Level Domain Procedure de
de domaine d’Internet résolution de nom

Zones DNS et Format des messages


administration des DNS
Espace de nommage hiérarchies
DNS Serveur de nom et
Enregistrement DNS
Procédure de résolution

15
Espace de nommage DNS

• L’espace de nommage DNS est basé sur la notion de


domaine
• Un domaine est un ensemble d’objets administrés par la
même organisation ou autorité
• L’organisation des domaines est hiérarchique
– Structure d’arbre (similaire au système de fichier Unix)
inversé
• Types de nœuds
– Racine (root) : à l'origine de tous les domaines symbolisé par
un point « . »
– Branches : domaines et sous domaines
• Ex. ugb.sn
– Feuilles : Ce sont les ressources ayant une adresse IP
• Ex. www.ugb.sn

16
Espace de nommage DNS

17
Notion de domaine

• Un domaine est un sous-arbre de l’espace de noms


– Le nom d’un domaine est celui du nœud au sommet du domaine.
– C’est l’équivalent d’un répertoire dans un système de fichier

18
Notion de domaine

• Tout nœud du sous-arbre est considéré comme faisant partie du


domaine
– Un nom peut donc apparaitre également dans plusieurs domaines.
– Un nœud peut appartenir à plusieurs domaines (les domaines fils sont
appelés des sous-domaines)

19
Identification d’une ressource

• A chaque niveau un domaine est identifié par un label (chaine


de caractères) unique à ce niveau
– Une chaine alphanumérique d’au plus 63 caractères (La racine a un label
vide )
– Exemple : dans ugb.sn, le label ugb identifie le domaine au second niveau
de l’arbre de nommage
– L’unicité de label n’est obligatoire qu’à un niveau donné
• Il est possible d’avoir ugb.com et ugb.sn car il n’ont pas le même père dans
l’arbre

.
sn fr

ugb ugb
20
Identification d’une ressource

• Structure d’un nom de domaine

… . Label sous_domaine
. Label domaine
. Label tld
.
64cars Max 64caratères Max 64caratères Max 64caratères Max

256caratères Max racine

21
Identification d’une ressource

22
Identification d’une ressource

• Lorsque que l’identifiant remonte jusqu’à la racine


on parle de FQDN (Fully-Qualified Domain Name)
– Exemple : machine5.dessugb.ugb.sn
– On peut faire l’analogie avec les chemins absolus des
systèmes de fichiers
• Lorsque l’identifiant ne monte pas jusqu’à la
racine on parle de PQDN (Partially-Qualified
Domain Name)
– Exemple machine5.dessugb
– On peut faire l’analogie avec les chemins relatifs des
systèmes de fichiers
– Le reste de l’adresse sera complété en utilisant le
domaine local
23
Types des domaines

• Domaine Root
– C’est la racine de l’arbre de nommage DNS
• Top-Level Domains
– Les domaines fils directs du domaine racine = domaine
de premier niveau (.sn , .fr, .org, …)
• Second-Level Domains
– Les domaines fils directs des Top-Level Domains
(ugb.sn)
• Sous-domaines
– Les descendants des Second-Level Domains
– A ce niveau domaine et sous-domaine sont
interchangeables

24
Types des domaines

25
Notions de TLDs

• Domaines de premier niveau dans


l'arborescence Exemple : sn, fr, com,...
• Deux types de TLD
– ccTLD(country-code TLD) pour les domaines des
pays (.sn, .fr)
– gTLD (generic TLD) pour les autres (.com, .info, .biz)

Cas du Sénégal
Liste des contacts et des ccTLD consultable :
http ://www.iana.org/domains/root/db/
Celui du point .sn :
http ://www.iana.org/domains/root/db/sn.html

26
Hiérarchie d’autorité

27
Hiérarchie d’autorité : Exemple de délégation

28
Localisation des serveurs root

Source http://www.root-servers.org/ 29
Autorité d’un serveur DNS

• Un serveur DNS est un processus logiciel ou un


équipement qui stocke et gère les informations de
domaine pour pouvoir répondre requêtes des clients
• Chaque domaine a au moins un serveur DNS
responsable de ses informations et pour répondre aux
clients
– On parle de serveur autoritaire (Authoritarive)
• Pour un domaine il peut y a avoir plusieurs types de
serveurs DNS :
– Maitre (Master) ou Primaire
– Esclave (Slave) ou Secondaire
– Cache (Caching)
– Retransmetteur (Forwarding)

30
Serveur DNS Maitre

• Le serveur DNS primaire gère les informations


relatives à un domaine
– Les RFC parlent de serveur primaire mais le terme
«maitre » (master en anglais) est préférée maintenant
• Ces informations sont stockées dans un fichier
nommé « fichier maitre » (master file en anglais)
– Le master file dans BIND est named.conf
• Configuration possibles
– Plusieurs serveurs maitres pour un domaine
– Un serveur maitre sur plusieurs domaines

31
DNS Maitre : exemple de fichier maitre

• Exemple de fichier maitre

Exemple de fichier named.conf(DNS)

// example.com fragment du fichier named.conf


// définit ce serveur comme serveur maitre de la zone
example.com

zone "example.com" in{


type master;
file "master.example.com";
};

32
DNS Maitre

DNS Maitre DNS esclave de


de Zone Zone

Transfert de zone

Fichier
Maitre

33
DNS Esclave

• Les serveurs DNS esclave dans une zone sont


des répliques des serveurs maitres
• Motivations
– Créer de la redondance pour avoir des serveurs de
sauvegardes en cas de pannes des serveurs maitres
– Faciliter la maintenance des serveurs maitres : les
serveurs esclaves prennent le relai durant la
maintenance
– Efficacité, en distribuant les esclaves
géographiquement pour accélérer les réponses des
clients

34
DNS Esclave

• Caractéristiques
– Les serveurs DNS esclave pour une zone ne
contiennent pas de fichier maitre
– Les informations qu’ils possèdent sont récupérées
sur les serveurs maitre
• Ce processus est appelé « transfert de zone »
• Problèmes
– Comment effectuer les transferts de domaines ?
– Comment maintenir les serveurs esclave à jours ?

35
DNS Esclave

• Récupération des données sur le serveur maitre


– Le serveur esclave utilise une requête particulière de DNS
pour récupérer les informations sur le serveur maitre
• Requête AXFR (Full Zone Transfer)
• Requête IXFR (Incremental Zone Transfer)
• Requête Notify du maitre vers les esclaves
• Mise à jour des serveurs esclaves
– Des requêtes périodiques selon la valeur des champs
refresh, Retry et Expire
– Réception DNS Notify (envoyé par le serveur maitre) qui
informe que des données ont été modifié sur le serveur
maitre (nécessite que le serveur supporte la fonctionnalité)

36
DNS Esclave

TLD DNS

Maitre

AXFR/IXFR Notify

Esclaves
37
DNS Esclave : exemple de fichier serveur esclave

• Exemple de fichier de serveur esclave

Exemple de fichier named.conf(DNS)

// example.com fragment du fichier named.conf


// définit ce serveur comme serveur esclave de la zone
example.com avec comme serveur maitre 192.168.23.17

zone "example.com" in{


type slave;
file "master.example.com";
masters {192.168.23.17;};
};

38
DNS de Caching

• C’est un serveur DNS qui enregistre dans un


cache tous les résultats de toutes les requêtes
DNS
– Il pourra répondre aux prochaines requêtes sans
passer par une requête de résolution
• Deux types de cache
– Caching simple : mise en cache des requêtes de
résolution qui ont réussies
– Négative cache : mise en cache des requêtes de
résolution qui ont échouées pour éviter de refaire
inutilement des requêtes de résolution
39
DNS Proxy (Forwarding)

• Serveur DNS qui retransmet toutes les requêtes


DNS vers d’autres serveurs DNS puis met en
cache les réponses
– Adapté lorsque l’accès vers le réseau extérieur est
couteux ou trop lent (une seule requête sans
rattachement à l’arbre DNS)

40
La base de données DNS

• La base de données DNS est distribuée


– Chaque serveur DNS contient et gère les données
de la zone
– Un lien vers sont père pour relayer les requêtes
– Des liens vers les fils permettent de relayer les
requêtes vers les sous-zones déléguées
– Les enregistrements dans la bases de données sont
appelés Ressources Records (Enregistrement des
ressources)

41
Les Ressource Records les plus utilisés

42
Format des RRs

• Format générique pour les champs DNS


• Défini dans le RFC 1035
– La nature des enregistrements présent dépend du rôle du serveur
(Primaire, Secondaire)

<name> [<ttl>] <class> <type> <record_data>

• name : Un nom de domaine DNS FQDN ou PQDN


• ttl : time to live, temps de rafraichissement ($TTL par défaut)
• class : classe de la RR, par defaut “IN” pour Internet
• Type : le type de RR, valeurs “A”, “NS”, …
• record_data : les données spécifiques à la RR séparées par
des espaces

43
Enregistrement SOA

• L'enregistrement SOA (Start Of Authority) est le


premier RR d'un fichier de zone correctement
configuré
• il donne les caractéristiques techniques
générales de la zone.
Syntaxe de l’enregistrement SOA

zone IN SOA primary email. (


serial
refresh
retry
expire
ttl
)
44
Enregistrement SOA

• Exemple de sortie de dig


[maissa@tekla ~]$ dig ugb.sn
; <<>> DiG 9.5.0-P2 <<>> ugb.sn
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42850
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;ugb.sn. IN A

;; AUTHORITY SECTION:
ugb.sn. 3060 IN SOA ns.ugb.sn. root.ugb.sn. 2009021201 3600 600 86400 3600

;; Query time: 1 msec


;; SERVER: 147.210.8.126#53(147.210.8.126)
;; WHEN: Mon May 4 14:12:54 2009
;; MSG SIZE rcvd: 68

45
Enregistrement NS (Name Server)

• Il permet de spécifier un serveur de nom pour le


nom de domaine spécifié ;
– Ce nom devient alors une zone dont la délégation
est attribuée au serveur.
– Plusieurs serveurs peuvent être autoritaires pour
même une zone,
• un enregistrement NS pour chaque une zone donnée.

46
Enregistrement NS (Name Server)

• Exemple de déclaration de Name server

Exemple d’enregistrement NS

google.com. 163824 IN NS ns4.google.com.


google.com. 163824 IN NS ns2.google.com.
google.com. 163824 IN NS ns1
google.com. 163824 IN NS ns3

Les noms sont FQDN donc ils


se terminent par un « . »
obligatoirement.

47
Enregistrement NS (Name Server)

• Exemple de déclaration de Name server

Exemple d’enregistrement NS

google.com. 163824 IN NS ns4.google.com.


google.com. 163824 IN NS ns2.google.com.
google.com. 163824 IN NS ns1
google.com. 163824 IN NS ns3

Les noms sont PQDN donc ils


ne se terminent par un « . »

48
Enregistrement NS (Name Server)

• Sortie de dig
[maissa@tekla ~]$ dig ns.ugb.sn
; <<>> DiG 9.5.0-P2 <<>> ns.ugb.sn
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25984
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 0

;; QUESTION SECTION:
;ns.ugb.sn. IN A

;; ANSWER SECTION:
ns.ugb.sn. 2010 IN A 196.1.99.4

;; AUTHORITY SECTION:
ugb.sn. 2010 IN NS ns.ucad.sn.
ugb.sn. 2010 IN NS ns.ugb.sn.
ugb.sn. 2010 IN NS ns1.ird.fr.
ugb.sn. 2010 IN NS ns.sonatel.sn.

49
Enregistrement A (Address)

• Les enregistrements A sont les principaux


enregistrements du système DNS.
• Ces enregistrements permettent d'associer un
domaine, ou un sous-domaine, à une adresse IP.
– Il n'y a pas nécessairement autant
d'enregistrements A que d'adresses IP.
– Plusieurs enregistrements A peuvent correspondre à
une adresse IP unique
– Ou encore, un enregistrement A peut correspondre à
plusieurs adresses IP
50
Enregistrement A (Address)

• Exemple de déclaration d’enregistrement A

Exemple d’enregistrement A

; Un nom pour plusieurs addresses (load balancing)


google.com. 300 IN A 209.85.171.100
google.com. 300 IN A 74.125.45.100
google.com. 300 IN A 74.125.67.100

; une adresse par nom


ns1.google.com. 156552 IN A 216.239.32.10
ns2.google.com. 156552 IN A 216.239.34.10
ns3.google.com. 156552 IN A 216.239.36.10
ns4.google.com. 156552 IN A 216.239.38.10

51
Enregistrement A (Address)

• Sortie de dig
[maissa@tekla ~]$ dig yahoo.fr

;; ANSWER SECTION:
yahoo.fr. 194 IN A 87.248.121.75
yahoo.fr. 194 IN A 217.146.186.221

;; AUTHORITY SECTION:
yahoo.fr. 7000 IN NS ns3.yahoo.com.
yahoo.fr. 7000 IN NS ns1.yahoo.com.
yahoo.fr. 7000 IN NS ns5.yahoo.com.
yahoo.fr. 7000 IN NS ns7.yahoo.com.
yahoo.fr. 7000 IN NS ns2.yahoo.com.

;; ADDITIONAL SECTION:
ns1.yahoo.com. 156999 IN A 68.180.131.16
ns2.yahoo.com. 156999 IN A 68.142.255.16
ns3.yahoo.com. 156999 IN A 121.101.152.99
ns5.yahoo.com. 156999 IN A 119.160.247.124
ns7.yahoo.com. 161098 IN A 68.142.226.82

52
Enregistrement CNAME

• CNAME pour Canonical Name


• Cet enregistrement permet de créer des alias
des machines
– Plusieurs FQDN correspondant à une seule et même
machine réelle
– On dit que la machine a un nom et des alias

53
Enregistrement CNAME

• Exemple de déclaration d’enregistrement


CNAME

Exemple d’enregistrement CNAME

; diaforus est en réalité www3


diaforus.labri.fr. 28800 IN CNAME www3.labri.fr.
www3.labri.fr. 28800 IN A 147.210.8.59

;dept-info est en réalité scoubidou


dept-info.labri.fr. 28800 IN CNAME scoubidou
scoubidou.labri.fr. 28800 IN A 147.210.9.83

Lorsque le nom n’est pas FQDN il


n’y a pas de point

54
Enregistrement MX

• Mail eXchange
• Permet d’indiquer des serveurs mails et une
préférence relative entre les serveurs pour une
zone
Syntaxe de l’enregistrement CNAME

...
nom_domaine [<ttl>] IN MX PREF nom_mailserv
...

Classe pour spécifier qu’il


s’agit d’un RR de serveur Préférence du serveur parmi
mail un ensemble
55
Enregistrement MX

• Exemple de déclaration d’enregistrement MX


Exemple d’enregistrement MX

$TTL 2d ; mise à jour tous les deux jours


$ORIGIN example.com.

IN MX 10 mail ; forme courte
example.com. IN MX 10 mail3.example.com. ; forme FQDN ave(.)
IN MX 20 mail2.example.com.
; Pointer vers un autre serveur
IN MX 30 mail.example.net.
; Les serveurs mail locaux doivent avoir chacun un RR A correspondant
mail IN A 192.168.0.3 ; meme adresse répétée au lieu
mail2 IN A 192.168.0.3 ; d’un CNAME qui est invlide
mail3 IN A 192.168.0.3 ; dans ce cas

56
Enregistrement MX

• Exemple de déclaration d’enregistrement MX


Exemple d’enregistrement MX avec sous domaine

$TTL 2d ; $ORIGIN example.com.


$ORIGIN example.com.

; domaine exemple.com
example.com. IN MX 10 mail.example.com.
IN MX 20 mail2.example.com.
mail IN A 192.168.0.3
mail2 IN A 192.168.0.3

; Définition du sous domaine


$ORIGIN sn.example.com.
; IN MX 10 mail ; version courte
sn.example.com. IN MX 10 mail.sn.example.com.
mail.sn.example.com. IN A 10.10.0.29

57
Enregistrement PTR

• L'enregistrement PTR sert à associer une adresse IP à un


nom de domaine (machine)
– On parle de résolution inverse
– PTR a le rôle inverse de celui du RR A
• Contrainte :
– Tous les enregistrements de type PTR appartiennent
forcément à la zone in-addr.arpa
• Les adresses IP sont inversées dans la zone in-addr.arpa
– Exemple :
• 192.168.0.1 deviendra le nom de domaine 1.0.168.192.in-addr.arpa
• 192.168.0.0 /24 deviendra le nom de domaine 0.168.192.in-
addr.arpa

58
Enregistrement PTR

Syntaxe de l’enregistrement PTR

...
Adresse_IP [<ttl>] IN PTR nom_domaine
...

Adresse IP inversée dans le


sens de l’arbre in-addr.arpa Nom de domaine associé

59
Enregistrement PTR

Exemple d’enregistrement PTR

$TTL 2d ; 172800 secs


$ORIGIN 23.168.192.IN-ADDR.ARPA.
@ IN SOA ns1.example.com. hostmaster.example.com. (
2003080800 ; serial number
12h ; refresh
15m ; update retry
3w ; expiry
3h ; minimum
)
IN NS ns1.example.com.
IN NS ns2.example.com.
; le format FQDN est 2.23.168.192.IN-ADDR.ARPA.
2 IN PTR ns1.example.com. ; FDQN 2.23.168.192.IN-ADDR.ARPA.
15 IN PTR www.example.com. ; FDQN 15.23.168.192.IN-ADDR.ARPA.
17 IN PTR ftp.example.com. ; FDQN 17.23.168.192.IN-ADDR.ARPA.
74 IN PTR fred.example.com. ; FDQN 74.23.168.192.IN-
ADDR.ARPA.

60
PARTIE 2 : SERVICES DE NOMMAGE ET DNS

Plan
Nommage statique avec le fichier
HOST.TXT
Service de nommage dynamique avec
DNS
Mise en œuvre avec BIND

61
Mise en œuvre avec Bind9

62
Présentation

• Berkeley Internet Name Domain


• BIND est maintenu par ISC (Internet Software
Consortium)
– http://www.isc.org/bind.html
• Fournit :
– Un daemon (serveur)
– Un resolver (inclus dans la libc)

63
Installation de BIND9 (Debian/Ubuntu)

• Packages obligatoires :
Bind9 dnsutils
• Packages optionnels
bind9-doc bind9-host libbind-dev
dns-browse libnet-dns-perl nslint
dhcp-dns dnscvsutil

Installation minimale

$ apt-get install bind9 bind9-doc dnsutils

64
Fichiers de configuration de BIND9 (Debian/Ubuntu)

• Les fichiers de configuration de Bind9 se trouve


dans le répertoire /etc/bind

65
Fichiers de configuration de BIND9 (Debian/Ubuntu)

Fichier de Description
configuration BIND9
db.0 Fichier zone de résolution inverse pour la zone par défaut
db.127 Fichier zone de résolution inverse pour l’interface loopback
db.255 Fichier zone de résolution inverse pour la zone broadcast
db.empty Fichier zone de résolution inverse réservé aux adresses IP privées
db.local Fichier de résolution directe pour la zone de l’interface loopback (localdomain)
db.root Liste des serveurs root de DNS
named.conf Fichier de configuration principal de bind9
named.conf.local Fichier de configuration réservé aux zones ajoutées par l’administrateur système
named.conf.options Fichier de configuration pour activer le caching et le forwarding
rndc.key Clé d’authentification des requêtes DNS; peut être modifié avec rndc-confgen
zones.rfc1918 Fichier de résolution inverse pour les adresses IP privée
/etc/default/bind9 Contient les paramètres de démarrage de BIND9
66
Fichiers de configuration de BIND9 (Debian/Ubuntu)

• /etc/bind/named.conf : Fichier principal de


configuration de BIND9 (déclaration des zones
et des options)
– /etc/bind/named.conf.* : Ce sont des fichiers
issues de l’éclatement de named.conf pour plus de
clarté des fichiers (grâce à la directive INCLUDE)
• named.conf.local pour la déclaration concernant les
nouvelles zones
• named.conf.options : contient les options de Bind
Rien n’empeche de faire toutes les déclarations dans
named.conf c’est juste une convention

67
Fichiers de configuration de BIND9 (Debian/Ubuntu)

• /etc/bind/db.* :
– Par convention les noms des fichiers de résolution et
de résolution inverse comment par db. (optionnelle)
– Le fichier named.conf (ou name.conf.local)+
contient des liens vers les fichiers de résolution
directe et inverse)
• /var/cache/bind
– Répertoire de travail de BIND. Un serveur esclave
stockera dans ce répertoire le fichier maitre des
serveurs maitres

68
Relation entre named.conf.local et les fichiers de
résolution

/etc/bind/named.conf.local
Contient la déclaration de la zone exemple.com et la zone de
résolution inverse 172.21.0.0/16 Le statut du serveur pour chaque
zone : primaire ou secondaire

Contient le chemin vers Contient le chemin vers

Contient les correspondances :


Contient les correspondances : adresses IP  nom
nom  adresses IP (résolution inverse)
(résolution directe)

/etc/bind/db.exemple.com /etc/bind/db.172.21.rev

69
Etapes de la configuration d’un serveur BIND9

Etape 1 Etape 2 Etape 3

Déclarer les Créer les fichiers


de résolution Lancer le serveur
zones dans et vérifier les logs
named.conf.local directe et
indirecte que le domaine a
(maitre, esclave) été chargé
si nécessaire

70
Directives dans le fichier named.conf

• Fichier de déclaration des zones (domaines)


– Quelques mots clés de ce fichiers :
Mots clés Signification
acl Access List Control, permet d’assigner un nom symbolique à un ensemble
d’adresses IP (Sécurité)
include Permet d’inclure des fichiers contenant des instructions de configuration
BIND (Séparation logique des fichiers)
logging Permet de configurer un ensemble variée d’option de traçage de l’activité
du serveur
options Permet de définir des options globales de configuration du serveur

controls Défini un channel de control pour l’outil rndc

server Permet de définir des caractéristiques à associer avec un serveur distant

zone Permet de définir des zones DNS


71
Etape 1 déclaration des zones dans
named.conf.local

• La déclaration des zones consiste à ajouter une


directive zone dans le fichier named.conf.local
Syntaxe minimaliste (simplifiée)

zone zone_name {
type ( master | slave | hint | stub | forward | delegation-only );
file string ;
[allow-transfer {@IP_esclave_1; @IP_esclave_2; …};]
}

Exemple : zone résolution directe Exemple : zone résolution inverse

zone "dessugb.sn" { zone "0.168.192.IN-ADDR.ARPA" {


type master; type master;
file "/etc/bind/dessugb.db"; file "/etc/bind/dessugb.db.rev";
} }

72
Exemple de déclaration de zone (Serveur Maitre)

• Déclaration de la zone m2itic.sn

73
Exemple de serveur maitre pouvant avoir des
esclaves

• Un serveur maitre doit autoriser explicitement


les serveurs esclave dans sa déclaration de
zones
zone "exemple.com" IN {
type master;
allow-transfer {192.168.1.2;};
notify yes;
file "/etc/bind/db.exemple.com";
};

74
Etape 1 déclaration des zones dans named.conf

Syntaxe minimaliste (simplifiée)

zone zone_name {
type ( master | slave | hint | stub | forward | delegation-only );
file string ;
Il faut ensuite définir le
}
contenu de ces fichiers dans
le cas du serveur maitre

Exemple : zone résolution directe Exemple : zone résolution inverse

zone "dessugb.sn" { zone "0.168.192.IN-ADDR.ARPA" {


type master; type master;
file "/etc/bind/dessugb.db"; file "/etc/bind/dessugb.db.rev";
} }

75
Etape 2 : Edition des fichiers de résolution directe
de nom

• Ces fichiers contiennent :


– Les correspondances nom  adresse IP
– Des directives $TTL et $ORIGIN (si absent dans ce
fichier correspond à celui donné dans la description de
« zone » de named.conf
– au moins une RR SOA
– Et d’autres RR parmi : NS, MX, A et CNAME
• Le nom du fichier n’a aucune importance pour Bind
– Il est cependant recommandé de lui donner un nom
explicite comme le «db.nom-de-domaine»

76
Exemple de fichier de résolution directe nom

77
Exemple de fichier de résolution directe nom

/etc/bind/db.exemple.org
/etc/named.conf
$TTL 1W
@ IN SOA ns1.example.org. root (
zone "exemple.org" {
2009123100 ; serial
type master;
3H ; refresh (3 hours)
file "exemple.org.db";
30M ; retry (30 minutes)
}
2W ; expiry (2 weeks)
1W) ; minimum (1 week)
IN NS ns1.example.org.
IN NS ns2.example.org.
IN MX 10 smtp.example.org.
ns1 IN A 192.168.1.1 ;primary name server
ns2 IN A 192.168.1.2 ;secondary name server Si le chemin de file est relatif c’est
serverA IN A 192.168.1.1 la directive « directory » de
serverB IN A 192.168.1.2 named.conf qui détermine le
smtp IN A 192.168.1.25 ;mail server répertoire ou le chercher
www IN CNAME serverA ;web server
ftp IN CNAME serverB ;ftp server
78
Exemple de fichier de résolution directe nom

/etc/bind/db.exemple.org
/etc/named.conf
$TTL 1W
@ IN SOA ns1.example.org. root (
zone "exemple.org" {
2009123100 ; serial
type master;
3H ; refresh (3 hours)
file "exemple.org.db";
30M ; retry (30 minutes)
}
2W ; expiry (2 weeks)
1W) ; minimum (1 week)
IN NS ns1.example.org.
IN NS ns2.example.org.
IN MX 10 smtp.example.org.
ns1 IN A 192.168.1.1 ;primary name server
ns2 IN A 192.168.1.2 ;secondary name server
@ correspond ici au nom donné
serverA IN A 192.168.1.1
serverB IN A 192.168.1.2 dans zone (exemple.org) car
smtp IN A 192.168.1.25 ;mail server $ORIGIN est absent
www IN CNAME serverA ;web server
ftp IN CNAME serverB ;ftp server
79
Exemple de fichier de résolution directe nom

/etc/bind/db.exemple.org
/etc/named.conf
$TTL 1W
@ IN SOA ns1.example.org. root (
zone "exemple.org" {
2009123100 ; serial
type master;
3H ; refresh (3 hours)
file "exemple.org.db";
30M ; retry (30 minutes)
}
2W ; expiry (2 weeks)
1W) ; minimum (1 week)
IN NS ns1.example.org.
IN NS ns2.example.org.
IN MX 10 smtp.example.org.
ns1 IN A 192.168.1.1 ;primary name server
ns2 IN A 192.168.1.2 ;secondary name server Tous les noms FQDN sont
serverA IN A 192.168.1.1 terminés par un « . ». Les
serverB IN A 192.168.1.2 données PQDN ne porte pas ce
smtp IN A 192.168.1.25 ;mail server point
www IN CNAME serverA ;web server
ftp IN CNAME serverB ;ftp server
80
Exemple de fichier de résolution directe nom

/etc/bind/db.exemple.org
/etc/named.conf
$TTL 1W
@ IN SOA ns1.example.org. root (
zone "exemple.org" {
2009123100 ; serial
type master;
3H ; refresh (3 hours)
file "exemple.org.db";
30M ; retry (30 minutes)
}
2W ; expiry (2 weeks)
1W) ; minimum (1 week)
IN NS ns1.example.org.
IN NS ns2.example.org.
IN MX 10 smtp.example.org.
ns1 IN A 192.168.1.1 ;primary name server
ns2 IN A 192.168.1.2 ;secondary name server
serverA IN A 192.168.1.1 Les adresses IP ne sont pas
serverB IN A 192.168.1.2 inversées
smtp IN A 192.168.1.25 ;mail server
www IN CNAME serverA ;web server
ftp IN CNAME serverB ;ftp server
81
Fichiers de résolution inverse

• Ce fichier contient :
– Les correspondances Adresse IP  Nom
– Une directive $TTL
– Une $ORIGIN qui appartient au domaine IN-ADDR.ARPA
inversant les adresses IP
• 192.186.0.1 devient 1.0.168.192.IN-ADDR.ARPA
– au moins une RR SOA sur le domaine de résolution inverse
(défini par $ORIGIN)
– Et d’autres RR parmi : NS, MX et PTR (ne peut contenir A)
• Le nom du fichier n’a aucune importance pour BIND
– Il est cependant recommandé de lui donner un nom explicite
comme le « db.nom-de-domaine-inverse.rev »
• La présence de ce fichier est optionnelle sauf lorsqu’il y a
des services qui l’utilisent
82
Exemple de fichier de résolution inverse

83
Fichiers de résolution inverse

/etc/named.conf

/etc/bind/1.168.192.rev zone "1.168.192.IN-ADDR.ARPA" {


type master;
file "1.168.192.rev";
}
$TTL 1W
@ IN SOA ns1.example.org. root.example.org. (
2009123100 ; serial
3H ; refresh (3 hours)
30M ; retry (30 minutes)
2W ; expiry (2 weeks)
1W) ; minimum (1 week)
IN NS ns1.example.org.
IN NS ns2.example.org.
1 IN PTR serverA.example.org. ; Reverse info for serverA
2 IN PTR serverB.example.org. ; Reverse info for serverB
25 IN PTR smtp.example.org. ; Reverse for mailserver

84
Fichiers de résolution inverse

/etc/named.conf

/etc/bind/1.168.192.rev zone "1.168.192.IN-ADDR.ARPA" {


type master;
file "1.168.192.rev";
}
$TTL 1W
@ IN SOA ns1.example.org. root.example.org. (
2009123100 ; serial
3H ; refresh (3 hours)
30M ; retry (30 minutes)
2W ; expiry (2 weeks)
1W) ; minimum (1 week)
IN NS ns1.example.org.
IN NS ns2.example.org.
1 IN PTR serverA.example.org. ; Reverse info for serverA
@ correspond ici au nom donné
2 IN PTR serverB.example.org. ; Reverse info for serverB
25 IN PTR smtp.example.org. ; Reverse for mailserver dans zone (1.168.192.IN-
ADDR.ARPA) car $ORIGIN est absent

85
Fichiers de résolution inverse

/etc/named.conf

/etc/bind/1.168.192.rev zone "1.168.192.IN-ADDR.ARPA" {


type master;
file "1.168.192.rev";
}
$TTL 1W
@ IN SOA ns1.example.org. root.example.org. (
2009123100 ; serial
3H ; refresh (3 hours)
30M ; retry (30 minutes)
2W ; expiry (2 weeks)
1W) ; minimum (1 week)
IN NS ns1.example.org.
IN NS ns2.example.org.
Tous les noms dans ce fichiers
1 IN PTR serverA.example.org. ; Reverse info for serverA
doivent être en FQDN car la valeur
2 IN PTR serverB.example.org. ; Reverse info for serverB
25 IN PTR smtp.example.org. ; Reverse for mailserver
de $ORIGIN n’est plus exemple.org
mais 1.168.192.IN-ADDR.ARPA

86
Fichiers de résolution inverse

/etc/bind/1.168.192.rev
/etc/named.conf

$TTL 1W
@ IN SOA ns1.example.org. root ( zone "1.168.192.IN-ADDR.ARPA" {
2009123100 ; serial type master;
3H ; refresh (3 hours) file "1.168.192.rev";
30M ; retry (30 minutes) }
2W ; expiry (2 weeks)
1W) ; minimum (1 week)
IN NS ns1.example.org.
IN NS ns2.example.org.
1 IN PTR serverA.example.org. ; Reverse
info for serverA
En FQDN correspond à
2 IN PTR serverB.example.org. ; Reverse
info for serverB
1.1.168.192.IN-ADDR.ARPA
25 IN PTR smtp.example.org. ; Reverse for 2.1.168.192.IN-ADDR.ARPA
mailserver 25.1.168.192.IN-ADDR.ARPA

87
Etape 3 : Mise en route du serveur

• Démarrage et arrêt

Machinerie~$ sudo service bind9 start (ou stop ou restart)

• Surveillance des logs


Machinerie~$ tail –f /var/log/syslog

– Le fichier de log dépend de la variable log de


named.conf (ou named.conf.options)
88
Etape 3 : Mise en route du serveur

• Les zones sans erreurs ont des logs qui se terminent


par « loaded serial… »

89
Résumé des étapes

90
Déclaration d’un Serveur Esclave

• Un serveur esclave copie le fichier maitre du


serveur maitre : transfert de zone
– Il n y a pas de fichier de résolution à créer, il doit
être importé du serveur maitre

//Forwading global dans named.conf.local


zone "exemple.com" in {
type slave;
// chemin de sauvegarde de la copie du fichier maitre
file "/etc/bind/esclaves/exemple.com";
// Liste des serveurs maitres
masters {192.168.23.17;10.0.0.12;};
};

91
Déclaration d’un Serveur Forwarder

• Un serveur Forwarder(retransmission) aide les


clients à accéder à la totalité de l’arbre de DNS
– Dans un LAN qui ne gère pas de zone, au moins un
serveur Forwarder est nécessaire
• C’est celle qu’on rempli dans la case Serveur de NOM

//Forwading global dans named.conf.local


options {
directory "/var/named";
version "not currently available";
forwarders {8.8.8.8; 8.8.4.4;};
forward only;
};

92
Quelques outils de bind

• Commande host
– Permet de tester la résolution de nom ou résolution
inverse
– Exemple
[root@Machinerie ~]# host internic.net
internic.net has address 198.41.0.6

[root@serverA ~]# host 198.41.0.6


6.0.41.198.in-addr.arpa domain name pointer
rs.internic.net.

93
Quelques outils de bind

• Commande dig
– Permet de récupérer un grand nombre
d’informations sur un serveur DNS
– Syntaxe générale dig @server domain query-type

• @server : Le serveur de nom à interroger


• @domain : Le nom de domaine qui motive la requête
• query-type: La RR cible qu’on cherche à avoir: (A, MX, NS,
SOA, HINFO, TXT, ANY, etc.)
• Exemple
– dig @localhost example.org MX

94
Quelques outils de bind

• Commande nslookup
– Le prédécesseur de dig
• Commande whois
– Cette commande permet de savoir le propriétaire d’un
domaine
• Exemple : whois labri.fr
– Le site http://www.whois.net/ permet de tester en ligne cette
commande
• Commande nsupdate
– Permet de mettre à jour la base de données dans un serveur
DNS
• Commande rndc
– Permet l’administration à distance d’un serveur dns

95
Configuration du client Linux (Debian/Ubuntu)

• Le client n’a besoin que d’acceder à un serveur


qui offre le service de forward
– C’est sa porte d’entrée dans l’arbre de DNS
• Sous Linux Il y a deux fichiers à éditer

/etc/resolv.conf qui contient les informations sur


les serveurs DNS Forward

/etc/nswitch.conf qui donne au système l’ordre


de priorité entre les services de résolution de nom

96
Fichier RESOLV.CONF

• Les mots clés importants de ce fichiers sont :


– domain domainename : qui décrit le nom de domaine
local au client
– search domainname : les noms de domaines à utiliser
par défaut pour completer les PDQN
– nameserver IP-address : les adresses IP des serveurs
DNS
Exemple de fichier resolv.conf

domain labri.fr
search labri.fr
nameserver 147.210.8.126
nameserver 147.210.245.1

97
NSSWITCH.CONF

• Le mots clés important de ce fichiers est :


– hosts : qui décrit les services à utiliser pour trouver
l’adresse IP d’un machine à partir d’un nom et
inversement
Exemple de fichier nsswitch.conf


hosts: files nisplus nis dns

– Cet exemple veut dire que le système va d’abord


chercher la correspondance dans /etc/hosts, s’il ne
trouve pas il utilisera nisplus, nis et à la fin dns

98
Vérification du client DNS

Avec dig
Avec nslookup

Avec ping

99
Configuration client Windows

• Démarrer  Connexion  Afficher toutes les


connexions (on obtient l’écran 1)
• Ou bien Executer Taper ncpa.cpl

100
Configuration client Windows

• Bouton droit sur l’interface concernée 


propriétés

101
Configuration client Windows

• Protocoles Internet (TCP/IP)  Utiliser l’adresse serveur DNS


suivante (remplir)  Avancé…  Onglet DNS  Suffixe pour
cette connexion (équivalent du search de resolv.conf)

102
Création de sous-domaines (Coté Serveur)

• Deux approches possibles pour créer un sous-


domaine :
– Création de sous-domaines sans délégation
d'autorité
• Tous les enregistrements sont hébergés sur le serveur
maitre
• Pas d'enregistrement SOA pour le sous-domaine
– Autorité globale du serveur maitre parent
– Création de sous-domaines avec délégation
• Création d'un enregistrement spécifique NS et un
enregistrement de type A de chainage

103
Sous domaine sans délégation : Méthode brute

Ajout directe des enregistrements dans le fichier maitre


Principe : Ajouter des noms PQDN avec .sousdomaine

$ORIGIN ugb.sn.

# sous-domaine licence.ugb.sn
khourdabb.licence IN A 192.253.253.10
mail.licence IN A 192.253.253.11
mail2.licence IN A 192.253.253.12
IN MX 10 mail.licence.ugb.sn.
IN MX 100 mail2.licence.ugb.sn.

#sous-domaine master.ugb.sn
khourdabb-bis.master IN A 192.253.253.15
mail.master IN A 192.253.253.16
mail2.master IN A 192.253.253.17
IN MX 10 mail.master.ugb.sn.
IN MX 100 mail2.master.ugb.sn.

104
Sous domaine sans délégation : avec $ORIGIN

Utilisation de la directive $ORIGIN


– La directive $ORIGIN permet de surcharger la chaine pour
compléter les PQDN
– Permet d'avoir des noms plus courts
# sous-domaine licence.ugb.sn
$ORIGIN licence.ugb.sn.
khourdabb IN A 192.253.253.10
mail IN A 192.253.253.11
mail2 IN A 192.253.253.12
IN MX 10 mail.licence.ugb.sn.
IN MX 100 mail2.licence.ugb.sn.
#sous-domaine master.ugb.sn
$ORIGIN master.ugb.sn.
khourdabb-bis IN A 192.253.253.15
mail IN A 192.253.253.16
mail2 IN A 192.253.253.17
IN MX 10 mail.master.ugb.sn.
IN MX 100 mail2.master.ugb.sn. 105
Création de sous-domaine avec
délégation
• La délégation se fait grâce à
– La déclaration d’un enregistrement de type NS pour le sous
domaine
– un enregistrement de chainage A pour chaque serveur
d’autorité d’un sous domaine

# sous-domaine licence.ugb.sn
licence IN NS ns.licence
IN NS ns2.nsbackup.sn # serveur externe
ns IN A 192.253.253.11

#sous-domaine master.ugb.sn
master IN NS ns.master
IN NS ns2.nsbackup.sn
ns IN A 192.253.253.12

106

Vous aimerez peut-être aussi