Table des matières. 2011 Hakim Benameurlaine 1



Documents pareils
Résolution de nom avec Bind

Nommage et adressage dans Internet

Domain Name Service (DNS)

DNS : Domaine Name System

Domain Name System. F. Nolot

Bind, le serveur de noms sous Linux

Comment fonctionne le serveur cache (1) DNS Session 2: Fonctionnement du cache DNS. Historique du support de cours

Domain Name System ot ol F. N 1

Master d'informatique 1ère année Réseaux et protocoles

Installer un domaine DNS

titre : CENTOS_BIND_install&config Système : CentOS 5.7 Technologie : Bind 9.3 Auteur : Charles-Alban BENEZECH

- FICHE DE PROCEDURE - Configurer un serveur DNS avec Bind9 sur Debian

1 Configuration réseau des PC de la salle TP

DNS. Olivier Aubert 1/27

Domaine Name System. Auteur: Congduc Pham, Université Lyon 1. Figure 1: Schéma des salles TP11 et TD4

Installation Serveur DNS Bind9 Ubuntu LTS

BIND : installer un serveur DNS

TP DNS Utilisation de BIND sous LINUX

B1-4 Administration de réseaux

Il est possible d associer ces noms aux langages numérique grâce à un système nommé DNS(Domain Name System)

LYCEE FRANCO-MEXICAIN HOMERO 1521 COLONIA POLANCO MEXICO ; D.F.

Ce cours est la propriété de la société CentralWeb. Il peut être utilisé et diffusé librement à des fins non commerciales uniquement.

Ce TP consiste à installer, configurer et tester un serveur DNS sous Linux. Serveur open source : bind9 Distribution : Mandriva

machine.domaine

Administration de Parc Informatique TP03 : Résolution de noms

Introduction au DNS. Les noms de domaine s'écrivent de la gauche vers la droite, en remontant vers la racine et sont séparés par un "." (point).

Domain Name Service (DNS)

Domain Name System. AFNIC (12/12/07) DNS - 1

DOMAIN NAME SYSTEM. CAILLET Mélanie. Tutoriel sur le DNS. Session Option SISR

TP de réseaux : Domain Name Server.

Gérer son DNS. Matthieu Herrb. tetaneutral.net. Atelier Tetaneutral.net, 10 février

LOSLIER Mathieu. Filière Informatique et Réseau 1 ère année. TP DNS. Responsable : LOHIER Stephane. Chargé de TD : QUIDELLEUR Aurélie

DNS et Mail. LDN 15 octobre DNS et Mail. Benjamin Bayart, Fédération FDN. DNS - fichier de zone. DNS - configuration

TP DHCP et DNS. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

Administration Système & Réseau. Domain Name System Historique & Concepts Fonctionnalités & Hiérarchie Requêtes & Base de donnée DNS

Résolution de noms. Résolution de noms

La résolution de noms

Domaine Name Service ( DNS )

Réseaux. DNS (Domaine Name System) Master Miage 1 Université de Nice - Sophia Antipolis. (second semestre )

Administration réseau Résolution de noms et attribution d adresses IP

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Installation du service DNS sous Gnu/Linux

TCP/IP - DNS. Roger Yerbanga contact@yerbynet.com

Présentation du système DNS

INSTALLATION D UN SERVEUR DNS SI5

Étude de l application DNS (Domain Name System)

Réseaux IUP2 / 2005 DNS Système de Noms de Domaine

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

Cours admin 200x serveur : DNS et Netbios

Service de noms des domaines (Domain Name System) Cours administration des services réseaux M.BOUABID,

DNS ( DOMAIN NAME SYSTEM)

1 Présentation du module sr005 2 I Administration d un serveur DNS... 2 II Organisation... 2

M Architecture des réseaux

Internet Le service de noms - DNS

Construction d un fichier de zone Déboguage et dépannage

Le service de nom : DNS

INTERNET & RESEAUX. Dino LOPEZ PACHECO lopezpac@i3s.unice.fr

I. Adresse IP et nom DNS

Chapitre 2: Configuration de la résolution de nom

Installation d un serveur DNS (Domaine name System) sous Ubuntu Server 12.10

Domain Name System. Schéma hiérarchique. Relation

Administration de réseaux. Marc Baudoin

