bind dns re52 automne 2004

81
Bind Dns Bind Dns RE52 Automne 2004 RE52 Automne 2004

Upload: gerda

Post on 15-Jan-2016

32 views

Category:

Documents


1 download

DESCRIPTION

Bind Dns RE52 Automne 2004. Plan. Introduction Partie 1 : Composants DNS Partie 2 : Mise en place d’un serveur DNS Partie 3 : Fonctions avancées Partie 4 : Les outils. Le principe des DNS. - PowerPoint PPT Presentation

TRANSCRIPT

  • Bind Dns

    RE52 Automne 2004

  • PlanIntroductionPartie 1 : Composants DNSPartie 2 : Mise en place dun serveur DNSPartie 3 : Fonctions avancesPartie 4 : Les outils

  • Le principe des DNS

    Schma de nommage hirarchique fond sur la notion de domaine et une base de donne rpartie qui implmente ce schma (RFC 1034 1035)

    Le service DNS permet un hte qui connat le nom dun autre hte du rseau dobtenir en sadressant un serveur de noms ladresse IP de son homologue :adresse IP nom FQDN (Fully Qualified Domain Name)

    Le systme est mis en oeuvre par une base de donnes distribue au niveau mondial, gr par l'interNIC et les organismes dlgus :RIPE, NIC France (Network Information Center), ...

  • Objectif de la fonction DNSLe but premier est la cration d'un espace de noms consquent utilisables pour rfrencer des ressources.noms ne mentionne aucun des identificateurs rseau, adresses, chemins, ou information similaire communment utiliss pour l'implmentation technique taille norme de la base de donnes et sa frquence de mise jour suggre une maintenance distribue, avec cache local pour une performance accrueutilisation sur des rseaux de nature diffrente, et plusieurs familles de protocolesles transactions avec les serveurs de nom doivent tre indpendantes du systme de communication utilisDatagrammesCircuit virtuel commut

  • Fonctionnement Gnralle logiciel client interroge un serveur de nom: lutilisateur associe un nom de domaine une application ;

    lapplication cliente requiert la traduction du nom de domaine auprs dun serveur de nom (DNS) : cette opration sappelle la rsolution de nom

    le serveur de nom interroge dautres serveurs de nom jusqu ce que lassociation nom de domaine / adresse IP soit trouve

    le serveur de nom retourne ladresse IP au logiciel client : le logiciel client contacte le serveur (telnetd) comme si lutilisateur avait spcifi une adresse IP : telnet

  • Les correspondances Nom Adresse IP

    Fichier /etc/hosts sous LinuxFichier ASCIIMise jour manuelleGestion manuelle des ressources non locales

    NIS ( ou Yellow Pages )Fichier de donnesCrer partir du /etc/hosts du matre Gestion manuelle des ressources non locales

    Domain Name System (DNS)Ensemble de fichiers ASCIIOrganisation hirarchique et mondiale des ressourcesMmorisation des informations recueillies (cache)

  • Transfert de lhosts.txtLARPANET des annes 80 est constitu dune centaines d'ordinateurs relis en rseaux. Un unique fichier hosts.txt rassemble les correspondances entre nom d'hte et adresse IP.Le fichier est stock sur le SRI-NIC (Stanford Research Institute's Network Information Center)Aprs chaque modification, des copies sont transfres par ftp vers les ordinateurs du rseauLa bande passante consomme par la distribution d'une remise jour de cette base par cette mthode est proportionnelle au carr du nombre d'htes sur le rseau

  • Exemple : Correspondance statique de noms d'htes

    NET : 10.0.0.0 : ARPANET :NET : 128.10.0.0 : PURDUE-CS-NET :GATEWAY : 10.0.0.77, 18.10.04 :MIT-GW.ARPA,MIT-GATEWAY : PDP-11 :MOS : IP/GW, EGP :HOST : 26.0.0.73, 10.0.0.51SRI-NIC.ARPA, SRI-NIC, NIC :DEC-2060 : TOPS-20 :TCP/TELNET, TCP/SMTPTCP/TIME, TCP/FTPTCP/ECHO, ICMP :HOST : 10.2.0.11 : SU-TAC.ARPA,SU-TAC : C/30 : TAC : TCP :m

  • Le hosts.txtInconvnients :La taille du fichier hosts.txt augmente avec le nombre dhtesLa frquence des mises jours des tables devient proportionnelle au nombre de machinesSystme centralis: problmes en cas de pannesEspace plat collision rapide des nomsEstimation : la consommation de bande passante est proportionnelle au carr du nombre dhtes

  • Evolution dInternet

  • PlanIntroductionPartie 1 : Composants DNSPartie 2 : Mise en place dun serveur DNSPartie 3 : Fonctions avancesPartie 4 : Les outils

  • Les composants du DNSEspace de noms de domaine et les enregistrements de ressourcequi sont les spcifications d'un espace de noms structur en arbre et des donnes associes ces nomsLes serveurs de noms :des programmes serveurs qui dtiennent l'information sur la structure arborescente et les informations de domainesLes processus de rsolution, ou RESOLVEURS sont des programmes qui extraient l'information des serveurs de noms en rponse aux requtes clientes

  • L'espace Nom de DomaineUn nom de domaine dfini un chemin dans un arbre appel l'espace nom de domaineChaque noeud de l'arbre est identifi par un label Chaque noeud et chaque feuille de l'arbre contient un ensemble d'informations ; les requtes sont des tentatives pour extraire un type spcifique d'information dans cet ensemble. Une requte cite le nom du domaine d'intrt et dcrit le type d'information dsir quant aux ressources concernes. La racine est appele rootL'arbre possde une profondeur maximale de 127 niveaux

  • L'espace Nom de DomaineUn nom de domaine est la squence de labels depuis un nud de l'arbre, jusqu' la racine. Chaque label est spar par un pointDeux noeuds frres ne doivent pas avoir le mme nom

  • L'espace Nom de DomaineUn domaine est un sous arbre de l'espace de nommageUn domaine est constitu de noms de domaine et rfrence d'autres domaines ou sous domainesExemple : Le domaine fr comprend le noeud fr et tous les nuds contenus dans le sous arbre dont la racine est frUn nom de domaine est un index dans la base DNS:www.utbm.fr pointe vers une adresse IP utbm.fr pointe vers des informations de routage de mail et ventuellement des informations de sous domainesfr pointe vers des informations structurelles de sous domaines

  • L'espace Nom de Domaine

  • Domaine racineLe systme DNS impose peu de rgles sur les labels< 63 caractres, non respect de la casseLe 1er niveau (ou TLD (Top Level Domain)) de l'espace DNS6 domaines racines prdfinis l'origine (rfc 1032 Nov 87)com : organisations commercialesedu : organisations concernant l'ducationgov : organisations gouvernementalesmil : organisations militairesnet : organisations gnrique ou en rapport directe avec les rseauxorg : organisations ne faisant pas parties des autresarpa : domaine temporairefr, uk, us, de, be, ca, ... : organisations nationalesLe 1er et 2eme niveau (Second Level Domain) marque une hirarchie de valeurs

  • Reprsentation

    A l'inverse de l'adressage IP, la partie la plus significative se situe gaucheChaque nom de domaine est reprsent, en interne, de la faon suivante :

    Comme un nom de domaine se termine toujours sur la racine de label , le dernier champ est 0

    sun2. ethernet1. utbm.fr domaine franais (.fr)domaine de lorganisation Utbmsous-domaine Utbmmachine sun2 du domaine ethernet1. utbm.fr

  • La Dlgation de domaineLe systme DNS est entirement bas sur la dcentralisation de sa propre administrationLe systme sous jacent est la dlgation de domaineA tout domaine est associ une responsabilit administrativeUne organisation responsable d'un domaine peutdcouper le domaine en sous domainedlguer des sous domaines d'autres organisationsLe domaine parent contient un pointeur vers le sous domaine dlgu

  • La DlgationUne organisation responsable dun domaine peut dcouper le domaine en sous domaines dlguer les sous domaines dautres organisations :qui deviennent leur tour responsables du (des) sous domaine(s) qui leurs sont dlgu(s)peuvent, leur tour, dlguer des sous domaines des sous domaines quelles grentLe domaine parent contient alors seulement un pointeur vers le sous domaine dlgu; Exemple :utbm.fr est dlgu lorganisation utbmUtbm gre donc les donnes propres ce domaine.utbm.fr (en thorie seulement) pourrait tre gr par lorganisation responsable du domaine .fr (NIC France) qui grerait alors les donnes de utbm.fr

  • Les serveurs de nomProgrammes serveurs qui dtiennent l'information sur la structure arborescente et les informations de domaines.Ils enregistrent les donnes propres une partie de l'espace nom de domaine dans une zone distribueLe serveur de nom a autorit administrative sur cette zonepeut avoir autorit sur plusieurs zonesUne zone contient les informations d'un domaine sauf celles qui sont dlguesSpcialiss dans la recherche de donnes lintrieur de lespace de nommage rsolution de noms

  • Serveurs de noms et zonesUn serveur de nom charge les informations dune zone et non pas celles dun domaine qui contient plus dinformations que ncessaire

  • Dcoupage de nomsLa base de donnes de domaines est divises selon deux mthodes : en classes, et par "dcoupage" de l'espace des noms de domaines. Les donnes dcrivant une zone se divisent en quatre parties majeures : Les donnes autorises pour tous les noeuds dans la zone.Des donnes dfinissant le noeud de plus haut niveau de la zone (peuvent tre considres comme faisant part des donnes autorises). Des donnes dcrivant les sous zones dlgues, c'est--dire, les points de coupure dans les tages infrieurs de la zone. Les donnes permettant l'accs aux serveurs de noms traitant les sous-zones dlgues (appeles souvent "glue data"). Toutes ces donnes sont exprimes sous forme de RR, et donc une zone peut tre entirement dcrite comme un ensemble de RR

  • Type de serveurs de nomsServeur matre de noms primairemaintient la base de donnes de la seule zone dont il a l'autorit administrativeAcquiert les donnes de la zone partir dun fichier local de donnes drivant la zoneServeur matre de noms secondaireobtient les donnes de la zone via un serveur de nom qui a l'autorit administrativeinterrogation rgulire du serveur de noms primaireLa redondance permet de palier d'ventuelles dfaillances d'un serveurUn serveur de noms peut tre primaire sur une (des) zone(s) et secondaire pour d'autres

  • Processus de rsolution : le rsolveurLes resolvers sont les processus clients qui contactent les serveurs de nom Interroge les serveurs de nomsInterprte les rponsesRenvoi de linformation au programme demandeurPour rsoudre un nom en une adresse IP, une application invoque une procdure de bibliothque appele Rsolveur avec la fonction gethostbyname recevant un nom de serveur rsoudre Envoi dun paquet UDP contenant l@ IPLe serveur de nom interroge galement dautres serveurs de nom, lorsquil na pas autorit sur la zone requise (fonctionnement itratif ou rcursif)Si le serveur de nom est en dehors du domaine requis, il peut tre amen contacter un serveur racine ( ne pas confondre avec un domaine racine)

  • Processus de rsolution : le rsolveur

  • Rsolution des noms en adresseElle seffectue de manire descendante, du serveur Racine vers un serveur dans les feuilles de larborescence.Mode rcursif le serveur prend son tour le rle de rsolveur et ne peut retourner qu'un message d'erreur ou une rponse valide, mais jamais de rfrence. Ce service est optionnel dans un serveur de noms, ce dernier pouvant de plus choisir de restreindre les possibilits de clients grant le mode rcursif. Utile dans plusieurs situations : une implmentation simplifie d'un rsolveur qui ne sait exploiter d'autres rponses qu'une rponse directe la question.une requte qui doit passer travers d'autres protocoles ou autres "frontires" et doit pouvoir tre envoye un serveur jouant le rle d'intermdiaire. un rseau dans lequel intervient une politique de cache commun plutt qu'un cache individuel par client.

  • Rsolution des noms en adresse Mode non rcursif : Rponse sur la base de ses informations locales : Rpond du mieux possible avec ce quil sait dj La rponse contient une erreur, la rponse demande, ou donne la rfrence d'un autre serveur plus "susceptible" de disposer de l'information demande Tous les serveurs de noms se doivent d'implmenter le mode non-rcursif. Utilisation de la mtrique du temps RTT pour choisir le serveur racine le plus appropri

  • Rsolution des noms en adresseMode RecursifMode Itratif

  • Rsolution inverse

    Il faut faire une recherche exhaustive car les serveurs DNS sont organiss pour la rsolution des nomsSolution : utiliser les adresses IP comme des noms de domaines particuliersChaque adresse IP est considre comme faisant partie du domaine in-addr.arpales noms des noeuds correspondent aux octets de l'adresse IP, en ordre inverseExemple : l'IP 192.158.41.55 donne le domaine 55.41.158.192.in-addr.arpa

    Les rgles 4me niveau correspond un NS connaissant le nom de domaine associ cette adresse IPrequtes sont de type PTR ("pointeur").Comment obtenir le nom de domaine partir de l'adresse IP ?

  • Dure de vieLes serveurs ne peuvent garder ternellement trace des donnes dans leur mmoire cacheExploitation dun Time To Live (TTL) pour les donnes de chaque zoneAprs coulement abandon des donnes en mmoire

  • Serveurs racineLes serveurs racine connaissent les serveurs de nom ayant autorit sur tous les domaines racineLes serveurs racine connaissent au moins les serveurs de noms pouvant rsoudre le premier niveau (.com, .edu, .fr, etc.)Pierre angulaire du systme DNS : si les serveurs racine sont inoperationnels ==> plus de communication sur lInternetactuellement jusqu 14 parpills sur la plantechaque serveur racine reoit environ 100000 requtes / heure

  • IntroductionPartie 1 : Composants DNSPartie 2 : Mise en place dun serveur DNS

  • Mise en place dun serveur DNS : BindLISC (Internet Software Consortium) dveloppe et maintient des codes source BIND, tlchargeables gratuitement ftp://ftp.isc.orgVersion de Bind 8.2.3 et Bind 9.1.3 sous UnixElments de scurisation : Liste daccs pour les requtes et les transferts de zone Maj dynamiques (Dynamic update) : autorise des agents mettre jour les donnes de la zone par lenvoi de messageNotification de zone (Notify) : indique que le numro de srie a t modifiTransfert incrmental de la zone : permet un serveur esclave de ne demander que les changements dans la zone

  • Mise en place dun serveur DNSLes donnes dun serveur DNS sont enregistres dans plusieurs fichiers (fichiers de donnes de la zone) Le fichier de zone est le fichier qui stocke la correspondance Nom/Adresses IP(et vice versa) des machines appartenant au rseau de la zone correspondante

    Un fichier pour la rsolution directe (forward mapping)

    Un fichier pour la rsolution inverse (reverse mapping)

    Le nom de chaque fichier est stock dans le fichier de configuration /etc/named.conf

  • Enregistrements de ressourcesOn associe chaque domaine un ensemble denregistrements de ressources (ressources records ou RR ) qui se compose de :Owner : Nom_de_domaine qui dsigne le domaine auquel sapplique lenregistrement (cl de recherche principale pour satisfaire les requtes) :TTL : Dure_de_Vie : indique la stabilit de lenregistrementClasse : identifie le protocole ; IN pour internet, CH chaotiqueType : indique le type denregistrement dont il sagit, encode sur16 bits spcifiant le type de ressource dcrit par cet enregistrement.

  • Structures des fichiers d'une zone

    Chaque information est dfinie par un type d'enregistrementSOA : Serveur principal dune zone : informations sur la partie de l'arborescence gre par le serveur,NS : liste des serveurs de nom pour ce domaineA : correspondance nom adresse IP (@ IP dun hte)A6 : correspondance nom adresse Ipv6AAAA : correspondance nom adresse Ipv6 (obsolte)PTR : correspondance adresse IP nomCNAME : alias ou nom canoniqueTXT : texteHINFO : description de la machine (UC et SE en ASCII)MX : serveur de mail pour le domaine relais de messagerie RR : permettent d'tendre les types d'informations.

  • Le type d'enregistrement SOA ( Start Of Authority )Cest le premier enregistrement dans le fichier de base de donnes de zone Permet de dfinir :Sur quelle zone le serveur a autoritLe nom de la machine serveur matre primaire de la zoneQuelle est l'adresse de courrier de l'administrateur du domainePuis des informations destinations des serveurs esclavesDans l'exemple suivant :la zone est ens.utbm.frLe nom de la machine serveur matre est dnsserver.ens.utbm.fr

  • Exemple

    ens.utbm.fr. IN SOA dnsserver.ens.utbm.fr. root.utbm.fr. (2004011201 ; serial // incrment par ladministrateur chaque modification. Permet de dtecter si un rechargement est ncessaire86400 ; rafrachissement (1 jour)21600 ; nouvel essai (6 h) 3600000 ; (5 weeks 6 days 16 hours) // combien de temps les autres serveurs sont autoriss garder une copie de ces donnes3600 ; TTL minimum (1h))

  • Le type d'enregistrement NSspcifie les serveurs de nom ayant autorit sur ce domaineIl est possible de dfinir plusieurs NS pour un mme domaine

    Ex :ens.utbm.fr. INNSdnsserver.ens.utbm.frens.utbm.fr. INNSdnsserver_Bis.ens.utbm.fr

  • Enregistrement dadresses et dalias123456789101112131415161718192021

  • Enregistrement Ptr Cest linverse de lenregistrement A. Les PTR qui se trouvent dans la zone de recherche inverse permettent de mettre en correspondance des adresses IP aux noms dhtes.

  • Recherche des serveurs racines ftp.rs.internic.net fichier domain/named.root

  • Le fichier de configurationLes paramtres dinitialisation du daemon named du systme de noms de domaine du package BIND sont dcrits dans /etc/named.conf. le rpertoire /var/named/ : le rpertoire de travail de named qui stocke les fichiers de zone, de statistiques et les fichiers de cache.

  • Fichier configuration de bind

  • Dmarrage dun serveur primaireIdentit Root car utilisation dun port rserv fichier de configuration /etc/named.conf Excution de #/usr/sbin/in.named Le dmarrage du serveur secondaire ne requiert les donnes que par transfert de zoneDB.CACHEDB.127.0.0DB.serveur.maitre

  • Le DNS et le courrier lectroniqueFichier HOSTS.TXT rfrence une adresse IPPropose de dsigner des htes de secoursPermet de reprsenter des destinations de courrier par des noms spcifiques relatifs leurs zonesUne adresse de messagerie peut reprsenter plusieurs serveurs de messagerieLa mise en oeuvre des caractristiques tendues de routage se fait par lenregistrement MXRemplace MD (Mail Destination) @ finaleRemplace MF (Mail Forwarder) @ alternative

  • Le type d'enregistrement MX

    MX = Mail eXchanger traite le message ou le passe un agent de transport (X400, Exchange)Permet ladressage Email sur la base du nom de domaine plutt que sur ladresse du (des) serveur(s) de mail : [email protected] plutt que [email protected] (nom du serveur de mail : mail )Permet lmetteur dignorer le nom de la machine serveur de mailPermet le dplacement du serveur de mail vers une autre machinePermet la gestion de plusieurs serveurs de mail avec priorit dans lordre de consultation des serveursLenregistrement MX est consult par les mailer (client SMTP)Tient compte des priorits

  • Le type d'enregistrement MX

    MX reprsente un hte appel changeur de messageMX contient une valeur de prfrence qui indique la priorit de lchangeurLensemble des valeurs de prfrence de tous les changeurs pour une destination donn indique lordre dans lequel un routeur doit utiliser les changeursEx utbm.com IN MX 0 ens.utbm.fr utbm.com IN MX 10 rech.utbm.frutbm.com IN MX 10 adm.utbm.fr

    Critres :DisponibilitDimensionConnectivitGestion

  • Donnes caches : les serveurs racinesUtiliser un serveur de nommachine elle-mme serveur de nom : 127.0.0.1machine non serveur de nom : spcifier un ou plusieurs serveur de nom : adresses IP obligatoirement. ventuellement son domaine.sous UNIX : fichier /etc/resolvsous NT, W95 : administration TCP/IPAdministrer un serveur de nomplateformes UNIX, NTmmoire importante : mini 16/32 MB pour le service.impratif : ne pas swapperoprationnelle 24/24laisser passer le port 53 sur UDP et TCPDebugging : Nslookup

  • Donnes caches : les serveurs racines;; Cache file:. INNSA.ROOT-SERVERS.NET.A.ROOT-SERVERS.NET. INA198.41.0.4. INNSB.ROOT-SERVERS.NET.B.ROOT-SERVERS.NET. INA128.9.0.107. INNSC.ROOT-SERVERS.NET.C.ROOT-SERVERS.NET. INA192.33.4.12. INNSD.ROOT-SERVERS.NET.D.ROOT-SERVERS.NET. INA128.8.10.90. INNSE.ROOT-SERVERS.NET.E.ROOT-SERVERS.NET. INA192.203.230.10. INNSF.ROOT-SERVERS.NET.F.ROOT-SERVERS.NET. INA39.13.229.241. INNSG.ROOT-SERVERS.NET.G.ROOT-SERVERS.NET. INA192.112.36.4. INNSH.ROOT-SERVERS.NET.H.ROOT-SERVERS.NET. INA128.63.2.53. INNSI.ROOT-SERVERS.NET.I.ROOT-SERVERS.NET. INA192.36.148.17

  • Les RequtesTransportes par UDP ou sur via des connexions TCP.La rponse du serveur de nom peut soit rpondre la question pose par la requte, rediriger le requrant vers un autre serveur de noms, ou signaler une condition d'erreur. Les requtes et rponses DNS sont transportes dans un message de format standardis. Le format de message dfinit une en-tte contenant un certain nombre de champs fixes toujours prsents, et quatre sections pour transporter les paramtres et les RR. Les quatre sections sont : Question contient le nom de la requte et ses autres paramtres. Rponse contient les RR qui rpondent directement la requte. Autorisation contient les RR dcrivant d'autres serveurs "autoriss". Peut aussi contenir un RR SOA contenant les donnes d'autorisation dans la section rponse. Additionnel contient les RR qui peuvent aider exploiter les RR contenus dans les autres sections.

  • Les formatsUDP : Les datagrammes sont limits 512 octets (valeur reprsentant les donnes sans l'entte Udp et Ip). Les datagrammes plus long doivent tre tronqu l'aide du champ Tc.L'utilisation d'Udp n'est pas recommand pour les transfert de zone, mais uniquement pour les requtes standardsTCP : Le port serveur utilis pour l'envoi des datagrammes en Tcp est 53. Le datagramme inclus alors un champ de deux octets nomm "longueur", qui permet de spcifier la longueur total des donnes indpendamment de la fragmentation. La longueur est calcul sans les 2 octets de ce mme champ.

  • Format : Entte id : Cod sur 16 bits, doit tre recopi lors de la rponse permettant l'application de dpart de pouvoir identifier le datagramme de retour Qr : Sur un 1 bit, ce champ permet d'indiquer s'il s'agit d'une requte (0) ou d'une rponse (1). Opcode : 0 - Requte standard (Query)1 - Requte inverse (Iquery)2 - Status d'une requte serveur Tc :message tronqu. Rd : demande de rcursivitRcode : demande le type de rponse 0 - Pas d'erreur1 - Erreur de format dans la requte2 - Problme sur serveur3 - Le nom n'existe pas4 - Non implment5 - Refus

    Qdcount spcifie le nombre dentre dans la section questionAncount RponseNscount AuthoritArcount Additionnel

  • Format : Ressource Record Nom: Nom du domaine o se trouve le RR. Ce champ est implicite lorsqu'un RR est en dessous d'un autre, auquel cas le champ owner est le mme que celui de la ligne prcdente. Type : spcifie quel type de donne sont utiliss dans le RR. Classe: identifiant une famille de protocoles ou une instance d'un protocoleDonnes : identifie la ressourceA : Pour la classe IN, une adresse IP sur 32 bits. Cname : un nom de domaine.Mx : une valeur de prfrence sur 16 bits (la plus basse possible) suivie d'un nom d'hte souhaitant servir d'changeur de courrier pour le domaine de l'owner.Ptr : Une adresse IP sous forme d'un nomNs : Un nom d'hte.Soa : Plusieurs champs

  • Requtes et Rponse Serveurs de noms La requte contient des champs QTYPE, QCLASS, et QNAME, qui dcrivent le(s) type(s) et la ou les classes de l'information souhaite, et quel nom de domaine cette information concerne. Mode non rcursif : Rponse sur la base de ses informations locales :La rponse contient une erreur, la rponse demande, ou donne la rfrence d'un autre serveur plus "susceptible" de disposer de l'information demandeTous les serveurs de noms se doivent d'implmenter le mode non-rcursif.

  • Format : Entte id : Cod sur 16 bits, doit tre recopi lors de la rponse permettant l'application de dpart de pouvoir identifier le datagramme de retour Qr : Sur un 1 bit, ce champ permet d'indiquer s'il s'agit d'une requte (0) ou d'une rponse (1). Opcode : 0 - Requte standard (Query)1 - Requte inverse (Iquery)2 - Status d'une requte serveur Tc :message tronqu. Rd : demande de rcursivitRcode : demande le type de rponse 0 - Pas d'erreur1 - Erreur de format dans la requte2 - Problme sur serveur3 - Le nom n'existe pas4 - Non implment5 - Refus

    Qdcount spcifie le nombre dentre dans la section questionAncount RponseNscount AuthoritArcount Additionnel

  • Format : Ressource Record Nom: Nom du domaine o se trouve le RR. Ce champ est implicite lorsqu'un RR est en dessous d'un autre, auquel cas le champ owner est le mme que celui de la ligne prcdente. Type : spcifie quel type de donne sont utiliss dans le RR. Classe: identifiant une famille de protocoles ou une instance d'un protocoleDonnes : identifie la ressourceA : Pour la classe IN, une adresse IP sur 32 bits. Cname : un nom de domaine.Mx : une valeur de prfrence sur 16 bits (la plus basse possible) suivie d'un nom d'hte souhaitant servir d'changeur de courrier pour le domaine de l'owner.Ptr : Une adresse IP sous forme d'un nomNs : Un nom d'hte.Soa : Plusieurs champs

  • Requtes et Rponse Serveurs de noms La requte contient des champs QTYPE, QCLASS, et QNAME, qui dcrivent le(s) type(s) et la ou les classes de l'information souhaite, et quel nom de domaine cette information concerne. Mode non rcursif : Rponse sur la base de ses informations locales :La rponse contient une erreur, la rponse demande, ou donne la rfrence d'un autre serveur plus "susceptible" de disposer de l'information demandeTous les serveurs de noms se doivent d'implmenter le mode non-rcursif.

  • Les RequtesExemple de requte o l'on souhaite connatre le nom du serveur de courrier s'occupant de frameip.com :

    Voici la rponse

  • Les Requtes standardscontient un nom de domaine cible (QNAME), un type de requte (QTYPE), et une classe de requte (QCLASS) et recherche les RR correspondants. Le champ QTYPE peut contenir : demande la correspondance sur ce type. (ex., A, PTR). AXFR QTYPE spcial pour transfert de zone. MAILB demande la correspondance pour toutes les RR de botes aux lettres (ex. MB et MG). *demande la correspondance sur tous les types de RR. le champ QCLASS peut contenir : demande la correspondance sur cette classe uniquement (e., IN, CH).* demande la correspondance sur toutes les classes de RR.

  • Requte standard : Exempleun agent de courrier tentant d'envoyer un message dans la bote aux lettres [email protected] peut demander son rsolveur des informations sur le serveur de courrier de Utbm.fr, constituant pour cela la requte QNAME=Utbm.fr, QTYPE=MX, QCLASS=IN. La section rponse renvoye serait dans ce cas :

    Utbm.fr. MX 10 VENERA.Utbm.fr. MX 10 VAXA.Utbm.fr.

    et la section additionnelle : VAXA.Utbm.fr. A 10.2.0.27 A 128.9.0.33VENERA.Utbm.fr A 10.1.0.52 A 128.9.0.32

  • Requte InverseUne requte Dns inverse a la particularit d'avoir le champ Question vide, et de contenir une entre dans le champ Answer. Pour que le serveur Dns comprenne le sens de la requte, le champ Opcode des en-ttes du message Dns doit tre la valeur Iquery

    Pour rpondre aux requtes inverses en vitant des recherches exhaustives dans tous les domaines, un domaine spcial appel in-addr.arpa a t cr

  • PlanIntroductionPartie 1 : Composants DNSPartie 2 : Mise en place dun serveur DNSPartie 3 : Fonctions avancesPartie 4 : Les outils

  • Fonctions avances des DNS : ACLPermet de contrler les accs la DNSDirective acl dans le fichier named.confacl "nom_acl" { liste d'adresses; };nom_acl revient alors la liste explicite d'adresses4 listes d'adresses sont prdfinies :any : toutes les adresses IPnone : aucune adresses IPlocalhost : chacune des adresses IP de la machine localelocalnets : obtenu en combinant les adresses IP des cartes rseaux de la machine courante et les masques rseaux correspondants

  • Fonctions avances : Mise jour dynamiqueDHCP peut attribuer des IP automatiquementQuel nom utilis pour communiquer avec ces machines ?Les versions 8 et 9 de Bind permettent des updater de faire des mises jour dynamiques sur le serveur DNSPossibilit d'ajouter ou de supprimerDes enregistrementsDes enregistrements de ressources de mme nom, classe ou typeTous les enregistrements associs un nom

  • Fonctions avances : Mise jour dynamiqueIncrmentation automatique du numro de srie chaque mise jourPermet de mettre jour les serveurs esclavesMais si un transfert de zone est trop long et les mises jour trop frquentes ?Incrmentation a lieu au bout de 5 minutes ou de 100 mises jour, en fonction de la premire des deux limites atteinte

  • Fonctions avances : Mise jour dynamiqueLa mise jour des fichiers de zone chaque fois qu'une mise jour est faite peut tre une opration coteuseLe temps de modifier toutes les donnes peut tre longUtilisation d'un journalToutes les modifications sont faites dans un fichier de journalisationModification est immdiate dans la zone en mmoireA intervalle de temps rgulier (environ 1h), les modifications seront crites sur le disque

  • Le fichier de journalisationAvec Bind 8Construit en ajoutant .log au nom du fichier de zoneSupprimer toutes les heures (si aucune mise jour n'a lieu)Avec Bind 9C'est le fichier de zone termin par .jnlNe disparat jamaisSi le fichier journal existe au dmarrage, ses donnes sont incorpors au fichier de zone

  • Contrle d'accs pour les mises jour dynamiquePar dfaut, la mise jour dynamique sur un serveur matre est refuseIl faut ajouter une structure allowupdate dans la zone concerneEx: allow-update { liste d'adresses IP; };A partir de la version 9.1.0, les serveurs esclaves font suivre les mises jour au serveur matreLe serveur matre doit donc accepter toutes les mises jour venant des serveurs esclavesLes mises jour qui proviennent de n'importe quelle source peut donc tre valide

  • Mise jour authentifie ou nonProtection par IP n'est pas sreSpcifier les MAJ qui peuvent tre retransmises par ladresse de lexpditeur : Allow-update-forwardingUtilisation de TSIG : Transaction SIGnatureMise jour signe par le demandeur initialAvec BIND 8, dans la dfinition d'une zone allow-update { key dhcp-server.toto.fr.; };Pas la possibilit de faire des restrictions sur les Ips Avec BIND 9Mcanisme plus finUtilisation de la sous directive de zone : update-policy

  • Le Forwarding (retransmission)Certains serveurs peuvent s'occuper de transmettre toutes les requtes DNS vers l'extrieur (firewall)Ces machines s'appellent des forwardersObjectif : transmettent toutes les requtes DNS d'autres serveursPeuvent possder une importante mmoire cache de requte DNSSi un serveur utilise un forwarder, son fonctionnement diffreConnaissance de la rponse la requte : il rpondSinon envoie de la requte au forwarder et attente avant dereprendre un fonctionnement normalRequtes rcursives sont envoyes au forwarder, dans tous lesautres cas, requtes itratives

  • Les points de vueDans Bind 9, introduction des points de vueview "internal" { };Permet de ne faire voire que certaines informations, en fonction du clientStructure view, qu'aprs la structure optionsLa sous structure match clients dfinis les clients concerns par un point de vueDfinition d'une vue pour les machines 192.168.XXXview "internal" {match-clients 192.168.XXX;zone "toto.com" { ... };};

  • Configuration du dmon named*named.conf : ce fichier indique les fonctions de named et les noms des fichiers de configuration*named.root : ce fichier contient les adresses IP des serveurs du domaine racine*named.local : permet de rsoudre ladresse de boucle localenamed.hosts : qualifi de zone file, contient les noms DNS et les adresses IP correspondantes des htes dun domainenamed.rev : qualifi de zone file, contient les donnes inverses et permet de connatre le nom dune machine partir de son adresse IP

  • PlanIntroductionPartie 1 : Composants DNSPartie 2 : Mise en place dun serveur DNSPartie 3 : Fonctions avancesPartie 4 : Les outils

  • Les outilsNslookup permet de gnrer des requtes Ne dialogue quavec un seul serveur la foisUtilise chacune des directives Nameserver du fichier .confEssai des serveurs jusqu abandon de la requteEn cas de succs aucun autre tentativeLes temps dattente corresponde un resolveur interrogeant un seul serveurEffectue des transferts de zoneNe teste pas le numro de srie de SOA

  • Nslookup ExempleId identifie une rponseRcode : code de rponseHeader flag : requte ou rponseAuth answer : autorit

  • Le NSlookup/* * exemple de programme * quivalent nslookup */#include #include #include #include #include void erreur( void ) { switch ( h_errno ) {case HOST_NOT_FOUND : puts("L'hte indiqu est inconnu.");break;case NO_ADDRESS : puts("Le nom est valide mais ne possde pas d'adresse IP."); break; case NO_RECOVERY : puts("Une erreur fatale du serveur de noms est apparue."); break;case TRY_AGAIN : puts("Try again"); } exit(1);

    int main(int argc, char *argv[]){ struct hostent *infos; struct in_addr addr;unsigned long *tempo;

    if (inet_aton(argv[1], &addr) != 0 ) { infos = gethostbyaddr( (char *)( &(addr.s_addr)),sizeof(addr.s_addr),AF_INET); if ( ! infos ) erreur(); printf("\nnom:%s",infos -> h_name); } else { infos = gethostbyname(argv[1]); if ( ! infos ) erreur(); tempo = (unsigned long int *)(infos -> h_addr); addr.s_addr = *tempo; printf("\nip:%s",inet_ntoa(addr)); } printf("\nbye...\n");}

  • La scuritDeux familles de pare-feux pour utilisation avec DNSFiltrage de paquets@dresse +portConfiguration explicite

    Passerelles applicatives de type TCP

  • La scurit : Forwarders