Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
wiki:services:dns [2016/03/21 18:03] manwefm |
wiki:services:dns [2017/06/21 18:42] donk [À MiNET] |
||
---|---|---|---|
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: | ||
+ | |||
+ | < | ||
+ | 157.159.40.55 | ||
+ | 172.16.0.55 | ||
+ | 192.168.14.10 | ||
+ | 192.168.16.4 | ||
+ | 192.168.102.55 | ||
+ | 192.168.103.55 | ||
+ | </ | ||
+ | |||
+ | les ip du DNS esclave sont: | ||
+ | |||
+ | < | ||
+ | 157.159.40.54 | ||
+ | 172.16.0.54 | ||
+ | 192.168.14.6 | ||
+ | 192.168.16.5 | ||
+ | 192.168.102.54 | ||
+ | 192.168.103.54 | ||
+ | </ | ||
+ | |||
+ | 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' | ||
+ | |||
+ | Ainsi, par exemple, pour une machine du VLAN d' | ||
+ | |||
+ | ===== 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 | ||
+ | </ | ||
+ | |||
+ | **Et honnêtement, | ||
+ | |||
+ | <code bash> | ||
+ | git pull origin master | ||
+ | </ | ||
+ | |||
+ | Si [[wiki: | ||
+ | |||
+ | ====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à < | ||
+ | |||
+ | Le numéro de série est de la forme | ||
+ | |||
+ | < | ||
+ | YYYMMDDxx | ||
+ | YYYY: année | ||
+ | MM: mois (toujours sur 2 chiffres!) | ||
+ | DD: jour | ||
+ | xx: numéro de révision 01, 02, 03... | ||
+ | </ | ||
+ | |||
+ | Si vous mettez à jours, pensez à utiliser cette syntaxe. | ||
+ | |||
+ | ==== S' | ||
+ | |||
+ | 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' | ||
+ | |||
+ | 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' | ||
+ | |||
+ | minet.net.db.103 : Données pour le vlan 103 | ||
+ | |||
+ | De même pour les ips d' | ||
+ | |||
+ | 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' | ||
+ | |||
+ | * 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' | ||
+ | * minet.net.db.INT : Si vous voulez que seul les gens de l'int et pas de l' | ||
+ | |||
+ | |||
+ | 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 / | ||
+ | * 3) positionnez-vous en suivant l' | ||
+ | |||
+ | Comment faire une entrée A: | ||
+ | |||
+ | * 1) utiliser la syntaxe suivante en respectant l' | ||
+ | * 2) reponse | ||
+ | * 3) mettre à jour le numero de série | ||
+ | * 4) vérifier qu'il n'y a pas d' | ||
+ | * 5) faite un reload de bind / | ||
+ | |||
+ | ==== S' | ||
+ | |||
+ | 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' | ||
+ | |||
+ | Où placer vos records: | ||
+ | |||
+ | * 1) se connecter au ns1 (ip: 192.168.102.55) | ||
+ | * 2) aller dans le dossier **/ | ||
+ | * 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' | ||
+ | * 2) utiliser la syntaxe suivante en respectant l' | ||
+ | * 3) 42 | ||
+ | * 4) n' | ||
+ | * 5) mettez à jour le numero de série | ||
+ | * 6) vérifier qu'il n'y a pas d' | ||
+ | * 7) faites un reload de bind **/ | ||
+ | |||
+ | ===== Un peu plus loin dans la conf ===== | ||
+ | |||
+ | ==== Configuration des views ==== | ||
+ | |||
+ | Dans le fichier named.conf nous définissons nos **view**. Par exemple : | ||
+ | |||
+ | < | ||
+ | view " | ||
+ | match-clients { any; }; | ||
+ | |||
+ | include "/ | ||
+ | |||
+ | notify-source 157.159.40.55 port 53; | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | La vue s' | ||
+ | |||
+ | ==== Comment avoir un DNS esclave ? ==== | ||
+ | |||
+ | Tout d' | ||
+ | |||
+ | Dans les vues de ns2 il faut : | ||
+ | |||
+ | * Remplacer la ligne '' | ||
+ | * On lui dit qui c'est le patron : '' | ||
+ | |||
+ | Il faut ensuite autoriser les transferts ainsi que les notifications de changement entre ns1 et ns2. Sur chacun d' | ||
+ | |||
+ | Dans **named.conf.options**: | ||
+ | |||
+ | allow-transfer { dns-minet; dns-admin-minet; | ||
+ | allow-notify { dns-minet; dns-admin-minet; | ||
+ | |||
+ | Les trucs entre { } sont des ACLs (groupe d' | ||
+ | |||
+ | < | ||
+ | acl dns-int { | ||
+ | 157.159.10.12; | ||
+ | 157.159.10.13; | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | ===== En IPv6 ===== | ||
+ | |||
+ | On ajoute dans **/ | ||
+ | |||
+ | < | ||
+ | listen-on-v6 { | ||
+ | 2001: | ||
+ | }; | ||
+ | |||
+ | </ | ||
+ | |||
+ | Après le listen (ipv4). Et on ajoute les ipv6 de l'INT : | ||
+ | |||
+ | < | ||
+ | acl int { | ||
+ | 157.159.0.0/ | ||
+ | 2001: | ||
+ | }; | ||
+ | </ | ||
+ | Pour ajouter une entrée : | ||
+ | < | ||
+ | smtp IN AAAA 2001: | ||
+ | </ |