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