Decouverte et installation de Bind9
Sur ce poste, je vais apprendre comment installer et utiliser BIND9. Mais tout d’abord c’est quoi Bind9, c’est un serveur DNS tout simplement. Un serveur DNS c’est comme un annuaire, pour le vous donner un exemple, voici un schema explicatif :
Dans ce schema plutot simple, nous pouvons voir que quand on tape sur le navigateur le site univ-pau.fr par exemple, le serveur BIND9, recherchera sur ces correspondances et nous donnera une reponse que notre navigateur comprendra.
Installation de Bind9
Maintenant que nous avons une idée sur ce qu’est un serveur DNS, nous allons passer à l’installation de Bind9. Pour cela, nous allons utiliser la commande suivante :
sudo apt install bind9 bind9utils bind9-doc
Cette commande va installer Bind9 ainsi que ses utilitaires et sa documentation. Les utilitaires sont des outils qui nous permettent de configurer et de gerer notre serveur DNS. Qui vont nous permettre de faire des requetes DNS, de tester notre serveur DNS, etc.
Configuration de Bind9
Maintenant que nous avons installé Bind9, nous allons passer à sa configuration. Pour cela, nous allons utiliser l’editeur de texte nano pour modifier le fichier de configuration de Bind9 qui se trouve dans le repertoire /etc/bind/named.conf.options.
sudo nano /etc/bind/named.conf.options
Sur ce fichier nous allons modifier les lignes suivantes :
acl LAN {
192.168.1.0/24;
};
options {
directory "/var/cache/bind";
allow-query { localhost; LAN; };
};
acl LAN*
: C’est une liste d’adresses IP qui sont autorisées à faire des requêtes DNS sur notre serveur DNS. Dans notre cas, nous avons autorisé les machines du réseau local à faire des requêtes DNS sur notre serveur DNS.
Sur le champ options, nous avons ajouté
bash allow-query { localhost; LAN; };
pour autoriser les requêtes DNS sur notre serveur DNS.
directory "/var/cache/bind";
: C’est le repertoire ou Bind9 va stocker les fichiers de cache.
Pour verifier que notre configuration est correcte, nous allons utiliser la commande suivante :
sudo named-checkconf
Avec cette commande on peut specifier le fichier de configuration que l’on veut verifier, dans notre cas, nous allons verifier le fichier /etc/bind/named.conf.options.
sudo named-checkconf /etc/bind/named.conf.options
Configuration des zones
Nous allons maintenant configurer les zones de notre serveur DNS. Pour cela, nous allons modifier le fichier /etc/bind/named.conf.local avec la commande suivante :
sudo nano /etc/bind/named.conf.local
Sur ce fichier, nous allons ajouter les lignes suivantes :
zone "makhal.lan" IN {
type master;
file "/etc/bind/zones/makhal.lan";
};
Sur ce fichier nous avons cree une zone qui s’appelle makhal.lan et qui est de type master. Le type master signifie que notre serveur DNS est le serveur primaire pour cette zone. Nous avons aussi specifie le fichier de zone qui se trouve dans le repertoire /etc/bind/zones/makhal.lan.
Maintenant nous allons creer le repertoire zones et le fichier de zone makhal.lan avec les commandes suivantes :
sudo mkdir /etc/bind/zones
sudo nano /etc/bind/zones/makhal.lan
Sur ce fichier nous allons ajouter les lignes suivantes :
$TTL 604800
@ IN SOA ns1.makhal.lan. admin.makhal.lan. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.makhal.lan.
@ IN A
ns1 IN A
Sur ce fichier nous avons specifie le TTL qui est le temps de vie du cache, le SOA qui est le nom du serveur primaire, le Refresh qui est le temps de rafraichissement du cache, le Retry qui est le temps d’attente avant de reessayer de contacter le serveur primaire, le Expire qui est le temps d’expiration du cache et le Negative Cache TTL qui est le temps de vie du cache negatif.
Apres ça, nous avons specifie le nom du serveur primaire.
Pour verifier que notre configuration est correcte, nous allons utiliser la commande suivante :
sudo named-checkconf
Avec cette commande on peut specifier le fichier de configuration que l’on veut verifier, dans notre cas, nous allons verifier le fichier /etc/bind/named.conf.local.
Maintenant on va verifier que notre fichier de zone est correcte avec la commande suivante :
sudo named-checkzone makhal.lan /etc/bind/zones/makhal.lan
Redemarrage de Bind9
Normallement, nous avons fini la configuration de notre serveur DNS, maintenant nous allons redemarrer Bind9 avec la commande suivante :
sudo systemctl restart bind9
Test de notre serveur DNS
Avant toute chose nous devons mettre l’addresse DNS du serveur DNS sur les machines clientes. Pour cela, nous allons modifier le fichier /etc/resolv.conf avec la commande suivante :
sudo nano /etc/resolv.conf
Sur ce fichier nous allons ajouter la ligne suivante :
nameserver ip_du_serveur_dns
Maintenant nous allons tester notre serveur DNS.
Sur une machine cliente ou vous avez configure votre serveur DNS, nous allons tester notre serveur DNS avec la commande suivante :
nslookup makhal.lan
Sur ce test, nous avons fait une requete DNS sur notre serveur DNS pour le domaine makhal.lan.
Et voila, nous avons fini la configuration de notre serveur DNS avec Bind9.