Serveur DNS avec Bind
I- Installation et configuration d'un serveur primaire :
Installation :
apt install bind9
Le fichier named.conf.options
Modifier le fichier /etc/bind/named.conf.options :
Définir le serveur DNS qui répondra si le votre ne connait pas un nom de domaine. En général il faut choisir celui du FAI ou celui de votre entreprise, si il y en a déjà un. Si vous ne connaissez pas l'adresse du serveur DNS, choisissez un DNS public qui ne vous espionne pas, par exemple ceux de FDN :
forwarders {
80.67.169.12;
80.67.169.40;
};
Les autres options ne sont pas à changer.
Créer une zone primaire :
Ajouter à la suite du fichier /etc/bind/named.conf.local une zone (votre nom de domaine) :
zone "mondomaine.com" {
file "/etc/bind/mondomaine.com.zone";
type master;
};
Puis allez dans le fichier de zone (pour moi /etc/bind/mondomaine.com.zone)
Le fichier de zone :
Le fichier de zone /etc/bind/mondomaine.com.zone est à créer.
Dans ce fichier, vous devez commencer par écrire les lignes suivantes (remplacez mondomaine.com par votre nom de domaine) :
$TTL 86400
$ORIGIN esiee.fr.
@ IN SOA ns.mondomaine.com. hostmaster.mondomaine.com. (
2019022187 ; Serial
7200 ;
3600 ;
604800 ;
86400 ) ;
Toujours dans votre fichier de zone, continuez en tapant les lignes suivantes (remplacez mondomaine.com par votre nom de domaine) :
IN NS ns.mondomaine.com.
IN MX 10 mail.mondomaine.com.
Puis renseignez l'adresse de votre serveur (pour l'exemple 1.1.1.1) puis le nom et l'adresse de toutes les machines que vous voulez renseigner, puis tous les alias :
ns IN A 192.168.0.1
mail IN A 192.168.0.2
www IN A 192.168.0.10
Enfin, vous pouvez donner des alias aux noms déjà créé, par exemple :
smtp IN CNAME mail.mondomaine.com.
pop IN CNAME mail.mondomaine.com.
imap IN CNAME mail.mondomaine.com.
www2 IN CNAME www.mondomaine.com.
II- Serveur secondaire :
Pour faire un serveur secondaire, vous devez déclarer une nouvelle zone en tant qu'esclave et simplement indiquer l'adresse du serveur principal dans masters :
zone "mondomaine.com" {
type slave;
masters {192.168.251.202;} ;// Adresse du principal
file "/var/cache/bind/mondomaine.com";
};
Pour vérifier que la zone est transférée, redémarrez le serveur secondaire et vérifiez que le fichier de zone (ici /var/cache/bind/mondomaine.com) a bien été rempli automatiquement.
III- Sécurité des transferts de zones :
Pour éviter qu'une machine non connue puissent obtenir l'intégralité des fichiers de zones, il est très important de sécuriser les transferts de zone, le plus simple étant de définir une clé partagée entre le serveur principal et le(s) serveur(s) secondaire(s).
Création du secret :
On commence par installer les outils de sécurité DNS :
apt install opendnssec
Puis on crée une clé partagée :
dnssec-keygen -a hmac-md5 -b 512 -n HOST primaire-secondaire
Dans le fichier named.conf.options du principal, indiquez la clé de la manière suivante :
key primaire-secondaire. {
algorithm hmac-md5;
secret "d8e8fca2dc0f896fd7cb4cb0031b2dc0f896fd7cb4cb0031ba249";
};
Dans le fichier named.conf.options du serveur secondaire :
key primaire-secondaire. {
algorithm hmac-md5;
secret «d8e8fca2dc0f896fd7cb4cb0031b2dc0f896fd7cb4cb0031ba249»;
};
server 192.168.0.1 {
keys {
key primaire-secondaire.;
}
};
IV- Vérifications :
Côté serveur :
Redémarrer le serveur Bind avec :
service bind9 restart
Vous pouvez vérifier les fichiers named.conf avec la commande :
named-checkconf
Si vous n'avez pas de réponse, tout va bien !
Vous pouvez vérifier les fichiers de zone avec la commande :
named-checkzone mondomaine.com /var/cache/bind/mondomaine.com
Si la dernière ligne dit OK, tout va bien !
Le journal système permet de consulter les erreurs et les avertissements :
tail /var/log/syslog
Côté client :
N'oubliez pas de faire pointer votre client DNS vers votre serveur :
Sous Windows dans les paramètres IP et sous Linux avec cette commande :
echo "nameserver <IP du serveur DNS>" > /etc/resolv.conf
Testez votre serveur avec la commande nslookup :
nslookup mondomaine.com