Partage de connexion sous Debian Linux

REPARTITION DE CHARGE LINUX

Mise en place Active Directory / DHCP / DNS

L annuaire et le Service DNS

1 Résolution de nom Introduction à la résolution de noms Le système DNS Les types de requêtes DNS...

SECURIDAY 2012 Pro Edition

Dynamic Host Configuration Protocol

ASRb/Unix Avancé II. Chapitre 2. Utilitaires réseaux. Arnaud Clérentin, IUT d Amiens, département Informatique

Installation de Windows 2003 Serveur

Module 12 : DNS (Domain Name System)

Configurer (correctement) le service DNS pour Mac OS X Server

Les Serveurs sous Linux

Installation du DNS (Bind9)

Introduction...3. Objectifs...3 Contexte...3 nslookup/dig/host...3 whois...3. Introduction...4

Mise en place d un serveur DNS sous linux (Debian 6)

6 1 ERE PARTIE : LES PRINCIPES DE BASE DE DNS

Installation de la messagerie EMWAC IMS Sur Windows NT4 serveur ou Windows 2000 serveur

Installation de Windows 2000 Serveur

Configuration réseau Basique

Mac OS X Server Administration des services réseau. Pour la version 10.3 ou ultérieure

TD n o 8 - Domain Name System (DNS)

La couche Applicatiopn

TP a Notions de base sur le découpage en sous-réseaux

Table des matières Hakim Benameurlaine 1

TP LINUX Travaux avec Debian ETCH

DNS, FTP, WEB et DHCP : Mise en œuvre de serveurs sous Linux

Quelques protocoles et outils réseaux

Exemple d application: l annuaire DNS Claude Chaudet

V - Les applications. V.1 - Le Domain Name System. V Organisation de l espace. Annuaire distribué. Définition. Utilisation par le resolver

Télécommunications. IPv4. IPv4 classes. IPv4 réseau locaux. IV - IPv4&6, ARP, DHCP, DNS

Outils de l Internet

Administration UNIX. Le réseau

CREER UN ENREGISTREMENT DANS LA ZONE DNS DU DOMAINE

Corrigé du TP 6 Réseaux

Configuration du réseau

Introduction au DNS. Bertrand Bonnefoy-Claudet. 10 février 2014

Transcription:

Table des matières 1 SERVICE DNS... 2 1.1 INTRODUCTION... 2 1.1.1 Historique... 2 1.1.2 Principe... 3 1.1.3 Conversion de nom en adresse IP... 3 1.1.4 Conversion d'adresse IP en nom... 4 1.1.5 Le resolver... 5 1.2 INSTALLATION... 5 1.3 CONFIGURATION... 7 1.3.1 Enregistrement de ressources... 7 1.4 UN SERVEUR DE NOMS QUI NE SERT QUE DE CACHE... 9 1.4.1 zones... 10 1.4.2 Tester la configuration... 13 1.5 UN DNS POUR UN RÉSEAU LOCAL... 13 1.5.1 zones... 15 1.5.2 Tester la configuration... 16 1.6 UN DNS SECONDAIRE... 17 1.7 DÉBUGUER UN DNS... 20 1.8 DNS ET SÉCURITÉ... 21 1.9 OUTILS... 22 1.9.1 rndc... 22 1.9.2 nslookup... 24 1.9.3 host... 25 1.9.4 dig... 25 2011 Hakim Benameurlaine 1

1 SERVICE DNS 1.1 INTRODUCTION Dans un réseau, chaque machine se voit attribuer une adresse IP unique, qui permet de l'identifier. C'est un peu comme une adresse postale, qui permet d'identifier une maison de façon certaine. On se souvient facilement de www.linux-quebec.org, mais plus difficilement de 216.167.114.128. Le serveur de nom va permettre de trouver l'adresse IP à partir d'un nom (ou inversement). Pour résoudre un nom en adresse IP, la méthode la plus simple consiste à maintenir une table de conversion dans le fichier /etc/hosts : 127.0.0.1 localhost.localdomain localhost 192.168.1.1 neptune 192.168.1.2 pluton 1.1.1 Historique Au début des années 1970, un système centralisé à Stanford avec un fichier global HOST.TXT était utilise pour la résolution des noms. On pouvait récupérer la version la plus récente de ce fichier par ftp. Avec l'explosion du nombre de machines connectées à l'internet, ce système est devenu totalement ingérable. Un modèle centralisé est donc impossible à mettre en place, vu le nombre d'hôtes et le nombre de mises à jour nécessaires à apporter. Le DNS (Domain Name Server) a été conçu pour résoudre ce problème, en proposant un modèle hiérarchisé. Le serveur de nom présenté dans ce module est BIND (Berkley Internet Name Domain). Il a été développé à l origine à l université de Berkley. Présentement il est supporté par l Internet Software Consortium (www.isc.org). 2011 Hakim Benameurlaine 2

