WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:services:dns

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

wiki:services:dns [2016/03/21 18:04]
manwefm
wiki:services:dns [2020/06/27 18:16]
Ligne 1: Ligne 1:
  
-====== Serveur DNS ====== 
- 
-Le DNS permet la traduction de nom en adresse IP (et inversement). Par exemple bindon.fr en 192.168.81.54. C'est un service essentiel au fonctionnement de MiNET. 
- 
-Si vous voulez un peu plus de théorie c'est ici. 
- 
-===== À MiNET ===== 
- 
-Minet possède deux serveurs DNS, un master (ns1.minet.net) et un en esclave sur le premier (ns2.minet.net).  
- 
-les ip du DNS master sont: 
- 
-<code> 
-    157.159.40.55 
-    172.16.0.55 
-    192.168.14.10 
-    192.168.102.55 
-    192.168.103.55  
-</code> 
- 
-les ip du DNS esclave sont: 
- 
-<code> 
-    157.159.40.54 
-    172.16.0.54 
-    192.168.14.6 
-    192.168.102.54 
-    192.168.103.54  
-</code> 
- 
-Le serveur DNS utilisé à minet est ​BIND9. 
- 
-Nous hébergeons chez nous la zone **minet.net**. Elle sert à la fois à la vitrine pour le monde entier et les adhérents, ainsi que pour nous, à l'administration des machines. Cette dualité est gérée par des vue sur le DNS : la réponse est différente suivant qu'on interroge le serveur à partir du monde entier ou à partir d'un VLAN d'administration. 
- 
-Ainsi, par exemple, pour une machine du VLAN d'admin, le vpn1 est 192.168.102.19 alors que pour le reste du monde c'est 157.159.40.19. C'est un peu comme si il y avait deux DNS en un ! 
- 
-===== Comment rajouter une entrée au DNS ===== 
- 
-==== Git c'est le bien  ==== 
- 
-Nous utilisons **git** pour garder un historique de notre configuration DNS. Ainsi, si vous travaillez directement sur **ns1** pensez à faire ceci une fois vos modifications faites : 
- 
-<code bash> 
-# On ajoute les modifications qu'on a faite au git... 
-git commit -am "Un message expliquant ce que vous avez fait" 
-# On les envoie sur gitlab 
-git push origin master 
-</code> 
- 
-**Et honnêtement, c'est mille fois mieux si vous le faites sur votre PC !!!** Une fois que vous avez récupéré le projet, il ne vous reste plus qu'à faire vos modifications, puis à les envoyer sur gitlab. Connectez vous ensuite sur **ns1** et récupérez les modification que vous avez faites : 
- 
-<code bash> 
-git pull origin master 
-</code> 
- 
-Si [[wiki:divers:git|git]] n'est pas votre fort ... 
- 
-====Considérations globales ==== 
- 
-Dans tous les cas vous ne devez modifier que les fichiers de configurations présents sur ns1, le serveur ns2 
-est esclave de ns1 et téléchargera automatiquement les modifications. 
- 
-Syntaxe pour le numéro de série : 
- 
-Le numéro de série comprend la date de la dernière modification qui a été effectué suivi du nombre de modification qui ont été effectuées ce jour là <datedevotremodification><nombredemodificationseffectuées> 
- 
-Le numéro de série est de la forme 
- 
-<code> 
-YYYMMDDxx 
-   YYYY: année 
-   MM: mois (toujours sur 2 chiffres!) 
-   DD: jour 
-   xx: numéro de révision 01, 02, 03... 
-</code> 
- 
-Si vous mettez à jours, pensez à utiliser cette syntaxe. 
- 
-==== S'occuper de la résolution de nom ==== 
- 
-Les ressources records A permettent de traduire ns1.minet.net en 157.159.40.55. 
-La zone minet possède plusieurs vues, i.e. les réponses du DNS sont fonctions de l'endroit où vous vous trouvez. 
- 
-Si vous voulez que le DNS réponde lorsque vous êtes dans le vlan 102 c'est ce fichiers qu'il faut éditer 
- 
-minet.net.db.102 : Données pour le vlan 102 
- 
-De même pour les ips d'administration du vlan de développement : 
- 
-minet.net.db.103 : Données pour le vlan 103 
- 
-De même pour les ips d'administration du wifi : 
- 
-minet.net.db.14 : Données pour le vlan 14 
- 
-Si vous voulez que le DNS réponde lorsque vous êtes soit à l'INT soit à l'extérieur c'est ces fichiers qu'il faut éditer : 
- 
-  * minet.net.db.ALL-INT-COMMON : partie commune (via un include) a ALL et INT si vous voulez que votre serveur ait un DNS public 
-  * minet.net.db.ALL : Si vous voulez que seul les gens de l'extérieur et pas de l'int ait accès (en général pas utile) 
-  * minet.net.db.INT : Si vous voulez que seul les gens de l'int et pas de l'extérieur ait accès (site du type me etc ...) 
- 
- 
-La logique veut que si vous éditer ALL-INT-COMMON vous ne devez éditer ALL et INT que pour modifier le numéro de série, ALL et INT incluent ALL-INT-COMMON. 
- 
-Où placer vos records : 
- 
-  * 1) se connecter au ns1 (ip: 192.168.102.55) 
-  * 2) aller dans le dossier /etc/bind/zones/minet/db 
-  * 3) positionnez-vous en suivant l'ordre alphabétique 
- 
-Comment faire une entrée A: 
- 
-  * 1) utiliser la syntaxe suivante en respectant l'indentation 
-  * 2) reponse                             IN      A       192.168.1.42 
-  * 3) mettre à jour le numero de série 
-  * 4) vérifier qu'il n'y a pas d'erreur grace au script /etc/bind/checkzones.sh 
-  * 5) faite un reload de bind /etc/init.d/bind9 reload 
- 
-==== S'occuper de la résolution de nom inverse ==== 
- 
-La résolution de nom inverse permet de traduire une adresse comme 157.159.40.55 en ns1.minet.net. 
-les résolutions inverses sont très rarement utilisées par les êtres humains mais assez souvent par les serveurs : 
- 
-lorsque vous vous connectez en ssh, le serveur fait une résolution de nom inverse sur votre ip pour mettre dans les logs qui vous êtes vraiment. 
-L'architecture mails de MiNET utilise souvent le DNS inverse. 
- 
-Où placer vos records: 
- 
-  * 1) se connecter au ns1 (ip: 192.168.102.55) 
-  * 2) aller dans le dossier **/etc/bind/zones/minet/rev** 
-  * 3) éditer le fichier minet.net.rev.102 si vous avez des ip dans le vlan 102, 100 si vous avez des ip dans le vlan 100 etc ... 
-  * 4) éditer également le fichier minet.net.rev.public-vlan si vous avez des ip dans le vlan 2 et 3 (des adresses publiques en sommes ^^) 
- 
-Comment faire une entrée reverse DNS: 
- 
-  * 1) respecter l'ordre numérique, si votre ip est 42 placer votre entré entre 41 et 43 
-  * 2) utiliser la syntaxe suivante en respectant l'indentation 
-  * 3) 42             IN      PTR     reponse.minet.net. 
-  * 4) n'oubliez surtout pas le point ^^ 
-  * 5) mettez à jour le numero de série 
-  * 6) vérifier qu'il n'y a pas d'erreur grace au script **/etc/bind/checkzones.sh** 
-  * 7) faites un reload de bind **/etc/init.d/bind9 reload** 
- 
-===== Un peu plus loin dans la conf ===== 
- 
-==== Configuration des views ==== 
- 
-Dans le fichier named.conf nous définissons nos **view**. Par exemple : 
- 
-<code> 
-view "all" { 
- match-clients { any; }; 
- 
- include "/etc/bind/named.conf.minet.all"; 
- 
- notify-source 157.159.40.55 port 53; 
-}; 
-</code> 
- 
-La vue s'appelle all, s'applique par défaut, on donne le fichier qui lui correspond, ainsi que la source. 
- 
-==== Comment avoir un DNS esclave ? ==== 
- 
-Tout d'abord, les fichiers dans ''/etc/bind'' doivent être édité sur les deux DNS : ns1 et ns2. La synchronisation entre maître et esclave ne porte que sur le contenu des zones. 
- 
-Dans les vues de ns2 il faut : 
- 
-  * Remplacer la ligne ''type master;'' par ''type slave;'' 
-  * On lui dit qui c'est le patron : ''masters { 157.159.40.55;};'' par exemple. 
- 
-Il faut ensuite autoriser les transferts ainsi que les notifications de changement entre ns1 et ns2. Sur chacun d'entre eux : 
- 
-Dans **named.conf.options**: 
- 
-    allow-transfer { dns-minet; dns-admin-minet; dns-int; dns-xname; }; 
-    allow-notify { dns-minet; dns-admin-minet; dns-int; dns-xname; }; 
- 
-Les trucs entre { } sont des ACLs (groupe d'utilisateurs) définis plus haut, par exemple : 
- 
-<code> 
-acl dns-int { 
- 157.159.10.12; 
- 157.159.10.13; 
-}; 
-</code> 
- 
-===== En IPv6 ===== 
- 
-On ajoute dans **/etc/bind/named.conf.options** : 
- 
-<code> 
-    listen-on-v6 { 
-                2001:660:3203:422::A54; 
-    }; 
- 
-</code> 
- 
-Après le listen (ipv4). Et on ajoute les ipv6 de l'INT : 
- 
-<code> 
-    acl int { 
-            157.159.0.0/16; 
-            2001:660:3203::/48; 
-    }; 
-</code> 
-Pour ajouter une entrée : 
-<code> 
-    smtp                 IN AAAA 2001:660:3203:422::A18 
-</code> 
wiki/services/dns.txt · Dernière modification: 2020/06/27 18:16 (modification externe)