Académique Documents
Professionnel Documents
Culture Documents
Plan
Introduction
Partie 1 : Composants DNS
Partie 2 : Mise en place dun serveur DNS
Partie 3 : Fonctions avances
Partie 4 : Les outils
Fonctionnement Gnral
1.
2.
3.
4.
Fichier ASCII
Mise jour manuelle
Gestion manuelle des ressources non locales
Fichier de donnes
Crer partir du /etc/hosts du matre
Gestion manuelle des ressources non locales
Transfert de lhosts.txt
LARPANET des annes 80 est constitu dune
centaines d'ordinateurs relis en rseaux. Un unique
fichier hosts.txt rassemble les correspondances entre
nom d'hte et adresse IP.
Le fichier est stock sur le SRI-NIC (Stanford Research
Institute's Network Information Center)
Aprs chaque modification, des copies sont transfres
par ftp vers les ordinateurs du rseau
La bande passante consomme par la distribution d'une
remise jour de cette base par cette mthode est
proportionnelle au carr du nombre d'htes sur le rseau
Le hosts.txt
Inconvnients :
Evolution dInternet
Plan
Introduction
Domaine racine
Le systme DNS impose peu de rgles sur les labels
Reprsentation
A l'inverse de l'adressage IP, la partie la plus significative se
situe gauche
Chaque nom de domaine est reprsent, en interne, de la faon
suivante :
La Dlgation de domaine
Le systme DNS est entirement bas sur la
dcentralisation de sa propre administration
Le systme sous jacent est la dlgation de
domaine
A tout domaine est associ une responsabilit
administrative
Une organisation responsable d'un domaine
peut
dcouper le domaine en sous domaine
dlguer des sous domaines d'autres
organisations
Le domaine parent contient un pointeur vers le
sous domaine dlgu
La Dlgation
Une organisation responsable dun domaine peut
Dcoupage de noms
La base de donnes de domaines est divises selon deux
mthodes : en classes, et par "dcoupage" de l'espace des noms
de domaines.
Les donnes dcrivant une zone se divisent en quatre parties
majeures :
Toutes ces donnes sont exprimes sous forme de RR, et donc une
zone peut tre entirement dcrite comme un ensemble de RR
Mode rcursif
Mode Itratif
Rsolution inverse
Comment obtenir le nom de domaine partir de l'adresse IP ?
Dure de vie
Les serveurs ne peuvent garder ternellement trace
des donnes dans leur mmoire cache
Exploitation dun Time To Live (TTL) pour les donnes
de chaque zone
Aprs coulement abandon des donnes en mmoire
Serveurs racine
Les serveurs racine connaissent les serveurs de
nom ayant autorit sur tous les domaines racine
Les serveurs racine connaissent au moins les
serveurs de noms pouvant rsoudre le premier
niveau (.com, .edu, .fr, etc.)
Pierre angulaire du systme DNS : si les
serveurs racine sont inoperationnels ==> plus de
communication sur lInternet
actuellement jusqu 14 parpills sur la plante
chaque serveur racine reoit environ 100000
requtes / heure
Introduction
Partie 1 : Composants DNS
Enregistrements de ressources
On associe chaque domaine un ensemble
denregistrements de ressources (ressources records ou
RR ) qui se compose de :
Exemple
ens.utbm.fr. IN SOA dnsserver.ens.utbm.fr. root.utbm.fr. (
2004011201 ; serial // incrment par ladministrateur chaque
modification. Permet de dtecter si un rechargement est
ncessaire
86400 ; rafrachissement (1 jour)
21600 ; nouvel essai (6 h)
3600000 ; (5 weeks 6 days 16 hours) // combien de temps les
autres serveurs sont autoriss garder une copie de ces
donnes
3600 ; TTL minimum (1h)
)
Le type d'enregistrement NS
spcifie les serveurs de nom ayant autorit sur ce
domaine
Il est possible de dfinir plusieurs NS pour un mme
domaine
Ex :
ens.utbm.fr. IN
ens.utbm.fr. IN
NS
NS
dnsserver.ens.utbm.fr
dnsserver_Bis.ens.utbm.fr
Enregistrement Ptr
Cest linverse de lenregistrement A. Les PTR qui se
trouvent dans la zone de recherche inverse permettent
de mettre en correspondance des adresses IP aux noms
dhtes.
Le fichier de configuration
Les paramtres dinitialisation
du daemon named du
systme de noms de domaine
du package BIND sont dcrits
dans /etc/named.conf.
le rpertoire /var/named/ : le
rpertoire de travail de named
qui stocke les fichiers de
zone, de statistiques et les
fichiers de cache.
DB.127.0.0
DB.serveur.maitre
Le type d'enregistrement MX
MX = Mail eXchanger traite le message ou le passe un
agent de transport (X400, Exchange)
Permet ladressage Email sur la base du nom de
domaine plutt que sur ladresse du (des) serveur(s) de
mail : toto@ens.utbm.fr plutt que toto@mail.utbm.fr
(nom du serveur de mail : mail )
Permet lmetteur dignorer le nom de la machine
serveur de mail
Permet le dplacement du serveur de mail vers une
autre machine
Permet la gestion de plusieurs serveurs de mail avec
priorit dans lordre de consultation des serveurs
Lenregistrement MX est consult par les mailer (client
SMTP)
Tient compte des priorits
Le type d'enregistrement MX
MX reprsente un hte appel changeur de message
MX contient une valeur de prfrence qui indique la priorit de
lchangeur
Lensemble des valeurs de prfrence de tous les changeurs pour
une destination donn indique lordre dans lequel un routeur doit
utiliser les changeurs
Ex
utbm.com IN MX 0 ens.utbm.fr
utbm.com IN MX 10 rech.utbm.fr
utbm.com IN MX 10 adm.utbm.fr
Critres :
Disponibilit
Dimension
Connectivit
Gestion
A.ROOT-SERVERS.NET.
A
198.41.0.4
B.ROOT-SERVERS.NET.
A
128.9.0.107
C.ROOT-SERVERS.NET.
A
192.33.4.12
D.ROOT-SERVERS.NET.
A
128.8.10.90
E.ROOT-SERVERS.NET.
A
192.203.230.10
F.ROOT-SERVERS.NET.
A
39.13.229.241
G.ROOT-SERVERS.NET.
A
192.112.36.4
H.ROOT-SERVERS.NET.
A
128.63.2.53
I.ROOT-SERVERS.NET.
A
192.36.148.17
Les Requtes
Transportes par UDP ou sur via des connexions TCP.
La rponse du serveur de nom peut soit rpondre la question
pose par la requte, rediriger le requrant vers un autre serveur de
noms, ou signaler une condition d'erreur.
Les requtes et rponses DNS sont transportes dans un message
de format standardis. Le format de message dfinit une en-tte
contenant un certain nombre de champs fixes toujours prsents, et
quatre sections pour transporter les paramtres et les RR.
Les quatre sections sont :
Les formats
UDP :
TCP :
Format : Entte
Tc :message tronqu.
Rd : demande de rcursivit
Rcode : demande le type de rponse 0 Pas d'erreur
1 - Erreur de format dans la requte
2 - Problme sur serveur
3 - Le nom n'existe pas
4 - Non implment
5 - Refus
Opcode :
0 - Requte standard (Query)
1 - Requte inverse (Iquery)
2 - Status d'une requte serveur
Ancount Rponse
Nscount Authorit
Arcount Additionnel
Nom:
Nom Nom du domaine o se trouve le RR. Ce
champ est implicite lorsqu'un RR est en dessous
d'un autre, auquel cas le champ owner est le mme
que celui de la ligne prcdente.
Format : Entte
Tc :message tronqu.
Rd : demande de rcursivit
Rcode : demande le type de rponse 0 Pas d'erreur
1 - Erreur de format dans la requte
2 - Problme sur serveur
3 - Le nom n'existe pas
4 - Non implment
5 - Refus
Opcode :
0 - Requte standard (Query)
1 - Requte inverse (Iquery)
2 - Status d'une requte serveur
Ancount Rponse
Nscount Authorit
Arcount Additionnel
Nom:
Nom Nom du domaine o se trouve le RR. Ce
champ est implicite lorsqu'un RR est en dessous
d'un autre, auquel cas le champ owner est le mme
que celui de la ligne prcdente.
Les Requtes
Exemple de requte o l'on
souhaite connatre le nom du
serveur de courrier s'occupant
de frameip.com :
Voici la rponse
MX
MX
10 VENERA.Utbm.fr.
10 VAXA.Utbm.fr.
et la section additionnelle :
VAXA.Utbm.fr.
A
10.2.0.27
A
128.9.0.33
VENERA.Utbm.fr A
10.1.0.52
A
128.9.0.32
Requte Inverse
Une requte Dns inverse a la particularit d'avoir le champ Question
vide, et de contenir une entre dans le champ Answer. Pour que le
serveur Dns comprenne le sens de la requte, le champ Opcode des
en-ttes du message Dns doit tre la valeur Iquery
Plan
Introduction
Partie 1 : Composants DNS
Partie 2 : Mise en place dun serveur DNS
Le fichier de journalisation
Avec Bind 8
Construit en ajoutant .log au nom du fichier de zone
Supprimer toutes les heures (si aucune mise jour
n'a lieu)
Avec Bind 9
C'est le fichier de zone termin par .jnl
Ne disparat jamais
Si le fichier journal existe au dmarrage, ses donnes
sont incorpors au fichier de zone
Le Forwarding (retransmission)
Certains serveurs peuvent s'occuper de transmettre
toutes les requtes DNS vers l'extrieur (firewall)
Ces machines s'appellent des forwarders
Objectif : transmettent toutes les requtes DNS
d'autres serveurs
Peuvent possder une importante mmoire cache de
requte DNS
Si un serveur utilise un forwarder, son fonctionnement
diffre
Plan
Introduction
Partie 1 : Composants DNS
Partie 2 : Mise en place dun serveur DNS
Partie 3 : Fonctions avances
Les outils
Nslookup permet de gnrer des requtes
Nslookup Exemple
Id identifie une rponse
Rcode : code de rponse
Header flag : requte ou
rponse
Le NSlookup
/*
* exemple de programme
* quivalent nslookup */
#include <stdio.h>
#include <netdb.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
void
erreur( void )
{
switch ( h_errno ) {
case HOST_NOT_FOUND :
puts("L'hte indiqu est inconnu.");break;
case NO_ADDRESS :
puts("Le nom est valide mais ne possde
pas d'adresse IP.");
break;
case NO_RECOVERY :
puts("Une erreur fatale du serveur de
noms est apparue.");
break;
case TRY_AGAIN : puts("Try again"); }
exit(1);
int
main(int argc, char *argv[])
{
struct hostent *infos;
struct in_addr addr;
unsigned long *tempo;
if (inet_aton(argv[1], &addr) != 0 ) {
infos = gethostbyaddr(
(char *)( &(addr.s_addr)),sizeof(addr.s_addr),AF_INET);
if ( ! infos )
erreur();
printf("\nnom:%s",infos -> h_name);
} else {
infos = gethostbyname(argv[1]);
if ( ! infos )
erreur();
tempo = (unsigned long int *)(infos -> h_addr);
addr.s_addr = *tempo;
printf("\nip:%s",inet_ntoa(addr));
}
printf("\nbye...\n");
}
La scurit
Deux familles de
pare-feux pour
utilisation avec DNS
Filtrage de paquets
@dresse +port
Configuration explicite
Passerelles
applicatives de type
TCP
La scurit : Forwarders