1.1.2 Principe Chaque machine reliée à un réseau se voit attribuer un petit nom. Ce nom est unique dans le domaine auquel elle appartient. Ainsi, pour les domaines domaine1.com et domaine2.com, on peut avoir deux machines portant des noms similaires ou différents. Par exemple, mail.domaine1.com et mail.domaine2.com désignent deux machines différentes, d'adresses IP différentes. On peut comparer cette adresse à une adresse postale : pour trouver un domicile de façon certaine, on commence par chercher le pays, puis la ville, puis la rue et enfin le numéro. Ici le pays est un nom de domaine de haut niveau. Ils sont bien connus de tous les internautes :.com,.net,.ca... Le nom de sous domaine peut-être assimilé au nom de la ville dans ce pays. Il peut y avoir plusieurs villes dans le monde ayant le même nom, mais dans un même pays un nom de ville doit être unique, pour pouvoir l'identifier de façon certaine. 1.1.3 Conversion de nom en adresse IP Chaque DNS ne connaît que les noms de ses fils (le serveur pour.com sait comment atteindre www.linux-quebec.com mais pas www.linuxquebec.org), et renvois à la racine les requêtes qu'il ne sait pas résoudre. 2011 Hakim Benameurlaine 3

Chaque serveur DNS garde en mémoire les dernières requêtes. Ainsi, si un nom est souvent demandé, il a toutes les chances de figurer dans la mémoire du serveur qui n'aura pas besoin d'interroger les autres serveurs. Au lieu d'avoir un serveur indexant toutes les machines du Web, il y a des milliers de machines indexant un petit bout de l'internet, en l occurrence leur sous domaine. Cela répartit les informations et les charges sur ces milliers de machines. Il est donc nécessaire de configurer son propre DNS pour son réseau, si on veut que les noms des machines de son propre domaine soient résolus par d'autres hôtes. 1.1.4 Conversion d'adresse IP en nom Pour pouvoir résoudre une adresse en nom, un pseudo-domaine a été mis en place : le domaine in-addr.arpa. 2011 Hakim Benameurlaine 4

1.1.5 Le resolver Pour interroger un serveur de noms, on n'a pas besoin d'avoir de DNS local. Pour toute requête, on passe par une bibliothèque appelée "resolver". Il s'agit d'un ensemble de fonctions écrites en C (comme gethostbyname, par exemple). Cette bibliothèque est indépendante du serveur DNS. Ainsi, on peut se contenter d'interroger des serveurs de noms extérieurs sans avoir de DNS local. Il faut d'abord modifier deux fichiers pour indiquer quels services de conversion de noms sont disponibles et quels serveurs de noms utiliser. Le fichier /etc/nsswitch.conf indique quels services de conversion de noms sont disponibles, et dans quel ordre il faut les appliquer : passwd: shadow: group: hosts: files nisplus files nisplus files nisplus files nisplus dns Le fichier de configuration du resolver s'appelle /etc/resolv.conf et détermine les serveurs DNS qui sont utilisés. 1.2 INSTALLATION Paquetage bind system-config-bind Description Serveur DNS Bind Utilitaire graphique pour configurer Bind 2011 Hakim Benameurlaine 5

caching-nameserver bind-utils Fichiers de configuration pour un DNS cache Utilitaires Pour démarrer le service Pour vérifier le statut Pour arrêter le service Pour installer l outil system-config-bind 2011 Hakim Benameurlaine 6

