Configuration dns

7
Dimitri LEMBOKOLO 1 CONFIGURATION DNS SOUS LINUX (FEDORA 11) Serveur DNS Lorsque le nombre de machines devient important sur un réseau local, il est difficile et peu significatif de les identifier par leur adresse IP. Une première méthode consiste à utiliser un fichier hosts avec les traductions d’adresses en dur, mais cette méthode n’est pas souple, en effet, il faut tenir un fichier texte à jour par machine, le moindre changement sur le réseau devant être répercuté partout. C’est là qu’un serveur DNS intervient, celui-ci va s’occuper de traduire les adresses du réseau en quelque chose de plus humain. Par exemple j’accèderai à mon serveur Fedora 11 non plus par 192.168.1.70, mais par son nom d’hôte dimi. Fichier hosts Avant d’aborder le vif du sujet, un petit mot sur le fichier hosts. Il se situe sous /etc et est de la simple forme : adresse IPnom d’hôteFQDN : (nomsousdomain.nomdomain) 127.0.0.1 dimi.wrgd.sn dimilocalhost.localdomainlocalhost 192.168.1.70 dimi.wrgd.sn dimi 192.168.1.254 gateway.wrgd.sn gateway Comment ça marche ? Le DNS est un service réseau qui s’exécute en permanence sur une machine (un démon) et qui écoute sur le port standard 53 en UDP et en TCP. Il y a au minimum un serveur de noms par domaine. En général, on recommande d’en avoir au moins deux. Le premier jouera le rôle de Master et le second le rôle de slave, ainsi si le master tombe en panne le slave pourra continuer à servir les clients. Type d'enregistrement On distingue plusieurs types d'enregistrement: Type A: permet de faire la correspondance nom adresse IP Exemple: dans le fichier de résolution directe on met dimi.wrgd.sn. IN A 192.168.1.70 Type CNAME: permet de surnommer une machine (fichier direct)

description

Fait de même, mais il ne faut pas taper pour tape

Transcript of Configuration dns

Page 1: Configuration dns

Dimitri LEMBOKOLO

1

CONFIGURATION DNS SOUS LINUX (FEDORA 11)

Serveur DNS Lorsque le nombre de machines devient important sur un réseau local, il est difficile et peu significatif de les identifier par leur adresse IP. Une première méthode consiste à utiliser un fichier hosts avec les traductions d’adresses en dur, mais cette méthode n’est pas souple, en effet, il faut tenir un fichier texte à jour par machine, le moindre changement sur le réseau devant être répercuté partout. C’est là qu’un serveur DNS intervient, celui-ci va s’occuper de traduire les adresses du réseau en quelque chose de plus humain. Par exemple j’accèderai à mon serveur Fedora 11 non plus par 192.168.1.70, mais par son nom d’hôte dimi.

Fichier hosts

Avant d’aborder le vif du sujet, un petit mot sur le fichier hosts. Il se situe sous /etc et est de la simple forme : adresse IPnom d’hôteFQDN : (nomsousdomain.nomdomain)

127.0.0.1 dimi.wrgd.sn dimilocalhost.localdomainlocalhost 192.168.1.70 dimi.wrgd.sn dimi 192.168.1.254 gateway.wrgd.sn gateway Comment ça marche ? Le DNS est un service réseau qui s’exécute en permanence sur une machine (un démon) et qui écoute sur le port standard 53 en UDP et en TCP. Il y a au minimum un serveur de noms par domaine. En général, on recommande d’en avoir au moins deux.

Le premier jouera le rôle de Master et le second le rôle de slave, ainsi si le master tombe en panne le slave pourra continuer à servir les clients.

Type d'enregistrement

On distingue plusieurs types d'enregistrement:

Type A: permet de faire la correspondance nom →adresse IP

Exemple: dans le fichier de résolution directe on met dimi.wrgd.sn. IN A 192.168.1.70

Type CNAME: permet de surnommer une machine (fichier direct)

Page 2: Configuration dns

Dimitri LEMBOKOLO

2

Exemple: www.wrgd.sn. IN CNAME dimi.wrgd.sn.

Type PTR: permet de faire de résolution inverse.

Exemple: 70 IN PTR dimi.wrgd.sn.

Type NS: permet de préciser le serveur de nom d'un domaine.

Exemple: wrgd.sn. IN NS dimi.wrgd.sn.

Type SOA: (Start Of Authority) désigne le début unique et oblige d’une zone

Exemple: wrgd.sn. IN SOA @ dimi.wrgd.sn.(

1 ; Serial

1D ; Refresh

1H ; Retry

1W ; Expire

60 ) ; Négative Cache TTL;

Serial: numéro de série, à incrémenter à chaque fois le fichier de configuration a été modifié. Refresh:

Retry: durée de ressaie de série permettant de voir s'il y a mises à jours

Expire: durée d'expiration

TTL: durée minimale de la validation des informations

Type MX: favorise l'adressage sur un serveur de messagerie

Exemple: wrgd.sn. IN MX 1 dimi.wrgd.sn.

Serveur DNS

Le serveur installé sera le cultisme Bind. Il s’agit du programme le plus répandu et éprouvé en la matière. Le but ici est de l’utiliser pour le réseau local uniquement, ainsi il ne servira pas à faire la résolution de noms de machines sur internet, mais servira seulement à faire ce travail sur le réseau local pour avoir la possibilité d’atteindre telle ou machine par son petit nom. Il n’est pas nécessaire d’acquérir un nom de domaine pour cette architecture. Pour l’exemple, le réseau s’appellera wrgd.sn et se fera sur une machine sous Fedora 11.

Page 3: Configuration dns

Dimitri LEMBOKOLO

3

Joker

