Différences entre versions de « DNS »
Ligne 113 : | Ligne 113 : | ||
</pre> | </pre> | ||
− | = | + | = Démarrage = |
+ | |||
Au premier démarrage, le démon ''named'' génére les clés RNDC: | Au premier démarrage, le démon ''named'' génére les clés RNDC: | ||
<pre> | <pre> | ||
Ligne 120 : | Ligne 121 : | ||
Démarrage de named : [ OK ] | Démarrage de named : [ OK ] | ||
</pre> | </pre> | ||
− | + | == Vérification de l'écoute == | |
On peut utiliser la commande ''netstat'' pour s'assurer que ''named'' écoute sur les interfaces désirées | On peut utiliser la commande ''netstat'' pour s'assurer que ''named'' écoute sur les interfaces désirées | ||
<pre> | <pre> | ||
Ligne 126 : | Ligne 127 : | ||
udp 0 0 127.0.0.1:53 0.0.0.0:* 10787/named | udp 0 0 127.0.0.1:53 0.0.0.0:* 10787/named | ||
udp 0 0 ::1:53 :::* 10787/named | udp 0 0 ::1:53 :::* 10787/named | ||
+ | </pre> | ||
+ | |||
+ | == Test de résolution == | ||
+ | |||
+ | Utilisons ''nslookup'' pour s'assurer que notre serveur fonctionne en lui demandant l'adresse de ''google.fr'' | ||
+ | |||
+ | <pre> | ||
+ | # nslookup google.fr 127.0.0.1 | ||
+ | Server: 127.0.0.1 | ||
+ | Address: 127.0.0.1#53 | ||
+ | |||
+ | Non-authoritative answer: | ||
+ | Name: google.fr | ||
+ | Address: 173.194.41.23 | ||
+ | Name: google.fr | ||
+ | Address: 173.194.41.24 | ||
+ | Name: google.fr | ||
+ | Address: 173.194.41.31 | ||
</pre> | </pre> | ||
Version du 22 décembre 2013 à 19:45
Préparation
Dans un premier temps, il faudra avoir une connexion à Internet et utiliser un "autre" serveur DNS.
Pour ceux qui aurait manqué des étapes voici les étapes à suivre:
Une fois ces étapes effectuées, entrons dans le vif du sujet !
Installation
Tout d'abord il faut installer les paquetages suivants:
# yum -y install bind bind-utils
- bind → c'est le serveur DNS (Berkeley Internet Name Daemon)
- bind-utils → des utilitaires pour s'assurer que le serveur est correctement configuré (nslookup, dig, ...)
Configuration du serveur
Point de départ
L'essentiel de la configuration se déroule dans le fichier /etc/named.conf Ci-dessous un exemple de fichier de base:
options { listen-on port 53 { 127.0.0.1; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; }; recursion yes; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
Déclarations
Les déclarations suivantes peuvent être utilisées:
- acl → configure une liste de contrôle d'accès
- any → correspond à toutes les adresses IP
- localhost → correspond aux IP du système local
- localnets → correspond aux adresses IP utilisées par le système aux travers d'interfaces
- none → correspond à aucune adresse IP
Exemples
acl
La déclaration acl permet de rassembler plusieurs réseaux ensemble:
acl authorized { 192.168.0.0/24; 10.0.1.0/24; 192.168.50.0/24; }; acl unauthorized { 192.168.60.0/24; }
On pourra ensuite remplacer avantageusement la ligne suivante:
allow-query { localhost; };
Par:
allow-query { authorized; };
Cela sera plus propre de rassembler les déclarations en début de fichier et de ne plus avoir à parcourir l'intégralité du fichier pour apporter une modification !
none
On pourra remplacer la ligne suivante:
listen-on-v6 port 53 { ::1; };
Par:
listen-on-v6 port 53 { none; };
localnets
On pourra remplacer la ligne suivante:
listen-on port 53 { 127.0.0.1; };
Par:
listen-on port 53 { localnets; };
Démarrage
Au premier démarrage, le démon named génére les clés RNDC:
# service named start Generating /etc/rndc.key: [ OK ] Démarrage de named : [ OK ]
Vérification de l'écoute
On peut utiliser la commande netstat pour s'assurer que named écoute sur les interfaces désirées
# netstat -aunp | grep named udp 0 0 127.0.0.1:53 0.0.0.0:* 10787/named udp 0 0 ::1:53 :::* 10787/named
Test de résolution
Utilisons nslookup pour s'assurer que notre serveur fonctionne en lui demandant l'adresse de google.fr
# nslookup google.fr 127.0.0.1 Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: google.fr Address: 173.194.41.23 Name: google.fr Address: 173.194.41.24 Name: google.fr Address: 173.194.41.31
Il ne nous reste plus qu'à déclarer une zone !