1.3 CONFIGURATION Le premier fichier de configuration lu par le serveur DNS est /etc/named.conf. Dans ce fichier on doit déclarer les zones qui sont servies par ce DNS. Le détail de chaque zone se trouve dans un fichier séparé. Le fichier de description d une zone est structuré en enregistrement de ressources (Record Resource) 1.3.1 Enregistrement de ressources Toutes les informations des divers fichiers de base de données named sont stockées sous un format appelé resource record (enregistrement de ressources). Chaque enregistrement est associé à un type qui indique la fonction de l enregistrement. Un enregistrement de ressources est le plus petit élément d information utilisé par named. Il existe une option permettant de spécifier des noms d hôtes absolus ou uniquement relatifs à ce domaine. Un nom d hôte est absolu s il se termine par un point comme orabec.ca. ; s il ne se termine pas par un point, il est considéré comme relatif au domaine local. (Appelé aussi origine). Vous pouvez vous référer à l origine elle-même en utilisant le caractère @. Les enregistrements de ressources utilisent une syntaxe générale identique quel que soit le type, cependant plusieurs parties de l enregistrement sont facultatives et prennent une valeur par défaut. Le format général est le suivant : [owner] [classe] [ttl] type data Les champs sont séparés par des blancs (espaces ou tabulations). Champ owner classe ttl Type Description Nom de domaine ou d hôte relatif à l enregistrement. Si aucun nom n est spécifié, le nom de domaine de l enregistrement de ressources précédent est proposé. Spécifie une classe d adresse réseau. La valeur IN doit être utilisée sur des réseaux TCP/IP. Si cette classe n est pas spécifiée, celle de l enregistrement de ressources précédent est utilisée. time-to-live (durée de vie), qui indique la durée de validité des informations dans cet enregistrement (en secondes) à partir du moment de leur récupération d un serveur DNS. Si aucune valeur n est précisée, le ttl minimal du dernier SOA (Start Of Authority, début d autorisation) est utilisé. Liste le type d enregistrement de ressources. Cette valeur est obligatoire 2011 Hakim Benameurlaine 7

data Spécifie les données associées à cet enregistrement de ressources. Cette valeur est obligatoire. Le format du champ data dépend du contenu du champ type. Les types d enregistrements sont les suivants : Type SOA NS A PTR CNAME HINFO MX Description Indique au DNS que tous les enregistrements de ressource qui suivent se rapportent à ce domaine. Le champ de données est encadré par des parenthèses et c est habituellement un champ à lignes multiples. Il contient les entrées suivantes : origin Nom canonique du serveur DNS primaire pour ce domaine. Normalement c est un nom de domaine absolu se terminant par un point. contact Adresse émail du responsable qui gère ce domaine. Comme le caractère @ a un sens particulier dans les enregistrements de ressources, il est remplacé par un point. serial Numéro de version du fichier d informations de zones. Ce numéro est utilisé par les serveurs de noms secondaires pour déterminer le moment où le fichier d informations de zone a changé. Il doit être augmenté de 1 à chaque modification du fichier. refresh Période (en secondes) durant laquelle le serveur secondaire attend avant de vérifier l enregistrement SOA du serveur DNS primaire. retry Période (en secondes) durant laquelle le serveur secondaire attend avant d essayer à nouveau une requête vers le serveur primaire si celui-ci n est pas accessible. expire Période (en secondes) durant laquelle le serveur secondaire attend avant de rejeter les informations de zones s il n a pas pu contacter le serveur primaire. minimum Valeur ttl par défaut pour les enregistrements de ressources ne spécifiant pas de valeur ttl. Pointe vers un serveur DNS. Un enregistrement A doit être doit être spécifié Enregistrement d adresse qui lie un nom d hôte et une adresse. Associe des adresses à des noms Associe un alias au nom canonique d un hôte Fournit des informations sur un hôte Établit un enregistrement d échange mail 2011 Hakim Benameurlaine 8

