Le système DNS introduit une convention de nommage hiérarchique des domaines qui commence par un domaine racine appelé ".". Les domaines situés directement sous le domaine racine sont appelés domaines de premier niveau. Ils sont gérés par l'ICANN et représentent souvent la localisation géographique (fr, be, eu, ru, de ...) ou le type de service (museum, info, org, gov, mail, ...). Les domaines de second niveau sont disponibles pour les entreprises et les particuliers. Ils sont distribués et gérés par d'autres sociétés comme l'InterNIC (une filiale le l'ICANN) ou bien l'AFNIC (Association Française pour le Nommage Internet en Coopération) qui gère le domaine fr. Enfin une multitude de sous-domaines peuvent être crée à l'intérieur d'un domaine de second niveau.
Les noms de machine utilisant le système DNS sont appelés noms d'hôtes. Un nom d'hôte peut contenir jusqu'à 255 caractères alphanumériques (chiffres et lettres) et le caractère trait d'union "-". L'utilisation du caractère "." est interdite car il est réservé afin de séparer un domaine supérieur d'un domaine inférieur.
En effet, on distingue deux types de noms avec le système DNS :
le nom d'hôte qui représente le nom d'une machine (un ordinateur, une imprimante ou bien encore un routeur).
Le nom de domaine pleinement qualifié ou FQDN (Fully Qualified Domain Name).
Le FQDN est en fait composé de deux parties : le nom d'hôte et le suffixe DNS. Le suffixe DNS défini la relation entre le domaine auquel appartient la machine et le domaine racine. Par exemple, si l'on considère une machine avec le nom d'hôte CLIENT-11 située dans le domaine students, son suffixe DNS est : students.cepi.ci. Le nom de domaine pleinement qualifié (FQDN) de la machine ntic-11 est donc : ntic-11.students.cepi.ci.
Les fichiers de configuration du serveur dns sont les suivants :
Le fichier /etc/named.conf ce fichier indique les fonctions de named et les noms des fichiers de configuration
/var/named/named.local ce fichier permet de résoudre l’adresse de boucle local.
named.hosts ce fichier qualifié de zone file, contient les noms dns et les adresses IP correspondantes des hôtes d’un domaine. Ce fichier doit être créé dans le répertoire /var/named le nom qui lui est donné (named .hosts) est à titre d’exemple l’administrateur est libre de lui donner le nom qu’il veut.
named.rev ce fichier qualifié de zone file, contient les données inverse du précédent (named.hosts) et permet de connaître le nom d’une machine à partir de sont adresse ip. Ce fichier doit être crée dans le répertoire /var/named le nom qui lui est donné (named.rev) est à titre d’exemple l’administrateur est libre de lui donner le nom qu’il veut.
1 Etude du fichier /etc/named.conf
Les commentaires commencent par // ou # ou bien sont de type c (/*…*/).
La structure du fichier est la suivante :
Une suite de section terminée par « ; ».
Une section «zone» décrit un domaine DNS.
L’énoncé type précise le rôle du serveur :
type master; indique un serveur maître
type slave; indique un serveur secondaire
type hint; indique un serveur cache
L’énoncé «file» précise le nom du fichier qui contient la description du domaine.
3 FORMAT D’UN ENREGISTREMENT DE RESSOURCE DNS
Les fichiers named.ca, named.rev, … contiennent des enregistrements de ressources DNS mais les noms exacts des fichiers d’enregistrement de ressources sont spécifiés dans le fichier named.conf. La structure des ressources DNS est la suivante :
Nom durée de vie classe type donnée
nom: c’est le nom d’un objet, par exemple un nom DNS.
Durée de vie: c’est la durée de vie de l’objet dans le tampon (cache).
En son absence, elle est égale à la valeur du champ minimum de l’enregistrement SOA.
La classe indique le réseau de transport utilisé. Les réseaux tcp/ip sont définis par la classe IN.
Type : une valeur sur 16 bits spécifiant le type de ressource décrit par l'enregistrement. Le type de ressource peut être un des suivants :
SOA (Start Of Authority) : le champ SOA permet de décrire le serveur de nom ayant autorité sur la zone, ainsi que l'adresse électronique du contact technique (dont le caractère « @ » est remplacé par un point).
NS : correspond au serveur de noms ayant autorité sur le domaine.
A : il s'agit du type de base établissant la correspondance entre un nom canonique et une adresse IP. Par ailleurs, il peut exister plusieurs enregistrements A, correspondant aux différentes machines du réseau (serveurs).
PTR : permet la conversion d’une adresse ip en nom DNS.
MX : identifie un serveur de messagerie.
CNAME (Canonical Name) : il permet de faire correspondre un alias au nom canonique. Il est particulièrement utile pour fournir des noms alternatifs correspondant aux différents services d'une même machine.
4 CONFIGURATION D’UN DNS MAITRE PRINCIPAL D’UN DOMAINE
Première étape : configuration du fichier /etc/named.conf.
Voici comment ce présente ce fichier avant sa configuration.
// named.conf for Red Hat caching-nameserver
//
options {
directory
"/var/named";
dump-file
"/var/named/data/cache_dump.db";
statistics-file
"/var/named/data/named_stats.txt";
/*
* If there is a firewall between you and
nameservers you want
* to talk to, you might need to uncomment the
query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses
an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
controls {
inet
127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type
hint;
file
"named.ca";
};
zone "localdomain" IN {
type
master;
file
"localdomain.zone";
allow-update
{ none; };
};
zone "localhost" IN {
type
master;
file
"localhost.zone";
allow-update
{ none; };
};
zone "0.0.127.in-addr.arpa" IN {
type
master;
file
"named.local";
allow-update
{ none; };
};
zone
"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa"
IN {
type
master;
file
"named.ip6.local";
allow-update
{ none; };
};
zone "255.in-addr.arpa" IN {
type
master;
file
"named.broadcast";
allow-update
{ none; };
};
zone "0.in-addr.arpa" IN {
type
master;
file
"named.zero";
allow-update
{ none; };
};
include "/etc/rndc.key";
la configuration de ce fichier est simple.
il suffit de copier les zones
zone "localhost" et zone "0.0.127.in-addr.arpa" et de les coller à la fin du fichier juste avant la dernière ligne comme dans l’exemple ci –dessous.
// named.conf for Red Hat caching-nameserver
//
options {
directory
"/var/named";
dump-file
"/var/named/data/cache_dump.db";
statistics-file
"/var/named/data/named_stats.txt";
/*
* If there is a firewall between you and
nameservers you want
* to talk to, you might need to uncomment the
query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses
an unprivileged
* port by default.
*/
// query-source address * port 53;
};
// a caching only nameserver config
//
controls {
inet
127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type
hint;
file
"named.ca";
};
zone "localdomain" IN {
type
master;
file
"localdomain.zone";
allow-update
{ none; };
};
zone "localhost" IN {
type
master;
file
"localhost.zone";
allow-update
{ none; };
};
zone "0.0.127.in-addr.arpa" IN {
type
master;
file
"named.local";
allow-update
{ none; };
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa"
IN {
type
master;
file
"named.ip6.local";
allow-update
{ none; };
};
zone "255.in-addr.arpa" IN {
type
master;
file
"named.broadcast";
allow-update
{ none; };
};
zone "0.in-addr.arpa" IN {
type
master;
file
"named.zero";
allow-update
{ none; };
};
include "/etc/rndc.key";
Après cette étape, nous allons maintenant remplacer localhost par le nom de notre domaine et dans le champs file de cette zone, nous allons remplacer localhost.zone par le nom du fichier qui contiendra les noms dns et les adresses IP correspondantes des hôtes d’un domaine. Le nom de ce fichier est laissé au choix de l’administrateur. (Ce fichier doit être créé dans le répertoire /var/named il est à noter que le contenu du fichier /var/named/named.local doit être copié dans ce fichier).
Aussi devrons-nous remplacer 0.0.127 par l’inverse des trois premiers octet de l’adresse du sous-réseau auquel nous appartenons. Par exemple si nous appartenons au sous-réseau 192.168.0.0 nous remplacerons alors 0.0.127 par 0.168.192.
Nous devrons aussi remplacer localhost.zone par le nom d’un fichier qui doit être différent du précèdent. named. ce fichier qualifié contient les données invers du précédent et permet de connaître le nom d’une machine à partir de sont adresse ip (Ce fichier doit être crée dans le répertoire /var/named il est à noter que le contenu du fichier /var/named/named.local doit être copié dans ce fichier).
Exemple de configuration d’un dns maître principal d’un domaine
Le nom du domaine est suportIT .ci
Le nom de la machine servant de serveur est serveur il a pour adresse IP 192.168.0.199
Les deux machines servant de clients sont les suivantes:
cepi6 adresse IP 192.168.0.209
cepi5 adresse IP 192.168.0.208
Dans ce cas de figure le fichier /etc/named.conf après modification se présente comme suit :
//
// named.conf for Red Hat caching-nameserver
//
options {
directory
"/var/named";
dump-file
"/var/named/data/cache_dump.db";
statistics-file
"/var/named/data/named_stats.txt";
/*
* If there is a firewall between you and
nameservers you want
* to talk to, you might need to uncomment the
query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an
unprivileged
* port by default.
*/
// query-source address * port 53;
};
// a caching only nameserver config
//
controls {
inet
127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type
hint;
file
"named.ca";
};
zone "localdomain" IN {
type
master;
file
"localdomain.zone";
allow-update
{ none; };
};
zone "localhost" IN {
type
master;
file
"localhost.zone";
allow-update
{ none; };
};
zone "0.0.127.in-addr.arpa" IN {
type
master;
file
"named.local";
allow-update
{ none; };
};
zone
"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa"
IN {
type
master;
file
"named.ip6.local";
allow-update
{ none; };
};
zone "255.in-addr.arpa" IN {
type
master;
file
"named.broadcast";
allow-update
{ none; };
};
zone "0.in-addr.arpa" IN {
type
master;
file
"named.zero";
allow-update
{ none; };
};
zone "suportIT.ci" IN {
type
master;
file
"suportIT.ci";
allow-update { none; };
};
zone "0.168.192" IN {
type
master;
file "suportIT.ci.rev";
allow-update
{ none; };
};
include "/etc/rndc.key";
Nous allons comme indiqué copier le contenu du fichier named.local dans les fichiers suportIT.ci et suportIT.ci.rev. Nous allons donc en ligne de commande et nous saisissons les commandes suivantes:
#cp /var/named/named.local /var/named/suportIT.ci
et
#cp /var/named/named.local /var/named/suportIT.ci.rev
Par la suite nous editons le fichier /var/named/suportIT.ci et nous la modifions comme suit:
$TTL 86400
@ IN SOA serveur.suportIT.ci. root.serveur.suportIT.ci. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS serveur.suportIT.ci.
serveur IN A 192.168.0.199
cepi5 IN A 192.168.0.208
cepi6 IN A 192.168.0.209
Nous éditons également le fichier /var/named/suportIT.ci.rev et nous la modifions comme suit:
$TTL 86400
@ IN SOA serveur.suportIT.ci. root.serveur.suportIT.ci. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS serveur.suportIT.ci.
199 IN PTR serveur.suportIT.ci.
208 IN PTR cepi5.suportIT.ci.
209 IN PTR cepi6.suportIT.ci.
Nb: remarquez que pour les enregistrements IN A, il n’y a pas de point en fin de ligne.
Pour les enregistrement IN NS et IN PTR, il y a toujours un point en fin de ligne.
Si vous ne respecter pas cette ponctuation votre serveur DNS vous enverra un message d’erreur de configuration.
La configuration continue maintenant c’est au tour du fichier /etc/resolv.conf d’être édité.
Dans ce fichier nous indiquerons l’adresse de notre serveur DNS .
#vi /etc/resolv.conf
Nous modifions donc notre fichier comme suit.
search suportIT.ci
nameserver 192.168.0.199
Le dernier fichier à être modifier est le fichier /etc/hosts ce fichier répertorie les noms FQDN de toutes les machines du domaine et leur adresse ip correspondante.
Nous l’éditons :
#vi /etc/hosts
Et nous le modifions comme suit :
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.0.199 serveur.suportIT.ci serveur
192.168.0.209 cepi6.suportIT.ci cepi6
192.168.0.208 cepi5.suportIT.ci cepi5
Enfin nous démarrons le service à l’aide de la commande suivante :
#/etc/init.d/named start
La commande nslookup
La commande nslookup est l’outil adéquat pour mettre au point une configuration DNS et obtenir des informations provenant de n’importe quel serveur DNS.
L’exemple qui suit illustre quelques possibilités de la commande nslookup.
> help
Aide en ligne.
> set type=ns
Visualise la liste des serveurs de nom d’un domaine.
> set type=MX
Visualise la liste des serveurs de messagerie d’un domaine :
> exit
Aucun commentaire:
Enregistrer un commentaire