On se passe de DNS en utilisant le fichier /etc/hosts de chaque machine. Dans ce cas, il faut renseigner la correspondance entre l’adresse IP et le nom de la machine manuellement. Valable pour un petit réseau, vous comprenez facilement que cela n’est pas utilisable avec un grand réseau, a fortiori Internet !
Sous GNU/Linux, il faut de toute façon mettre deux lignes dans le fichier /etc/hosts lorsque l’on implante un service DNS :
Exemple :
# Fichier /etc/hosts sur le server 127.0.0.1 localhost.localdomain localhost 192.168.20.2 srvlan.maison.lan srvlan
# apt-get install bind9
Fichiers de configuration :
On modifie le fichier général en ajoutant la directive allow-update et ainsi rendre impossible la mise à jour de la configuration par un tiers :
include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; // Reference aux serveurs racines zone "." { type hint; file "/etc/bind/db.root"; }; // Zone locale zone "localhost" { type master; file "/etc/bind/db.local"; allow-update { none; }; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; allow-update { none; }; }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; allow-update { none; }; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; allow-update { none; }; };
C’est dans ce fichier que l’on indique nos zones :
//include "/etc/bind/zones.rfc1918"; // Les zones zone "maison.lan" { type master; file "db.maison.lan"; allow-update { none; }; }; zone "20.168.192.in-addr.arpa" { type master; file "rev.maison.lan"; allow-update { none; }; };
Explications :
Dans ces fichiers, le symbole @ (arobase) est un raccourci pour désigner le nom de la zone actuelle spécifié dans l’instruction zone du fichier /etc/bind/named.conf.local.
; Fichier pour la résolution directe de notre zone $TTL 86400 @ IN SOA srvlan.maison.lan. root.maison.lan. ( 2008030901 ; serial 1W 1D 4W 1W ) @ IN NS srvlan.maison.lan. srvlan IN A 192.168.20.2 andromede IN A 192.168.20.10 phoenix IN A 192.168.20.11 srvdmz IN A 192.168.8.2
; Fichier pour la résolution inverse de notre zone $TTL 86400 @ IN SOA srvlan.maison.lan. root.maison.lan. ( 2008030901 ; serial 1W 1D 4W 1W ) @ IN NS srvlan.maison.lan. 2 IN PTR srvlan.maison.lan. 10 IN PTR andromede.maison.lan. 11 IN PTR phoenix.maison.lan.
Le numéro de serie (serial) se compose de la date du jour du fichier lors de la rédaction de ces lignes, à “l’envers” et accolée à un numéro d’index de départ. Ce numéro sert pour les échanges avec un serveur secondaire.
# chgrp bind /var/cache/bind/*
search maison.lan nameserver 192.168.20.2 nameserver dns_de_votre_fai
# cd /var/cache/bind/ # named-checkzone -d maison.lan db.maison.lan loading "maison.lan" from "db.maison.lan" class "IN" zone maison.lan/IN: loaded serial 2008030901 OK
# /etc/init.d/bind9 restart
# cat /var/log/syslog | grep named Mar 9 18:07:50 srvlan named[2383]: exiting Mar 9 18:07:53 srvlan named[2476]: starting BIND 9.3.4 -u bind Mar 9 18:07:53 srvlan named[2476]: found 1 CPU, using 1 worker thread Mar 9 18:07:53 srvlan named[2476]: loading configuration from '/etc/bind/named.conf' Mar 9 18:07:53 srvlan named[2476]: listening on IPv4 interface lo, 127.0.0.1#53 Mar 9 18:07:53 srvlan named[2476]: listening on IPv4 interface eth0, 192.168.20.2#53 Mar 9 18:07:53 srvlan named[2476]: command channel listening on 127.0.0.1#953 Mar 9 18:07:53 srvlan named[2476]: zone 0.in-addr.arpa/IN: loaded serial 1 Mar 9 18:07:53 srvlan named[2476]: zone 127.in-addr.arpa/IN: loaded serial 1 Mar 9 18:07:53 srvlan named[2476]: zone 20.168.192.in-addr.arpa/IN: loaded serial 2008030901 Mar 9 18:07:53 srvlan named[2476]: zone 255.in-addr.arpa/IN: loaded serial 1 Mar 9 18:07:53 srvlan named[2476]: zone maison.lan/IN: loaded serial 2008030901 Mar 9 18:07:53 srvlan named[2476]: zone localhost/IN: loaded serial 1 Mar 9 18:07:53 srvlan named[2476]: running
# host -v srvlan.maison.lan Trying "srvlan.maison.lan" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35591 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;srvlan.maison.lan. IN A ;; ANSWER SECTION: srvlan.maison.lan. 86400 IN A 192.168.20.2 ;; AUTHORITY SECTION: maison.lan. 86400 IN NS srvlan.maison.lan. Received 65 bytes from 192.168.20.2#53 in 6 ms Trying "srvlan.maison.lan" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63209 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;srvlan.maison.lan. IN AAAA ;; AUTHORITY SECTION: maison.lan. 86400 IN SOA srvlan.maison.lan. root.maison.lan. 2008030901 604800 86400 2419200 604800 Received 76 bytes from 192.168.20.2#53 in 4 ms Trying "srvlan.maison.lan" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64979 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;srvlan.maison.lan. IN MX ;; AUTHORITY SECTION: maison.lan. 86400 IN SOA srvlan.maison.lan. root.maison.lan. 2008030901 604800 86400 2419200 604800 Received 76 bytes from 192.168.20.2#53 in 4 ms
ou
# dig SOA maison.lan ; <<>> DiG 9.3.4 <<>> SOA maison.lan ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15634 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;maison.lan. IN SOA ;; ANSWER SECTION: maison.lan. 86400 IN SOA srvlan.maison.lan. root.maison.lan. 2008030901 604800 86400 2419200 604800 ;; AUTHORITY SECTION: maison.lan. 86400 IN NS srvlan.maison.lan. ;; ADDITIONAL SECTION: srvlan.maison.lan. 86400 IN A 192.168.20.2 ;; Query time: 7 msec ;; SERVER: 192.168.20.2#53(192.168.20.2) ;; WHEN: Sun Mar 9 18:25:46 2008 ;; MSG SIZE rcvd: 106
# ping srvlan.maison.lan
et
# ping www.google.fr
Maintenant que notre DNS est opérationnel, il va falloir le rendre plus performant ! Actuellement, il s’occupe des résolutions de la zone maison.lan mais aussi des résolutions externes pour les machines du réseau et construit son cache en fonction. De façon à réduire sa charge de travail, on peut faire en sorte que cette seconde tâche soit dévolue au serveur DNS “supérieur”.
search maison.lan nameserver 192.168.20.2
// Reference aux serveurs racines //zone "." { // type hint; // file "/etc/bind/db.root"; //};
options { directory "/var/cache/bind"; // query-source address * port 53; forward only; forwarders { xxx.xxx.xxx.xxx; // dns1 de votre FAI xxx.xxx.xxx.xxx; // dns2 de votre FAI }; auth-nxdomain no; # conform to RFC1035 allow-recursion { localnets; }; };
RESOLVCONF=no
RESOLVCONF=no permet de ne pas se faire écraser notre configuration dans le /etc/resolv.conf par un DHCP par exemple.
# /etc/init.d/bind9 restart
Dans notre exemple, le serveur DNS secondaire s’intitule SRVDMZ et a pour IP 192.168.8.3. Il est en réseau avec le primaire sur son interface en 192.168.8.2
// Les zones zone "maison.lan" { type master; file "db.maison.lan"; allow-update { none; }; notify yes; allow-transfer { 192.168.8.3; }; }; zone "20.168.192.in-addr.arpa" { type master; file "rev.maison.lan"; allow-update { none; }; notify yes; allow-transfer { 192.168.8.3; }; };
@ IN NS srvdmz.maison.lan.
@ IN NS srvdmz.maison.lan.
/etc/bind/named.conf.options
options { directory "/var/cache/bind"; query-source address * port 53; forward only; forwarders { 212.27.54.252; 212.27.53.252; }; auth-nxdomain no; # conform to RFC1035 allow-recursion { 192.168.8.0/24; 192.168.20.0/24; }; };
/etc/bind/named.conf
Ce fichier reste identique au serveur principal
/etc/bind/named.conf.local
// Les zones zone "maison.lan" { type slave; notify no; masters { 192.168.8.2; }; file "db.maison.lan"; }; zone "20.168.192.in-addr.arpa" { type slave; notify no; masters { 192.168.8.2; }; file "rev.maison.lan"; };
Pas de fichiers de zone à faire ici, puisqu’ils seront créés lors de la synchronisation avec le serveur primaire !
nameserver 192.168.8.3
127.0.0.1 localhost.localdomain localhost 192.168.8.3 srvdmz.maison.lan srvdmz
Debian : Installer un serveur DHCP Outils Historique Version imprimable Table des matières INTRODUCTIONINSTALLATION DE DHCPCONFIGURATION…
I. Présentation Le service DHCP est très répandu dans les entreprises afin de distribuer une…
Préalables pour le lecteur : pour tirer le maximum de profit de la lecture de cet…
Imagemagick Imagemagick est un logiciel ultra-puissant qui s'utilise en ligne de commande et qui permet de…
Mesures de sécurité essentielles à WordPress 1- Le compte Admin En premier lieu, quelque soit…
Activer le mode maintenance sur WordPress Le mode de maintenance de WordPress est activable par…