Installation de Bind

Sous Fedora, on utilise yum pour installer le programme, on utilisera Bind-* pour installer tous les paquets :

# yum install bind-*

Configuration du serveur DNS

Le serveur installé, passons à sa configuration. Celle-ci se fait dans le fichier

named.conf sous /etc. Comme on peut le voir, sous Fedora 11, la configuration de base est bien dans named.conf, mais nous allons peu y toucher car en fin de fichier, un include renvoie vers un autre fichier named.rfc1912.zones où l’on va définir nos nouvelles zones. Fichier named.conf :

Création des fichiers de zone

Les fichiers de zone se trouvent dans “/var/named/”

Pour la résolution directe, on créera le fichier /var/named/wrgd.sn à partir du fichier /var/named/named.localhost

Page 4: Configuration dns

Dimitri LEMBOKOLO

4

Description des différentes parties :

• le @ au début de l’enregistrement définit la zone : wrgd.sn. • la classe, IN, signifie internet. • l’enregistrement SOA (Start Of Authority), nécessaire pour un serveur maître. • dimi.wrgd.sn. le nom pleinement qualifié du serveur de nom. Ne pas oublier le .

(point) à la fin, s’agissant d’un nom absolu, il permet à Bind de remonter au sommet de l’arborescence des noms.

• dimi.wrgd.sn. il s’agit de l’adresse électronique de l’administrateur du serveur, avec un. à la place de l’arobase et toujours le point final.

• 0 : un numéro de série qu’il faut incrémenter à chaque modification du fichier. Ce numéro permet aux serveurs esclaves de savoir s’il y a du nouveau. Il est d’usage de choisir un numéro du type yyyymmddxx, xx étant un numéro que l’on incrémente à chaque changement.

• 1D : refresh, délai d’attente avant d’aller glaner des informations pour un serveur esclave.

• 1H : retry, si l’esclave ne trouve pas le maître, il réessaiera au bout du délai retry.

• 1W : expire, si au bout du délai expire, il n’est pas parvenu à entrer en contact avec le serveur maître, il le considère comme inexistant.

• 3H : minimum, détermine la durée de vie minimum du cache.

Quant à la deuxième partie, il faut différencier plusieurs types d’enregistrements :

• NS : il s’agit simplement du serveur de noms, ici dimi.wrgd.sn • A : une adresse IP, dimi est la machine avec l’IP 192.168.1.70 • HINFO : donne des infos sur le serveur. Il y a deux parties entre double-quottes,

les caractéristiques physiques de la machine et son système d’exploitation. • MX : désigne un serveur de messagerie • CNAME : nom canonique, pour ajouter des aliases à des machines. Dans cet

exemple, si on cherche par exemple imap.dimi.wrgd.sn, cela est dirigé vers dimi.wrgd.sn.

Pour la configuration de la résolution inverse, créons le fichier /var/named/wrgd.inv à partir du fichier /var/named/named.loopback

Toute la première partie est générée automatiquement lors de l’installation, ce qui nous intéresse est la partie en gras. Nous allons ajouter le domaine wrgd.sn, pour cela il faut ajouter ce que l’on appelle une zone DNS et son pendant pour la résolution inverse (trouver une IP à partir d’un nom d’hôte). Les deux zones ajoutées sont assez parlantes : zone wrgd.sn de type IN (internet) de type master et la zone inverse 1.168.192 (on remarque que c’est l’adresse du réseau à l’envers) suivi de in-addr.arpa (on ne cherche pas pourquoi, on écrit), toujours de type master. Pour les deux zones, il y a un chemin

Page 5: Configuration dns

Dimitri LEMBOKOLO

5

vers un fichier, c’est dans ceux-ci que les zones vont être précisément définies.

Le fichier de zone inverse 192.168.1.70

Le principe est le même, mais pour faire l’inverse, retrouver un nom pleinement qualifié grâce à une IP. On voit que la première partie avec le SOA est la même que pour la zone précédente. Il y a le NS et un type PTR qui est un pointeur. Simple.

Ensuite on nomme namedcomme propriétaire du fichier wrgd.sn et du fichier wrgd.inven tapant lescommandes:

# chownnamed:named wrgd.sn

# chownnamed:namedwrgd.inv

Et dans le fichier /etc/named.conf, on ajoute le paramètre ≪ANY » a la ligne:

Pour permettre à n'importe quelle adresse IP de se connecter au port 53

Par rapport au fichier disponible après l’installation, il a été rajouté l’adresse IP du serveur (192.168.1.70) dans la directive listen-on, ceci afin que les machines du réseau puissent l’atteindre par cette adresse. allow-query permet de définir quelles machines ou réseau(x) peuvent interroger le serveur, ici tout le réseau en 192.168.1.0/24. Et enfin, forwarders définit une liste de serveurs DNS autres à utiliser lorsque notre

Page 6: Configuration dns

Dimitri LEMBOKOLO

6

Serveur primaire (master)

Autre Machine : Serveur secondaire

serveur ne peut résoudre une adresse, ici, ce sont les IP des DNS d’Orange. Voilà pour le named.conf, passons au fichier named.rfc1912.zones :

On configure notre résolveur pour qu'il utilise notre serveur DNS dans /etc/resolv.conf:

Configuration d'un serveur DNS primaire

Nous allons créer une zone directe et inverse pour notre domaine “wrgd.sn”

Editons le fichier “/etc/named.rfc1912.zones” et ajoutons:

Pour la résolution directeet inverse

Page 7: Configuration dns

Dimitri LEMBOKOLO

7

C’est terminé. Le serveur peut être (re)démarré :

# etc/init.d/named restart

Teste de la résolution directe:

Teste de la résolution inverse:

To be continued