Introduction
Le DNS est le Domain Name System. C'est l'ensemble des règles utilisées par les machines et les logiciels pour établir, entre autres choses, la correspondance entre les noms de machines et les adresses IP, dont chaque machine sur le net est pourvue. Ce document explique comment définir ces correspondances à l'aide d'un système Linux. Une correspondance est tout simplement une relation entre deux objets, un nom de machine et l'adresse IP de cette machine.Le service de résolution de nom sous Linux est assuré par un programme appelé named. Il fait partie du paquetage « bind ». named est inclus dans la plupart des distributions de Linux. Le service DNS est une base de données à l'échelle du réseau tout entier.
Notre propre domaine
J’ai défini le propre domaine de l’entreprise : guill.net et y est déclaré quelques machines. Celui-ci ne sera pas publié sur Internet car nous n’y étions pas autorisés et ceci nous était inutile. Il nous servira uniquement comme serveur de nom interne.
J’ai commencé à créer le domaine guill.net avec cette ligne dans /etc/named.conf :
______________________________________________________________________L'absence de « . » à la fin des noms de domaine de ce fichier signifie que nous allons définir la zone 0.0.127.in-addr.arpa et que tout est stocké dans un fichier appelé pz/127.0.0. Ce fichier se présente comme ceci :
zone "0.0.127.in-addr.arpa" {
type master;
file "pz/127.0.0";
};
______________________________________________________________________
______________________________________________________________________Notez bien le « . » à la fin de tous les noms de domaine complets de ce fichier. L'origine (l'emplacement dans la hiérarchie du service DNS) d'un fichier de zone est indiquée dans la zone section du fichier named.conf. Dans notre cas, c'est 0.0.127.in-addr.arpa.
0.0.127.in-addr.arpa. IN SOA ns.guill.net support.guill.net. (
6 ;Serial
108000 ; Refresh
36000 ; Retry
4320000 ; Expire
38400 ) ; Minimum TTL
NS ns.guill.net.
1 PTR localhost.
______________________________________________________________________
Ce « fichier de zone » (« zone file »), contient 3 « resource records » (RRs) : un SOA RR, un NS RR et un PTR RR.
SOA est l'abréviation de « Start Of Authority » (Origine de l'Autorité).
NS est le « resource records » pour le serveur de noms (NS = Name Server). La ligne NS ns.guill.net. dit au service DNS quelle machine est le serveur de noms pour le domaine 0.0.127.in-addr.arpa, c'est ns.guill.net. ns est le nom habituel des serveurs de noms, tout comme www pour les serveurs Web, mais c'est simplement une habitude, on peut choisir n'importe quel nom.
Et finalement le PTR dit que l'adresse 1 dans le sous réseau 0.0.127.in-addr.arpa, donc 127.0.0.1 est appelé localhost.
Le champ SOA est le préambule de tous les fichiers de zone, et il doit y en avoir exactement un dans chaque fichier de zone. Ce champ SOA décrit la zone, son origine (ici, une machine appelée ns.guill.net), qui est responsable de son contenu (support@guill.net), de quelle version du fichier de zone il s'agit (serial : 6), et quelques autres paramètres pour le cache et les serveurs DNS secondaires.
J’ai relancé le service named (avec la commande ndc restart) et j’ai regardé le résultat avec la commande nslookup :
$ nslookup
Default Server: localhost
Address: 127.0.0.1
> 127.0.0.1
Server: localhost
Address: 127.0.0.1
Name: localhost
Address: 127.0.0.1
Je suis arrivé à obtenir localhost à partir de 127.0.0.1. Maintenant, pour le sujet qui nous préoccupe, le domaine guill.net, j’ai inséré une nouvelle zone dans le fichier named.conf :
______________________________________________________________________
zone "guill.net" {
notify no;
type master;
file "pz/guill.net";
};
______________________________________________________________________
J’ai ensuite décrit le fichier de la zone guill.net :
______________________________________________________________________
guill.net. IN SOA ns.guill.net. support.guill.net. (
2004
108000
36000
4320000
38400 )
NS ns
MX 10 mail.guill.net. ;serveur de mail de guill.net
;
localhost A 127.0.0.1
mail A 192.98.1.68
ns A 127.0.0.1
www A 195.25.252.194
_____________________________________________________________________
Il y a deux choses à noter à propos du champ SOA. ns.guill.net doit absolument être une vraie machine possédant un champ A. Il n'est pas légal d'avoir un champ CNAME pour la machine mentionnée dans le champ SOA. La deuxième chose à noter est que support.guill.net doit se lire comme support@guill.net. Ce doit être un alias de mail ou une véritable boîte aux lettres électroniques, et la personne qui maintient le DNS doit la lire régulièrement. Tous les mails concernant l'administration du domaine seront envoyés à cette adresse.
Il y a un nouveau RR (Resource Record) dans ce fichier, c'est le MX, pour Mail eXchanger. Il indique aux systèmes de gestion du courrier électronique à quelle machine envoyer le mail adressé à someone@guill.net, dans notre cas à mail.guill.net. Le nombre devant chaque machine est sa priorité vis-à-vis du champ MX, le RR avec le numéro le plus faible (10) correspond à la machine à laquelle le courrier doit être adressé en priorité.
Le site Internet www.guill.net est hébergé par une société située au Canada et possédant une adresse IP fixe. Pour notre réseau interne, le site www.guill.net devait faire partie de notre réseau, aucune de nos machines dans notre réseau privé ne pouvait avoir accès à notre site Internet. J’ai donc dû redirigé tous les appels à www.guill.net vers l’adresse IP de l’hébergeur de notre site Web. La ligne www A 195.252.252.194 permet de faire cette redirection.
J’ai relancé named en tapant ndc restart et examiné le résultat avec nslookup :
> nslookup
Default Server: localhost
Address: 127.0.0.1
> set q=any
> guill.net
Server: localhost
Address: 127.0.0.1
guill.net
origin = ns.guill.net
mail addr = support.guill.net
serial = 2004
refresh = 108000 (1d6h)
retry = 36000 (10H)
expire = 4320000 (7w1d)
minimum ttl = 38400 (10h40m)
guill.net nameserver = ns.guill.net
guill.net preference = 10, mail exchanger = mail.guill.net
guill.net nameserver = ns.guill.net
ns.guill.net internet address = 127.0.0.1
mail.guill.net internet address = 192.98.1.68
Voyons ce que cela donne avec www.guill.net :
> www.guill.net
Server: localhost
Address: 127.0.0.1
www.guill.net internet address = 195.25.252.194
guill.net nameserver = ns.guill.net
ns.guill.net internet address = 127.0.0.1
La moitié du travail est faite, il faut maintenant définir la zone inversée qui effectuera le travail inverse de celui que nous venons de faire.
La zone inversée
Maintenant, on a besoin d'une zone inversée pour que l'on puisse retrouver le DNS à partir de l'adresse. Ce nom est utilisé par différents types de serveurs (FTP, IRC, WWW et autres). Pour un accès complet aux services sur Internet, la zone inversée est indispensable.L’adresse IP de mon réseau étant 192.98.1.0, j’ai alors mis ceci dans mon fichier named.conf :
______________________________________________________________________
zone "1.98.192.in-addr.arpa" {
notify no;
type master;
file "pz/192.98.1";
};
______________________________________________________________________
C'est exactement comme pour le 0.0.127.in-addr.arpa et le contenu est similaire :
______________________________________________________________________
1.98.192.in-addr.arpa. IN SOA ns.guill.net support.guill.net. (
6
108000
36000
4320000
38400 )
NS ns.guill.net.
68 PTR mail.guill.net.
______________________________________________________________________
J’ai redémarré le service named (ndc restart) et examiné le travail avec nslookup :
______________________________________________________________________
> 192.98.1.68
Server: localhost
Address: 127.0.0.1
Name: mail.guill.net
Address: 192.98.1.68
______________________________________________________________________
J’ai ensuite regardé en détail pour m'en assurer :
______________________________________________________________________
> ls -d 1.98.192.in-addr.arpa
[localhost]
$ORIGIN 1.98.192.in-addr.arpa.
@ 10h40m IN SOA ns.guill.net support.guill.net. (
6 ; serial
1d6h ; refresh
10H ; retry
7w1d ; expiry
10h40m ) ; minimum
10h40m IN NS ns.guill.net.
68 10h40m IN PTR mail.guill.net.
@ 10h40m IN SOA ns.guill.net support.guill.net. (
6 ; serial
1d6h ; refresh
10H ; retry
7w1d ; expiry
10h40m ) ; minimum
______________________________________________________________________
0 commentaires:
Enregistrer un commentaire