dns
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| dns [2005/08/31 12:54] – schreiner | dns [2019/01/22 11:18] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== DNS ====== | ====== DNS ====== | ||
| + | FIXME | ||
| - | ===== Bind ===== | + | ===== Configuration statique et outils de gestion |
| + | ==== Bind 9.2.4 ==== | ||
| + | Ajouter la ligne suivante dans la section « options » du named.conf : | ||
| + | < | ||
| + | listen-on-v6 {any;}; | ||
| + | </ | ||
| + | ==== Gestion du DNS à Paris 1 ==== | ||
| + | |||
| + | Un programme a été développé en interne pour répondre à la problématique suivante : | ||
| + | * utilisation de Bind 9.2, | ||
| + | * choix d'une gestion « autoritaire » des entrées DNS (pas de DDNS update à l' | ||
| + | * la gestion manuelle des tables DNS, déjà très lourde et source d' | ||
| + | * espace d' | ||
| + | * souhait de conserver une bonne lisibilité aux fichiers de zones (tri des entrées), | ||
| + | * bijection tables DHCP (baux réservés sur adresses MAC) et tables DNS (adresse EUI-64 dépendant de l' | ||
| + | |||
| + | Ce programme nommé « majdns », réalisé en Perl, prend en charge la gestion des fichiers de zones DNS spécifiques à Bind. Il offre une interface de saisie interactive de type terminal, et un mode batch pour l' | ||
| + | === Aperçu des fonctionnalités de majdns === | ||
| + | |||
| + | * gestion des tables au niveau du sous-réseau. Le fichier « subnets » contient la liste des sous-réseaux gérés avec pour chacun le nom, la plage IPv4 (en notation CIDR « /xx ») et/ou la plage IPv6. Pour chaque sous-réseau subnet disposant d'une plage IPv4, les fichiers zd.subnet et zi.subnet contiennent respectivement les enregistrements A et PTR v4 des hôtes membres, tandis que zd6.subnet et zi6.subnet (ce dernier décliné en -int et -arpa, ce qui n'est désormais plus nécessaire depuis l' | ||
| + | **Exemple de fichier " | ||
| + | < | ||
| + | pmf-adm | ||
| + | srb-rech | ||
| + | ulm-pers | ||
| + | </ | ||
| + | * automatisation de toutes les tâches « mécaniques » : mise à jour des SOA, tri des entrées, contrôle des collisions, conversions MAC/EUI-64 et AAAA/PTR, recherche d' | ||
| + | * gestion des entrées au niveau hôte ou CNAME, un hôte étant caractérisé par son nom, son sous-réseau, | ||
| + | * gestion de deux « vues » DNS, interne et externe, cette dernière excluant les adresses IPv4 privées. | ||
| + | |||
| + | La structuration en hôtes et sous-réseaux et les automatismes du programme « majdns » permettent à un opérateur d' | ||
| + | |||
| + | ===== DNS dynamiques ===== | ||
| + | Ce document est également disponible au format PDF {{ddns_v6.pdf|DNS dynamiques}} | ||
| + | |||
| + | ==== Introduction ==== | ||
| + | |||
| + | Etant donné la longueur des adresses IPv6, l' | ||
| + | |||
| + | ==== Configuration du serveur de noms ==== | ||
| + | |||
| + | Les extraits de configuration qui suivent sont basés sur le serveur Bind dans sa version 9.3.1. Les versions antérieures (ex : Bind 8) supportent également les mises à jour dynamiques mais les configurations peuvent s’avérer différentes; | ||
| + | |||
| + | La configuration du serveur ne nécessite que très peu de changements pour activer cette fonctionnalité intéressante. Il suffit pour cela de définir sa politique de mises à jour dynamiques pour la zone concernée dans le fichier named.conf : | ||
| + | |||
| + | < | ||
| + | zone " | ||
| + | type master; | ||
| + | file " | ||
| + | // On autorise les maj automatiques pour cette zone | ||
| + | update-policy { | ||
| + | // On autorise la modification des enregistrements AAAA | ||
| + | grant <key> subdomain postes.ipv6.ciril.fr AAAA; | ||
| + | }; | ||
| + | }; | ||
| + | </ | ||
| + | |||
| + | La politique de mise à jour définie ci-dessus permet à un poste possédant la clé <key> de modifier les enregistrements de type AAAA pour le sous-domaine postes.ipv6.ciril.fr. La section update policy peut définir ainsi plusieurs règles du type : | ||
| + | |||
| + | < | ||
| + | grant <key> < | ||
| + | </ | ||
| + | |||
| + | La balise <key> fait référence à une clé explicitement définie dans le fichier named.conf. Il est également possible de définir les clés dans un fichier séparé (exemple : / | ||
| + | |||
| + | < | ||
| + | include " | ||
| + | </ | ||
| + | |||
| + | La balise < | ||
| + | |||
| + | < | ||
| + | grant host1.ipv6.ciril.fr.key. name host1.ipv6.ciril.fr. AAAA; | ||
| + | grant host1.ipv6.ciril.fr.key. name host1.ipv6.ciril.fr. AAAA; | ||
| + | grant ipv6.ciril.fr.key. | ||
| + | </ | ||
| + | |||
| + | Finalement la balise < | ||
| + | |||
| + | __Génération des clés__ : | ||
| + | |||
| + | Afin de garantir l' | ||
| + | |||
| + | La génération des clés publiques/ | ||
| + | |||
| + | # dnssec-keygen -a HMAC-MD5 -b 128 -n HOST updates.postes. | ||
| + | |||
| + | Suite à l' | ||
| + | |||
| + | < | ||
| + | key ipv6.ciril.fr.key. { | ||
| + | algorithm " | ||
| + | | ||
| + | }; | ||
| + | </ | ||
| + | |||
| + | La clé secrète définie dans la section key est celle qui a été généré dans le fichier Kupdate.postes.+157+56324.private. | ||
| + | |||
| + | # cat Kupdate.postes.+157+56324.private | ||
| + | Private-key-format: | ||
| + | Algorithm: 157 (HMAC_MD5) | ||
| + | Key: wMkRFcweTFSBwlbWDaoF0w== | ||
| + | |||
| + | ==== Configuration d'un poste client ==== | ||
| + | |||
| + | Il est maintenant nécessaire de copier le fichier contenant la clé privée (.private) et généré sur le serveur par le biais de la commande dnssec-keygen sur le poste client. Cette copie devra être sécurisée afin d' | ||
| + | |||
| + | La commande qui permet de réaliser les “updates” dynamiques sur un poste Linux est nsupdate. Son fonctionnement est très simple : | ||
| + | |||
| + | # nsupdate -k ./ | ||
| + | Creating key... | ||
| + | > update delete host1.postes.ipv6.ciril.fr | ||
| + | > update add host1.postes.ipv6.ciril.fr 60 IN AAAA < | ||
| + | > send | ||
| + | |||
| + | Cette séquence permet d' | ||
| + | |||
| + | L' | ||
| + | |||
| + | < | ||
| + | #!/bin/sh | ||
| + | HOSTNAME=`hostname` | ||
| + | DOMAIN=postes.ipv6.ciril.fr | ||
| + | IPADDR=`/ | ||
| + | echo " | ||
| + | echo " | ||
| + | for i in $IPADDR | ||
| + | do | ||
| + | echo " | ||
| + | done | ||
| + | |||
| + | echo "" | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | La directive prereq nxrrset permet de tester la non préexistence d’une ressource possédant le même nom. En d' | ||
| + | |||
| + | Les enregistrements dynamiques n' | ||
| + | |||
| + | __Remarque__ : À la rédaction de cette documentation, | ||
| + | |||
| + | ==== Conclusion ==== | ||
| + | |||
| + | L’inconvénient majeur de la mise en oeuvre d'un mécanisme de Dynamic DNS réside dans le fait qu’aucun système d’exploitation ne permet à l’heure actuelle de réaliser cette tâche directement du côté client. Cette extension du service DNS sensée faciliter la tâche d’administration s' | ||
| + | |||
| + | ==== Références ==== | ||
| + | |||
| + | __RFC__ : | ||
| + | |||
| + | [1] RFC 2136 - Dynamic Updates in the Domain Name System (DNS UPDATE) | ||
| + | |||
| + | [2] RFC 2137 - Secure Domain Name System Dynamic Update | ||
| + | |||
| + | [4] RFC 2845 - Secret Key Transaction Authentication for DNS (TSIG) | ||
| + | |||
| + | __Documents__ : | ||
| + | |||
| + | [5] draft : The DHCPv6 Client FQDN Option | ||
| + | |||
| + | |||
| + | __Sites Internet__ : | ||
| + | |||
| + | [3] BIND (Berkeley Internet Name Domain) | ||
| + | http:// | ||
| + | |||
| + | [6] Dibbler - a portable DHCPv6 | ||
| + | http:// | ||
dns.1125492848.txt.gz · Last modified: (external edit)
