Différences entre versions de « DNS »
Ligne 175 : | Ligne 175 : | ||
Le contenu du fichier ''tala-informatique.fr'' est le suivant: | Le contenu du fichier ''tala-informatique.fr'' est le suivant: | ||
<pre> | <pre> | ||
− | |||
− | |||
; Précise au client que la durée de validité des informations de noms | ; Précise au client que la durée de validité des informations de noms | ||
$TTL 86400 | $TTL 86400 | ||
; Début de la déclaration State Of Autority (SOA) | ; Début de la déclaration State Of Autority (SOA) | ||
− | tala-informatique.fr. | + | tala-informatique.fr. IN SOA dns.tala-informatique.fr. root.tala-informatique.fr. ( |
− | 0 ; serial | + | 0 ; serial |
− | 21600 | + | 21600 ; refresh after 6 hours |
− | 3600 | + | 3600 ; retry after 1 hour |
− | 604800 | + | 604800 ; expires after 1 week |
− | 86400 ) | + | 86400 ) ; minimum TTL of 1 day |
− | + | ; pour les serveurs de nom | |
− | + | IN NS dns.tala-informatique.fr. | |
− | + | ; Pour les serveurs de mails on indique un poid | |
− | + | IN MX 10 mail.tala-informatique.fr. | |
− | + | IN MX 20 mail2.tala-informatique.fr. | |
; Enregistrement direct | ; Enregistrement direct | ||
− | dns | + | dns.tala-informatique.fr. IN A 192.168.200.253 |
; Enregistrement direct | ; Enregistrement direct | ||
− | mail | + | mail.tala-informatique.fr. IN A 192.168.200.252 |
; Enregistrement direct | ; Enregistrement direct | ||
− | mail2 | + | mail2.tala-informatique.fr. IN A 192.168.200.251 |
; Alias mx <=> mail <=> 192.168.200.252 | ; Alias mx <=> mail <=> 192.168.200.252 | ||
− | mx | + | mx.tala-informatique.fr. IN CNAME mail.tala-informatique.fr. |
; Alias mx2 <=> mail2 <=> 192.168.200.251 | ; Alias mx2 <=> mail2 <=> 192.168.200.251 | ||
− | mx2 | + | mx2.tala-informatique.fr. IN CNAME mail2.tala-informatique.fr. |
</pre> | </pre> | ||
Ligne 209 : | Ligne 207 : | ||
<pre> | <pre> | ||
zone "tala-informatique.fr" IN { | zone "tala-informatique.fr" IN { | ||
− | + | ; Le serveur est maître pour cette zone | |
− | + | type master; | |
− | + | ; On indique le fichier de zone | |
− | + | file "tala-informatique.fr"; | |
− | + | ; On précise si on autorise les mises à jours (ici non, parce que le serveur est maître) | |
− | + | allow-update { none; }; | |
}; | }; | ||
</pre> | </pre> |
Version du 22 décembre 2013 à 20:21
Serveur | |
---|---|
Protocole | udp |
Port | 53 |
Configuration Iptables | iptables -I INPUT 2 -p udp --dport 53 -j ACCEPT |
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 { # Adresse d'écoute pour IPv4 listen-on port 53 { 127.0.0.1; }; # Adresse d'écoute pour IPv6 listen-on-v6 port 53 { ::1; }; # Emplacement des fichiers de zones 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"; # Réseaux auxquels BIND répondra allow-query { localhost; }; # Autorise les recherches récursives 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 !
Ajout d'une zone
Le fichier de zone
Les fichiers de zones se trouvent dans le répertoire /var/named et respecte la syntaxe suivante, pour un réseau tala.informatique.fr ayant comme plan d'adressage 192.168.200.0/24:
- le fichier de recherche directe: tala-informatique.fr / tala-informatique.fr.db
- le fichier de recherche inverse: 200.168.192.in-addr.arpa
Le contenu du fichier tala-informatique.fr est le suivant:
; Précise au client que la durée de validité des informations de noms $TTL 86400 ; Début de la déclaration State Of Autority (SOA) tala-informatique.fr. IN SOA dns.tala-informatique.fr. root.tala-informatique.fr. ( 0 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expires after 1 week 86400 ) ; minimum TTL of 1 day ; pour les serveurs de nom IN NS dns.tala-informatique.fr. ; Pour les serveurs de mails on indique un poid IN MX 10 mail.tala-informatique.fr. IN MX 20 mail2.tala-informatique.fr. ; Enregistrement direct dns.tala-informatique.fr. IN A 192.168.200.253 ; Enregistrement direct mail.tala-informatique.fr. IN A 192.168.200.252 ; Enregistrement direct mail2.tala-informatique.fr. IN A 192.168.200.251 ; Alias mx <=> mail <=> 192.168.200.252 mx.tala-informatique.fr. IN CNAME mail.tala-informatique.fr. ; Alias mx2 <=> mail2 <=> 192.168.200.251 mx2.tala-informatique.fr. IN CNAME mail2.tala-informatique.fr.
Déclaration dans la configuration de named
Maintenant que le fichier de recherche directe est créé, il faut indiquer à named de quoi il retourne. A la fin du fichier /etc/named.conf ajoutons les lignes suivantes:
zone "tala-informatique.fr" IN { ; Le serveur est maître pour cette zone type master; ; On indique le fichier de zone file "tala-informatique.fr"; ; On précise si on autorise les mises à jours (ici non, parce que le serveur est maître) allow-update { none; }; };