Différences entre versions de « DNS »
| Ligne 166 : | Ligne 166 : | ||
Il ne nous reste plus qu'à déclarer une zone ! | 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: | ||
| + | <pre> | ||
| + | ; Permet d'ajouter automatiquement tala-informatique.fr après chaque noms d'hôte ou @ | ||
| + | $ORIGIN tala-informatique.fr | ||
| + | ; 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) | ||
| + | @ IN SOA dns root ( | ||
| + | 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 | ||
| + | ; Pour les serveurs de mail | ||
| + | IN MX 10 mail | ||
| + | ; Enregistrement direct | ||
| + | dns IN A 192.168.200.253 | ||
| + | ; Enregistrement direct | ||
| + | mail IN A 192.168.200.252 | ||
| + | ; Alias mx <=> mail <=> 192.168.200.252 | ||
| + | mx IN CNAME mail | ||
| + | </pre> | ||
Version du 22 décembre 2013 à 20:02
| 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:
; Permet d'ajouter automatiquement tala-informatique.fr après chaque noms d'hôte ou @
$ORIGIN tala-informatique.fr
; 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)
@ IN SOA dns root (
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
; Pour les serveurs de mail
IN MX 10 mail
; Enregistrement direct
dns IN A 192.168.200.253
; Enregistrement direct
mail IN A 192.168.200.252
; Alias mx <=> mail <=> 192.168.200.252
mx IN CNAME mail