DNS
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; };