Installer un serveur DNS avec Bind9
Installer un serveur DNS avec Bind9
Installer Bind9
1 | $ sudo apt-get install bind9 |
Fichier de configuration de Bind9
Les fichiers de configuration se trouve dans : /etc/bind/
named.conf.default-zone
contient les zones par défaut : forward, reverse et broadcast.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
zone "example.domainename.net" {
type master;
file "/etc/bind/db.example.domainename.net";
}named.conf.option
contient l’ensemble des options de configurations du serveur DNS.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37options {
directory "/etc/bind/";
// Port d'échange entre les serveurs DNS
//query-source address * port *;
// Transmettre les requêtes à 192.168.1.1 si ce serveur ne sait pas résoudre ces adresses.
// On pourrait aussi bien renseigner les serveurs DNS du FAI plutôt que de renseigner
// l'adresse IP du routeur (xxxbox)
//forward only;
//forwarders { 192.168.1.1; }; //ou 8.8.8.8 pour garder un accès à internet
auth-nxdomain no; # conform to RFC1035
// À partir de 9.9.5 ARM, désactiver le scan des interfaces pour éviter l'arrêt inopiné de l'écoute
interface-interval 0;
// Ecouter sur les interfaces locales uniquement (IPV4)
//listen-on-v6 { none; };
//listen-on-v6 { any; };
//listen-on { 127.0.0.1; 192.168.0.1; };
listen-on { any; };
// Ne pas transférer les informations de zones aux DNS secondaires
allow-transfer { none; };
// Accepter les requêtes pour le réseau interne uniquement
allow-query { internals; };
// Autoriser les requêtes récursives pour les hôtes locaux
allow-recursion { internals; };
// Ne pas rendre publique la version de BIND
version none;
pid-file "/var/run/named.pid";
};Création du fichier Ressources Records (RR)
Un DNS est constitué de plusieurs enregistrements, les RR ou Ressources Records, définissant les diverses informations relatives au domaine. Le premier enregistrement est consacré à la résolution de noms, dans notre cas, il s’agit du fichier
db.example.domainename.net
. Le second sera quant à lui en rapport avec la résolution de noms inverses ; il s’agit du fichierdb.example.domainename.net.inv
.
Créer le fichier db.example.domainename.net
dans /etc/bind/
:
1 | 3600 |
Quelques explications :
$TTL: (Time To Live) exprime la duree (en secondes) de validité, par défaut, des informations que contiennent les RRs. Une fois ce délai expiré, il est nécessaire de vérifier à nouveau les données. Les différents types :
SOA: permet de définir les informations relatives à la zone. En l’occurrence le nom du serveur DNS primaire
"sid.example.domainename.net."
et l’adresse mail du contact technique (root.example.domainename.net.
; le @ est remplace par un point). Il est compose de plusieurs champs :Serial : est un entier non signé 32 bits. C’est le numéro de série à incrémenter à chaque modification du fichier. Il permet au serveur secondaire de recharger les informations qu’ils ont. L’usage général vient à le formater de cette manière YYYYMMDDXX, soit pour la première modification du 01/04/2007 -> 2007040101, pour la seconde 2007040102.
Refresh : définit la période de rafraîchissement des données.
Retry : si une erreur survient au cours du dernier rafraîchissement, celle-ci sera répétée au bout du délai Retry.
*Expire *: le serveur sera considéré comme non disponible au bout du délai Expire.
Negative cache TTL : définit la durée de vie d’une réponse NXDOMAIN de notre part.
NS : renseigne le nom des serveurs de noms pour le domaine.
MX : renseigne sur le serveur de messagerie. Plusieurs peuvent être définis. Ainsi, il est possible de leur donner une priorité en leur affectant un numéro. Plus bas est le numéro, plus haute est la priorité.
A : associe une nom d’hôte à une adresse ipv4 (32 bits)
AAAA : associe une nom d’hôte à une adresse ipv6 (128 bits)
CNAME : identifie le nom canonique d’un alias (un nom pointant sur un autre nom)
PTR : c’est simplement la résolution inverse (le contraire du type A).
Les classes : IN determine l’association a la classe Internet. D’autres classes sont disponibles (CH et HS). Pour de plus amples informations vous pouvez consulter la RFC 1035.
Modification du fichier resolv.conf
Ce fichier indique au système le serveur DNS à utiliser.
Dans /etc/resolv.conf
:
1 | nameserver 192.168.0.1 // @IP du serveur DNS |
Vérification des configurations
1 | root@root# named-checkconf /etc/bind/named.conf |
utiliser
nslookup
pour voir si le serveur DNS arrive à repondre aux requêtes etping
Quelques infos
- Pour connaitre le nom du pc :
cat /etc/hostname
- Attribuer des noms d’hôtes à chacune des adresses IP dans
/etc/hosts
- Activer le mode debug de bind :
/usr/sbin/named -d9 -g -u bind
- Sur Windows, ne pas oublier de vider le cache :
ipconfig /flushdns