1.4 UN SERVEUR DE NOMS QUI NE SERT QUE DE CACHE Installer le paquetage caching-nameserver : On veut configurer un DNS qui ne sert que de cache (transmettra toutes les requêtes vers le DNS du fournisseur d'accès et gardera en mémoire les réponses). /etc/named.conf : // 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"; // 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; 2011 Hakim Benameurlaine 9

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"; 1.4.1 zones Les fichiers des zones sont situés dans le répertoire /var/named (comme indiqué par la ligne directory "/var/named";). 1.4.1.1 zone root Le DNS va chercher les informations dans les fichiers named.ca pour la zone "." 2011 Hakim Benameurlaine 10

La zone "." correspond à la zone racine (la racine à tous les domaines de l'internet). Contenu du fichier /var/named/named.ca ; This file holds the information on root name servers needed to ; initialize cache of Internet domain name servers ; (e.g. reference this file in the "cache. <file>" ; configuration file of BIND domain name servers). ; ; This file is made available by InterNIC ; under anonymous FTP as ; file /domain/named.cache ; on server FTP.INTERNIC.NET ; -OR- RS.INTERNIC.NET ; ; last update: Jan 29, 2004 ; related version of root zone: 2004012900 ; ; formerly NS.INTERNIC.NET. 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 ; formerly NS1.ISI.EDU. 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201 ; formerly C.PSI.NET. 3600000 NS C.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 ; formerly TERP.UMD.EDU. 3600000 NS D.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 ; formerly NS.NASA.GOV. 3600000 NS E.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 ; formerly NS.ISC.ORG. 3600000 NS F.ROOT-SERVERS.NET. F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 ; formerly NS.NIC.DDN.MIL. 3600000 NS G.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 ; formerly AOS.ARL.ARMY.MIL. 3600000 NS H.ROOT-SERVERS.NET. H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 ; formerly NIC.NORDU.NET. 3600000 NS I.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 ; operated by VeriSign, Inc.. 3600000 NS J.ROOT-SERVERS.NET. J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30 ; operated by RIPE NCC. 3600000 NS K.ROOT-SERVERS.NET. K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 ; operated by ICANN. 3600000 NS L.ROOT-SERVERS.NET. 2011 Hakim Benameurlaine 11

L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 ; operated by WIDE. 3600000 NS M.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 ; End of File 1.4.1.2 zone localhost La zone localhost permet d'effectuer la résolution du nom local du serveur DNS Contenu du fichier /var/named/localhost.zone $TTL 86400 @ IN SOA @ root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS @ IN A 127.0.0.1 IN AAAA ::1 1.4.1.3 zone 0.0.127.in-addr.arpa La zone 0.0.127.in-addr.arpa permet d'effectuer la résolution inverse de toutes les adresses commençant par 127.0.0, donc cette zone permet de résoudre l'adresse 127.0.0.1 en son nom. Voici le fichier /var/named/named.local $TTL 86400 @ IN SOA localhost. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS localhost. 1 IN PTR localhost. 2011 Hakim Benameurlaine 12

Noter qu'un nom d'hôte seul se termine par un point (".") si c'est un nom relatif au domaine courant (le domaine spécifié par la ligne zone "0.0.127.in-addr.arpa" { dans le fichier /etc/named.conf). Ce point est donc extrêmement important! Ce domaine courant est représenté par le caractère @, et s il est hormis (comme à la ligne indiquant le serveur de noms pour le domaine, par exemple), named considère qu'il s'agit du domaine courant. 1.4.2 Tester la configuration Pour tester le nouveau serveur de nom installé, on peut utiliser le programme nslookup: 1.5 UN DNS POUR UN RÉSEAU LOCAL Dans cette section, on supposera que la machine sur laquelle tournera le serveur DNS que l'on souhaite installer s'appelle machine1 et que le domaine s'appelle domaine1. Le nom complet du serveur DNS est donc machine1.domaine1. Il a pour adresse IP 192.168.1.128. 2011 Hakim Benameurlaine 13

Pour les noms d'hôtes n'appartenant pas au domaine local (comme www.linux-quebec.org, par exemple), on contactera le serveur DNS du fournisseur d'accès d'adresses 212.27.32.5 et 212.27.32.6 (noter que ces deux adresses sont bien des adresses de DNS d'un fournisseur d'accès, il faut donc les remplacer par les adresses de son fournisseur d'accès!). Les autres hôtes du domaine s'appellent machine2 et machine3, d'adresses IP respectives 192.168.1.2 et 192.168.1.3. Le tableau suivant résume tout cela : Table: Résumé des paramètres du DNS que l'on cherche à configurer. Nom d'hôte Nom de domaine Adresse IP Adresses du DNS du fournisseur d'accès machine1 domaine1 192.168.1.128 212.27.32.5 212.27.32.6 machine2 domaine1 192.168.1.2 - machine3 domaine1 192.168.1.3 - Il faudra bien sûr préciser que toutes les nouvelles requêtes se feront à partir du DNS d'adresse 192.168.1.128 dans le fichier /etc/resolv.conf en mettant dans ce fichier la ligne nameserver 192.168.1.128 en premier. Noter par ailleurs que les adresses de DNS du fournisseur d'accès pourraient figurer dans ce même fichier /etc/resolv.conf (on peut en spécifier jusqu'à 3), mais cette méthode est désuète. Il est préférable de le spécifier dans le fichier /etc/named.conf par l'instruction forwarders comme c'est indiqué dans la suite. Les fichiers à modifier restent les mêmes que dans le cas d'un serveur DNS cache. On peut utiliser l outil system-config-bind (system-config-bind-tui) ou faire les changements manuellement. 2011 Hakim Benameurlaine 14

Voici les zones à ajouter au fichier /etc/named.conf : zone "1.168.192.in-addr.arpa" { type master; file "1.168.192.in-addr.arpa.zone"; zone "domaine1" { type master; file "domaine1.zone"; 1.5.1 zones Voici la description de la zone domaine1 et son inverse. 1.5.1.1 zone domaine1 Voici le fichier /var/named/domaine1.zone : $TTL 86400 @ IN SOA @ root.localhost ( 3 ; serial 28800 ; refresh 7200 ; retry 604800 ; expire 2011 Hakim Benameurlaine 15

86400 ; ttl ) @ IN NS machine1 machine1 IN A 192.168.1.128 machine2 IN A 192.168.1.2 machine3 IN A 192.168.1.3 1.5.1.2 zone inverse domaine1 Enfin, voici le fichier /var/named/1.168.192.in-addr.arpa.zone : $TTL 86400 @ IN SOA @ root.localhost ( 3 ; serial 28800 ; refresh 7200 ; retry 604800 ; expire 86400 ; ttk ) @ IN NS machine1.domaine1. 2 IN PTR machine2.domaine1. 3 IN PTR machine3.domaine1. 128 IN PTR machine1.domaine1. 1.5.2 Tester la configuration Comme précédemment, on peut tester notre nouvelle configuration avec nslookup. FORWARD 2011 Hakim Benameurlaine 16

REVERSE 1.6 UN DNS SECONDAIRE Pour équilibrer les charges des DNS locaux, on peut mettre en place plusieurs DNS pour notre domaine local. Dans ce cas on met d'abord en place un DNS primaire qui servira de "maître" pour le DNS secondaire. Dans 2011 Hakim Benameurlaine 17

les sections précédentes, on a précisé que le DNS que l'on mettait en place était "maître" pour le domaine local comme l'indique la ligne type master; du fichier /etc/named.conf. Dans notre cas, le fichier /etc/named.conf du DNS secondaire doit préciser que c'est un serveur "esclave", et préciser l'adresse IP de son serveur "maître" : options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; controls { inet 127.0.0.1 allow { localhost; } keys { rndckey; zone "domaine1." IN { type slave; file "slaves/domaine1.db"; masters { 192.168.1.128; zone "1.168.192.in-addr.arpa." IN { type slave; file "slaves/1.168.192.db"; masters { 192.168.1.128; Les zones "localhost" sont les même que sur le maître. Sur le DNS maître il faut spécifier : allow-transfer { 192.168.1.120 ; On peut aussi ajouter l option suivante pour désactiver l'envoi de messages aux serveurs esclaves pour leur indiquer des modifications de zone : notify no; 2011 Hakim Benameurlaine 18

On peut préciser plusieurs serveurs maîtres, séparés par un point-virgule (";"). La mise à jour du DNS "esclave" est automatique à partir du DNS "maître". Ainsi, insérer une nouvelle machine dans le DNS prend peu de temps, et tous les serveurs secondaires seront mis à jour automatiquement! Si l option notify est initialisé à yes alors à chaque changement de numéro de série du serveur maître, un message est envoyé aux serveurs esclaves pour leur indiquer qu'il faut mettre à jour leur configuration. Les options figurant au début du fichier de zone (serial, refresh...) servent pour le DNS secondaire. Détaillons ces options : serial refresh retry expire C'est le numéro (un nombre entier) de version du fichier d'information de zones. Ce numéro est utilisé par les DNS secondaires pour savoir si le fichier d'informations de zone du DNS primaire a été changé. Il doit être augmenté de 1 à chaque modification du fichier. Intervalle de temps en secondes durant lequel le DNS secondaire attend avant de vérifier (et éventuellement mettre à jour) l'enregistrement SOA du DNS primaire. Ces enregistrements ne changent pas souvent en général, une journée (86400 secondes) peut largement suffire. Intervalle de temps en secondes durant lequel le DNS secondaire attend avant de réessayer une requête vers le DNS primaire si celui ci n'est pas accessible. Cette valeur devrait être de quelques minutes. Intervalle de temps en secondes durant lequel le DNS secondaire attend avant de rejeter les informations de zones s il n'a pu contacter le DNS primaire. Cette valeur devrait être de plusieurs jours (voir plusieurs mois). 2011 Hakim Benameurlaine 19

1.7 DÉBUGUER UN DNS Il est admis que l'écriture des fichiers de configuration d'un DNS est difficile. En plus de cela, il faut faire très attention à ce que l'on écrit, un espace ou un point oubliés peuvent tout changer, et pour trouver l'erreur, on peut y passer des heures! Cette section présente quelques trucs et sources d'erreurs possibles. Consulter le fichier /var/log/messages après chaque lancement de named. Les erreurs apparaîtront avec le nom du fichier et la ligne incriminée ; Vérifier les noms des hôtes dans les fichiers de configuration. Ne pas oublier qu'un nom est relatif à la zone s il ne se termine pas par un point ; Ne pas oublier d'incrémenter le numéro de série dans les fichiers de configuration du DNS primaire pour qu'il soit pris en compte par DNS secondaire. Ne pas oublier que si un champ est facultatif, il faut quand même laisser un espace (IN MX 10 machine et MX 10 machine sont équivalents, mais il doit y avoir un espace avant MX) ; Si une zone extérieure semble ne pas être atteignable, utiliser l'option debug de nslookup : 2011 Hakim Benameurlaine 20

1.8 DNS ET SÉCURITÉ Il est souhaitable de sécuriser son DNS local. Voici quelques recettes. Dans le fichier /etc/named.conf, on peut spécifier les DNS autorisés à demander un transfert de zone à l'aide de l'option allow-transfer : /* * Seul le DNS d'adresse 192.168.2.1 a le droit de * récupérer les informations à partir de ce DNS. */ zone "domaine1" { type master; file "domaine1"; allow-transfer { 192.168.2.1 ; Les transferts de zones étant utilisés par les spammers et les spoofers d'ip, il est recommandé de spécifier cette option. Si on n'a pas de DNS secondaire, on peut mettre l'adresse loopback (127.0.0.1). On peut préciser plusieurs adresses, séparées par un point-virgule ; Autoriser les requêtes au DNS de la part des hôtes d'un domaine particulier, les autres n'y étant pas autorisés. Par exemple, pour que seuls les hôtes du domaine local 192.168.1.0 soient autorisés à interroger le DNS, insérer dans le fichier /etc/named.conf l'option allow-query : /* * Seuls les hôtes du domaine 192.168.1.0/24 * sont autorises à interroger ce DNS local. */ zone "domaine1" { type master; file "domaine1"; allow-transfer { 192.168.2.1 ; allow-query {192.168.1.0/24 ; L'adresse 192.168.1.0/24 signifie "toutes les adresses dont les 24 premiers bits commencent par 192.168.1.0". Comme on a une adresse de classe C avec un masque de réseau correspondant à une adresse de classe C, cela revient à dire tous les hôtes du réseau 192.168.1.0 ; 2011 Hakim Benameurlaine 21

Ne pas mettre de RR de type HINFO. Les informations associées donnant des informations sur la machine sur laquelle tourne le DNS, on peut plus facilement trouver les failles de sécurité. 1.9 OUTILS 1.9.1 rndc 2011 Hakim Benameurlaine 22

2011 Hakim Benameurlaine 23

1.9.2 nslookup 2011 Hakim Benameurlaine 24

1.9.3 host 1.9.4 dig 2011 Hakim Benameurlaine 25