La principale fonction d'un serveur de noms (Domain Name System) est
de traduire un nom de domaine en une (ou plusieurs) adresses IP.
La mise en place d'un serveur DNS sur un réseau permet de remplacer
les adresses IP des machines par un nom. Ainsi, il est même possible
d'associer plusieurs noms à la même machine pour mettre en évidence
les différents services possibles.
Nous devons disposer de deux machines linux. On doit installer le service bind9 dans les deux hôtes avec la commande 1):
apt-get install bind9
Quelques notions essentielles avant de configurer les serveurs.
c'est-à-dire test.test.igpro-online.net).
On utilisera le nom de domaine mederis.net et deux Addresses IP :
62.210.103.156 pour le master et 62.210.139.88 pour le slave.
bind a les bonnes permission /etc/bind/-rw-r--r-- 1 root bind 463 Jan 15 2018 named.conf
named.conf.options , dans la section optionsoptions { ... dnssec-enable yes; dnssec-validation auto; auth-nxdomain no; /* conform to RFC1035 */ listen-on { 127.0.0.1; 62.210.103.156; /* l'addresse IP du Master */ }; allow-transfer { 62.210.139.88; /* l'addresse IP du Slave */ }; ... };
zones dans le dossier bind et crée un fichier avec votre nom de domaine, ce dernier contiendra la configuration de votre zone$TTL 3600 test.mederis.net. IN SOA ns1.test.mederis.net. admin.test.mederis.net. ( 20 /* ;Serial */ 600 /* ;Refresh */ 3600 /* ;Retry */ 604800 /* ;Expire */ 3600 /* ;Minimum */ ) /* ;Nameservers */ test.mederis.net. IN NS ns1.test.mederis.net. test.mederis.net. IN NS ns2.test.mederis.net. /* ;Resolve Nameserver IPs */ ns1.test.mederis.net. IN A 62.210.103.156 ns2.test.mederis.net. IN A 62.210.139.88 /* ; Main Ip resolution */ test.mederis.net. IN A 62.210.139.88 /* ; CNAMEs */ lola.test.mederis.net. IN CNAME test.mederis.net.
A et l'autre de type NS chez votre fournisseur DNS./* # A records */ ns1.test.mederis.net. 900 A 62.210.103.156 # addresse IP Master ns2.test.mederis.net. 900 A 62.210.139.88 # addresse IP Slave /* # Name server */ test.mederis.net. 900 NS ns2.test.mederis.net. test.mederis.net. 900 NS ns1.test.mederis.net.
reverse dans le dossier /etc/bind/zones//* # /etc/bind/db.62.210.103 */ $TTL 3600 103.210.62.in-addr.arpa. IN SOA ns1.test.mederis.net. admin.test.mederis.net. ( 14 /* ; Serial */ 1h /* ; Refresh [1h] */ 10m /* ; Retry [10m] */ 1d /* ; Expire [1d] */ 10m) /* ; Negative Cache TTL [1h] */ /* ; Name Server */ 103.210.62.in-addr.arpa. IN NS ns1.test.mederis.net. /* ; PTR Records */ 158.103.210.62.in-addr.arpa. IN PTR ns1.test.mederis.net.
/* # /etc/bind/db.62.210.139 */ $TTL 3600 139.210.62.in-addr.arpa. IN SOA ns2.test.mederis.net. admin.test.mederis.net. ( 14 /* ; Serial */ 1h /* ; Refresh [1h] */ 10m /* ; Retry [10m] */ 1d /* ; Expire [1d] */ 10m) /* ; Negative Cache TTL [1h] */ /* ; Name Server */ 139.210.62.in-addr.arpa. IN NS ns2.test.mederis.net. /* ; PTR Records */ 158.103.210.62.in-addr.arpa. IN PTR ns2.test.mederis.net.
reverse dans le fichier named.conf.local... zone "103.210.62.in-addr.arpa" { type master; file "/etc/bind/zones/db.62.210.103"; notify yes; }; zone "139.210.62.in-addr.arpa" { type master; file "/etc/bind/zones/db.62.210.139"; notify yes; };
Bind9 en utilisant la commande (PS: À chaque reload après modification dans l'un des fichiers ne pas oublier pas d'incrémenter le numéro de série (serial) du fichier zone de votre domaine)sudo rndc reload # OR sudo systemctl restart bind9
Dans la configuration du Slave on va installer les mêmes dépendances qu'on a déjà installées dans le Master. Le but est que les deux serveurs puissent communiquer. Le serveur Master doit pouvoir faire un transfert de zone aux Slave
named.conf.optionsoptions{ ... dnssec-validation auto; auth-nxdomain no; /* # conform to RFC1035 */ allow-query { 127.0.0.1; 62.210.139.88; }; listen-on { 127.0.0.1; 62.210.139.88; }; listen-on { any; }; listen-on-v6 { any; }; allow-transfer { 51.15.188.118; 127.0.0.1; }; };
named.conf.localzone "test.mederis.net" IN { type slave; file "/etc/bind/zones/test.mederis.net"; masters { 62.210.103.156; }; }; zone "103.210.62.in-addr.arpa" { type slave; file "/etc/bind/zones/db.62.210.103"; masters { 62.210.103.156; }; }; zone "139.210.62.in-addr.arpa" { type slave; file "/etc/bind/zones/db.62.210.139"; masters { 62.210.103.156; }; };
Le DNSSEC permet de sécuriser l’authenticité de la réponse DNS. La
sécurité des données est effectuée à l’aide d’un mécanisme de clés
(KSK pour Key Signing Key & ZSK pour Zone Signing Key) qui signe
les enregistrements DNS de sa propre zone.
KSK & ZSK dans le dossier /etc/bind/ (dans ce cas on a utilisé l'algorithme NSEC3RSASHA1)# Passer à root pour pouvoir générer les clefs dnssec-keygen -a NSEC3RSASHA1 -b 4096 -n ZONE test.mederis.net # Generate ZSK KEYS dnssec-keygen -f KSK -a NSEC3RSASHA1 -b 4096 -n ZONE test.mederis.net # Generate KSK KEYS # Changer les noms des deux clefs générées par un nom symbolique mv Ktest.mederis...+0..key Ktest.mederis.net.ksk.key #ZSK public key mv Ktest.mederis...+0..key Ktest.mederis.net.ksk.private #ZSK private key mv Ktest.mederis...+0..key Ktest.mederis.net.ksk.key #KSK public key mv Ktest.mederis...+0..key Ktest.mederis.net.ksk.private #KSK private key
/etc/bind/zones/test.mederis.net$INCLUDE "/etc/bind/Ktest.mederis.net.ksk.key" ; $INCLUDE "/etc/bind/Ktest.mederis.net.zsk.key" ;