DNS Bind9
Transcription
DNS Bind9
Bind 9 Serveur DNS LIEN IMPORTANTS: http://coagul.org/drupal/node/140/ http://doc.ubuntu-fr.org/bind9 http://www.commentcamarche.net/contents/internet/dns.php3 Service TCP/IP permettant la correspondance entre un nom de domaine et une adresse IP: Structure du System DNS: Un system DNS est composé de plusieurs serveurs distribués permettant de rendre disponible l'espace de noms hiérarchique permettant de garantir l'unicité d'un nom dans une structure arborescente: – La racine permet de “rattacher tout les TLD”, elle est représenté par un . – Les TLD (Top Level Domains) correspondent aux domaines de plus haut niveau. Ils sont scindés en deux catégories: – Les gTLD (generic TLD) proposant une classification selon le secteur d'activité comme: – .com : pour commercial; – .edu : pour les organismes éducatifs; – .org : pour les entreprises à but non lucratifs ... – Les ccTLD (Country code TLD) correspondant aux différents pays – fr : france; – in : inde … – Le nom de domaine correspond à l'ensemble des étiquettes des nœud d'une arborescence sauf l'hôte – exemple : commentcamarche.net – le FQN (Fully Qualified Domain Name) est unique, il correspond à l'ensemble de toute les étiquette des nœuds jusqu’à la racine comprise, soit :” www.commentcamarche.net.” – L'hôte correspond à un hôte réseau comme par exemple www pour le nom d'un serveur web. Ce nom d'hôte doit être unique dans son sous-domaine. Chaque serveur de nom est déclaré dans un serveur de nom de domaine immédiatement supérieur. Chaque entité est responsable de la gestion de son nom de domaine. Il existe normalement un serveur secondaire pour chaque domaine qui prend le relais en cas de panne. Résolution de noms de domaine: Lorsqu'une application souhaite ce connecter à un hôte connu par son nom de domaine (ex: www.siteduzero.com), une requête est envoyée au premier serveur de noms (serveur primaire). Si celui-ci ne possède pas l'enregistrement dans son cache,il va interroger un serveur racine, le serveur racine renvoie une liste de serveurs de noms faisant autorité sur le domaine demandé, Le serveur primaire va pouvoir ensuite interroger et retourner l'enregistrement correspondant à l'hôte sur le domaine. Pourquoi installer un serveur DNS? -Éviter de tenir à jour la table hosts de chaque poste client d'un réseau. -Avoir un cache DNS qui accélère la recherche des noms. -Sur un réseau locale, un serveur DNS permet d'accélérer le trafic sur le réseau car de nombreux services ont besoin d'un serveur DNS bien configuré pour fonctionner (WEB, POP, SMTP, …) Types d'enregistrement: -Type A (Address) : fait correspondre une adresse IP à un nom de machine; www IN A 192.168.1.1 -Type CNAME (Alias): créé un alias depuis un enregistrement de type A; mail IN A www -Type MX (Mail Exchange) : Définit vers quel serveur de la zone un e mail à destination du domaine doit être envoyé, et avec quelle priorité. Il doit pointer vers un enregistrement de type A. (Il peut y avoir plusieurs enregistrements MX s'il existe plusieurs serveurs de messagerie sur le domaine) IN MX 10 mail.polodomain.lan. mail IN A 192.168.1.1 -Type NS (Name Server): Définit quels serveurs répondent pour cette zone. Cet enregistrement doit pointer vers un enregistrement de type A. On y définit le serveur maître et les esclaves (pas les furtifs). IN NS ns.polodomain.lan. […] ns IN A 192.168.1.1 -SOA : (Start Of Authotity): indique le serveur de nom ayant autorité sur la zone, ainsi que l'adresse mail du contact technique (dont @ est remplacé par un “.”) -PTR : un pointeur vers une autre partie de l'espace de noms de domaines. Type d'utilisation du serveur Bind Serveur cache Dans cette configuration, BIND9 va effectuer les requêtes DNS et se rappeler de la réponse pour la prochaine requête. Cette méthode peut être utile pour une connexion internet lente. En mettant les réponses DNS en cache, on augmente la bande passante et on réduit également le temps de latence. Serveur maître Utilisé pour contenir les enregistrements DNS d'un nom de domaine enregistré. Un ensemble d'enregistrements DNS pour un nom de domaine est appelé une “zone”. (Le nom de domaine peut être imaginaire si on est dans le cas d'un réseau local fermé). Serveur esclave Utilisé en complément à un serveur maître, en servant de copie à la ou les zones configurées sur le serveur principal. Les serveurs secondaires sont recommandés sur des gros réseau. Ceux-ci assurent la disponibilité de la zone DNS, même si le serveur maître est hors ligne. Serveur Hybrides Combines les configurations présentées. Serveurs furtifs C'est la configuration d'un serveur maître ou esclave mais de façon à n'être visible qu'à l'intérieur du domaine. (Pas interroger depuis Internet) Serveurs Récursifs / Non récursifs Par défaut Récursif sous Bind9, ils interrogent tour à tour les serveurs DNS nécessaires jusqu'à obtenir la réponse, et la transmettre à leur client. Dans l'autre cas, le serveur DNS délègue la résolution du nom de domaine à un autre serveur DNS. Bind étant le serveur DNS le plus répandu et le plus reconnu, le tuto portera donc sur bind9. Pour ce Tuto Nous allons étudier uniquement le fonctionnement d'un serveur Maître. Avant propos: Le nom de domaine polo-domain.lan est à titre d'exemple et peut être remplacé par n'importe quel autre nom. Les nom venant avant le nom de domaine : exemple ns.polo-domain.lan correspond au nom de l’hôte. Schéma du réseau de test pour l'installation: Vérifications: Premièrement vérifier le fichier /etc/host.conf → order hosts, bind multi on La première ligne indique au system de commencer la recherche DNS en regardant la table hosts et ensuite si il n'y a pas de correspondance, interroger le serveur DNS Bind. La table /etc/hosts → 127.0.0.1 192.168.1.2 localhost ns.polo-domain.lan La première ligne est obligatoire pour que le système fonctionne même sans réseau. Les autres lignes font la correspondance entre nom et IP en l'absence de serveur DNS. Si le résultat n'est pas trouvé dans la table hosts, alors il recherchera le serveur DNS indiqué dans le fichier /etc/resolv.conf → domain polo-domain.lan #Nom du domaine. search polo-domain.lan #Nom ajouter lors de la résolution de nom nameserver 192.168.1.2 #(Ip du DNS primaire) #nameserver X.X.X.X (Ip du DNS secondaire) Installation du serveur: # apt-get install bind9 Installation d'outils et de documentation pratique: #apt-get install dnsutils bind9-doc Configuration Serveur Maître Les Fichiers de configuration sont présent dans: /etc/bind/ Procédure à faire pour chaque nouvelle zone: -Ajouter une nouvelle zone dans le fichier: named.conf.local zone “polo-domain.lan” { type master; file “/etc/bind/db.polo-domain.lan”; }; #Indique le nom du domaine #Indique le type serveur de Bind #fichier de correspondance Ip/Noms zone “0.168.192.in-addr.arpa” { type master; file “/etc/bind/db.192”; notify no; }; -Copier le fichier d'une zone existante comme modèle: cp /etc/bind/db.local /etc/bind/db.polo-domain.lan Éditer le nouveau fichier pour la zone db.polo-domain.lan $TTL 604800 @ IN SOA ns.polo-domain.lan. admin.polo-domain.lan. ( 2011121502 ; Serial #A changer à chaque modifications ! (Date US + 01) ... 604800 ; Refresh #Délai avant que le serveur esclave vérifie que le serveur 86400 ; Retry maître répond bien. 2419200 ; Expire 604800 ) ; Negative cache TTL #Durée de vie minimum du cache ; @ ns dhcp IN IN IN NS A A ns.polo-domain.lan. 192.168.1.2 192.168.1.3 ; permet au serveur de se reconnaître ; idem ; Nom correspondant au serveur dhcp -Copier le fichier db.127 → db.192 Éditer le fichier db.192 $TTL 604800 @ IN SOA ns.polo-domain.lan. admin.polo-domain.lan. ( 2011121502 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative cache TTL ; @ IN NS ns. 2 IN PTR ns.polo-domain.lan. ; #1er Chiffre à remplacer par le dernier Octet de l'IP du ; serveur - Il faut maintenant redémarrer le démon sudo service bind9 restart -Vérifier les logs si besoin: tail -50 /var/log/syslog Effectuer des Tests: -ping ns -named-checkzone polo-domain.lan /etc/bind/db.polo-domain.lan -named-checkzone polo-domain.lan /etc/bind/db.192 -host ns -host 192.168.1.2 -nslookup ns -nslookup 192.168.1.2 -dig 0.168.192.in-addr.arpa. AXFR -dig ns.polo-domain.lan -dig -x 192.168.1.2 --ANNEXE-Il ne faut pas oublier de bien configurer l'interface réseau du DNS dans /etc/network/interface Édition du DHCP : Il ne faut pas oublier de renseigner les lignes suivantes dans le serveur DHCP : (/etc/dhcp/dhcpd.conf) option domain-name-servers 192.168.1.2 ; option domain-name « polo-domain.lan » ; De plus il faut pour plus de cohérence et de sécurité rajouter un serveur Esclave qui prendra le relais du DNS primaire en cas de défaillance : Configuration d'un serveur esclave (...)
Documents pareils
Compte rendu DNS
Copier le fichier db.local afin de s’en servir comme base de travail : cp /etc/bind/db.local
/etc/bind/db.domaine.lan
Modifier le fichier /etc/bind/db.domaine.lan
Afin de rajouter des alias (CNAME ...
BIND : installer un serveur DNS
de @, vous auriez très bien pu indiquez bureau.lan. (n'oubliez pas le "." à la fin !!!).
Ensuite, on indique IN qui signifie que l'on a affaire à une zone Internet; c'est pour ainsi dire toujours
l...