10
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.150, mais par son nom d’hôte Gassama. Fichier hosts Avant d’aborder le vif du sujet, un petit mot sur le fichier hosts. Il se situe sous /etc/hosts et est de la simple forme : adresse IPnom d’hôteFQDN : (nomsousdomain.nomdomain) 127.0.0.1 Gassama.gass.sn Gassama localhost.localdomainlocalhost 192.168.1.150 Gassama.gass.sn Gassama G@ss@m@ Page 1

Configuration dns sous linux

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Configuration  dns sous linux

CONFIGURATION DNS SOUS LINUX

(FEDORA 11)

Serveur DNSLorsque 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.150, mais

par son nom d’hôte Gassama.

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

127.0.0.1 Gassama.gass.sn Gassama localhost.localdomainlocalhost 192.168.1.150 Gassama.gass.sn Gassama 192.168.1.254 gateway.gass.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

G@ss@m@ Page 1

Page 2: Configuration  dns sous linux

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 Gassama.gass.sn. IN A 192.168.1.150 Type CNAME: permet de surnommer une machine (fichier direct)Exemple: www.gass.sn. IN CNAME Gassama.gass.sn. Type PTR: permet de faire de résolution inverse. Exemple: 150 IN PTR Gassama.gass.sn. Type NS: permet de préciser le serveur de nom d'un domaine. Exemple: gass.sn. IN NS Gassama.gass.sn. Type SOA: (Start Of Authority) désigne le début unique et oblige d’une zone Exemple: gass.sn. IN SOA @ Gassama.gass.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 à joursExpire: durée d'expiration TTL: durée minimale de la validation des informations Type MX: favorise l'adressage sur un serveur de messagerie Exemple: Gassama.sn. IN MX 1 Gassama.gass.sn.

Serveur DNSLe 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 telle 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 gass.sn et se fera sur une machine sous Fedora11.

Installation de Bind

Sous Fedora, on utilise yum pour installer tous les paquets :

# yum install bind-*

G@ss@m@ Page 2

Page 3: Configuration  dns sous linux

Configuration du serveur DNSLe 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/gass.sn à partir du fichier /var/named/named.localhost

Description des différentes parties :

G@ss@m@ Page 3

Page 4: Configuration  dns sous linux

le @ au début de l’enregistrement définit la zone : gass.sn. la classe, IN, signifie internet. l’enregistrement SOA (Start Of Authority), nécessaire pour un serveur

maître. Gassama.gass.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.

Gassama.gass.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.

10 : 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 Gassama.gass.sn A : une adresse IP, Gassama est la machine avec l’IP 192.168.1.152 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.Gassama.gass.sn, cela est dirigé vers Gassama.gass.sn.

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

G@ss@m@ Page 4

Page 5: Configuration  dns sous linux

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 gass.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 gass.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 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.152 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 named comme propriétaire du fichier gass.sn et du fichier gass.inv en tapant les commandes:

# chown named:named gass.sn # chown named:named gass.inv

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

G@ss@m@ Page 5

Page 6: Configuration  dns sous linux

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.150) 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 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 “gass.sn”

Editons le fichier “/etc/named.rfc1912.zones” et ajoutons: Pour la résolution directe et inverse

G@ss@m@ Page 6

Page 7: Configuration  dns sous linux

Autre Machine : Serveur secondaire

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:

G@ss@m@ Page 7

Page 8: Configuration  dns sous linux

G@ss@m@ Page 8