§ 42.1 Principes du DNS
Impossibilité pratique de maintenir à jour les fichiers
/etc/hosts
.remplacement par un mécanisme d’annuaire réparti dont chacun gère sa entrée propre : le Domain Name Server
Particularités de la base de données du DNS : – répartie
– petite
– avec une faible fréquence de changements des données – hiérarchisée
– accès en consultation uniquement ; pas de requête de modification
Formation permanente – ARS 7.0 219
Domain Name Server (DNS) Zone DNS
§ 42.2 Zone DNS
zone DNS : reflet de l’aspect réparti et hiérarchisé du DNS
– partie contigüe de l’arbre
– une zone parente délègue une zone fille à un ou plusieurs serveurs d’informations (nameservers) sur la zone fille
.
com net fr
lycos jussieu
formation aero www
ars1 ars5
Domain Name Server (DNS) Requête d’interrogation du DNS
§ 42.3 Requête d’interrogation du DNS
Le DNS est bâti selon un modèle client – serveur
Formation permanente – ARS 7.0 221
Domain Name Server (DNS) Requête d’interrogation du DNS
Le DNS utilise des root nameservers :
Pour assurer un service fiable, une zone est servie par un nameserver primaire et plusieurs nameservers secondaires de secours qui se synchronisent entre eux.
Domain Name Server (DNS) Requête d’interrogation du DNS Principe de mémorisation des informations passées recueillies pour accélérer les réponses aux requêtes.
L’information a une date de péremption (TTL = Time To Live).
Le serveur qui mémorise un record DNS n’a pas autorité dessus.
Chaque enregistrement de la base de données a : – une classe ; la plus courante : IN (Internet) – un type : A, PTR, NS, SOA, MX, CNAME, . . . et est donc de la forme :
(classe, type, clé, valeur, TTL)
Une requête ressemble alors à :
(classe, type, clé, ?, ? ) (classe, * , clé, ?, ?)
Formation permanente – ARS 7.0 223
Domain Name Server (DNS) Implémentation : BIND,named
§ 42.4 Implémentation : BIND, named
URL :
http://www.isc.org/products/BIND/
Versions 8.3.3 et 9.2.1 (vérifier la disponibilité de versions plus récentes) Démon
named
Fichier de configuration
/etc/named.conf
(en général).Directory
/etc/namedb
stockant les fichiers de zone (en général).Domain Name Server (DNS) Implémentation : BIND,named
Pour connaitre la version de
named
:% dig nameserver version.bind chaos
Exemple 1 :
% dig sorbon version.bind chaos txt
; <<>> DiG 8.2 <<>> sorbon version.bind chaos txt
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUERY SECTION:
;; version.bind, type = TXT, class = CHAOS
;; ANSWER SECTION:
version.bind. 0S CHAOS TXT "bind 9"
;; Total query time: 3 msec
;; FROM: apollinaire.paris4.sorbonne.fr to SERVER: default -- 134.157.0.129
;; WHEN: Mon Sep 30 00:20:19 2002
;; MSG SIZE sent: 30 rcvd: 49
Formation permanente – ARS 7.0 225
Domain Name Server (DNS) Implémentation : BIND,named
Exemple 2 :
% dig dmi.ens.fr version.bind chaos txt
; <<>> DiG 9.2.1 <<>> dmi.ens.fr version.bind chaos txt
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63986
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 4
;; QUESTION SECTION:
;dmi.ens.fr. IN A
;; ANSWER SECTION:
dmi.ens.fr. 172800 IN A 129.199.96.11
;; AUTHORITY SECTION:
ens.fr. 172800 IN NS oseille.ens.fr.
ens.fr. 172800 IN NS dmi.ens.fr.
ens.fr. 172800 IN NS ext.lri.fr.
ens.fr. 172800 IN NS ns2.nic.fr.
ens.fr. 172800 IN NS clipper.ens.fr.
Domain Name Server (DNS) Implémentation : BIND,named
;; ADDITIONAL SECTION:
ext.lri.fr. 290218 IN A 129.175.15.4
ns2.nic.fr. 285943 IN A 192.93.0.4
clipper.ens.fr. 172800 IN A 129.199.129.1 oseille.ens.fr. 172800 IN A 129.199.98.16
;; Query time: 831 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Sep 30 00:19:28 2002
;; MSG SIZE rcvd: 210
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48476
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;version.bind. CH TXT
;; ANSWER SECTION:
version.bind. 0 CH TXT "9.2.1"
;; Query time: 42 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Sep 30 00:19:28 2002
;; MSG SIZE rcvd: 48
Formation permanente – ARS 7.0 227
Domain Name Server (DNS) F.root-servers.net
§ 42.5 F.root-servers.net
(cfhttp://www.isc.org/servicespublic/F-root-server.html)
The Internet Software Consortium is proud to operate one of 13 root DNS servers as a public service to the Internet. The ISC has operated
F.root-servers.net
for the IANA(
http://www.iana.org/
) since 1993. F (http://f.root-servers.org
) answers more than 272 million DNS queries per day, making it one of the busiest DNS servers in the world. In fact, it is often the busiest root nameserver on the Internet.F is a virtual server made up of multiple (currently two) HP AlphaServers, donated to us by HP’s Western Research Laboratory (
http://www.research.digital.com/wrl/
). Each server is a HP ES40 AlphaServer with 4 500mhz CPUs and 8Gig of RAM, and runs ISC BIND 8.3.2 as its DNS server.Domain Name Server (DNS) F.root-servers.net The servers are hosted at PAIX.net, Inc. (
http://www.paix.net/
) in Palo Alto, California and are connected to the Internet via fdx Fast Ethernet connections which are provided by UUNET (http://www.uu.net/
), Teleglobe (http://www.teleglobe.com/
), and MFN (http://www.mfn.com/
).For more information on the root DNS system, see : BCP 40 (RFC2870) - Operational guidelines for Root Name Servers (
http://www.isi.edu/in-notes/rfc2870.txt
).Formation permanente – ARS 7.0 229
Domain Name Server (DNS) Utilitairerndc
§ 42.6 Utilitaire rndc
Syntaxe :
rndc [options] cmd
Il contrôle le fonctionnement de
named
à distance via TCP (rndc.conf
contient des clefs d’accès).Quelques options :
– commande
status
: status de NAMED– commande
dumpdb
: dumpe la base et le cache dans/var/tmp/named_dump.db
– commande
reload
: recharge les zones primaires et secondaires– commande
stats
: dumpe les statistiques dans/var/tmp/named.stats
– commande
trace/notrace
: gestion du niveau de trace dans/var/tmp/named.run
– commande
start
: démarre NAMED– commande
stop
: arrête NAMED en sauvant les mises à jour en cours – commandehalt
: arrête NAMED froidement– commande
restart
: arrête et redémarre NAMEDDomain Name Server (DNS) Fichier/etc/resolv.conf
§ 42.7 Fichier /etc/resolv.conf
Consultation des nameservers indiqués via le fichier
/etc/resolv.conf
Exemple de fichier
/etc/resolv.conf
: domain formation.jussieu.frsearch formation.jussieu.fr jussieu.fr nameserver 134.157.253.1
nameserver 134.157.0.129
Attention :
– Au plus 3 lignes
nameserver
.– Tous les Unix ne comprennent pas la directive
search
.Formation permanente – ARS 7.0 231
Domain Name Server (DNS) Utilitairenslookup
§ 42.8 Utilitaire nslookup
Syntaxe :
nslookup [options] à-résoudre
% /usr/sbin/nslookup www.playboy.com Server: sunars1.formation.jussieu.fr Address: 134.157.253.1
Non-authoritative answer:
Name: www.playboy.com Address: 206.251.29.10
La machine est dans le cache du DNS parce qu’elle a déjà été résolue dans un passé récent.
Cet utilitaire tombe en désuétude.
Domain Name Server (DNS) Utilitairedig
§ 42.9 Utilitaire dig
C’est le remplaçant de
nslookup
. Il est très low level.Syntaxe :
dig [options] à-résoudre
Quelques flags utilisés : – flag
QR
: Query– flag
AA
: Authoritative Answer – flagTC
: TCP– flag
RD
: Recursion Desired – flagRA
: Recursion Available – flagAD
: Authentic Data (DNSSEC) – flagCD
: Checking Disabled (DNSSEC)1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ID |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR| Opcode |AA|TC|RD|RA| Z|AD|CD| RCODE | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Formation permanente – ARS 7.0 233
Domain Name Server (DNS) Utilitairedig
Exemple 1 : récursivité jusqu’à la racine
% dig +trace www.formation.jussieu.fr
; <<>> DiG 9.2.1 <<>> +trace www.formation.jussieu.fr
;; global options: printcmd
. 3600000 IN NS K.ROOT-SERVERS.NET.
. 3600000 IN NS L.ROOT-SERVERS.NET.
. 3600000 IN NS M.ROOT-SERVERS.NET.
. 3600000 IN NS A.ROOT-SERVERS.NET.
. 3600000 IN NS B.ROOT-SERVERS.NET.
. 3600000 IN NS C.ROOT-SERVERS.NET.
. 3600000 IN NS D.ROOT-SERVERS.NET.
. 3600000 IN NS E.ROOT-SERVERS.NET.
. 3600000 IN NS F.ROOT-SERVERS.NET.
. 3600000 IN NS G.ROOT-SERVERS.NET.
. 3600000 IN NS H.ROOT-SERVERS.NET.
. 3600000 IN NS I.ROOT-SERVERS.NET.
. 3600000 IN NS J.ROOT-SERVERS.NET.
;; Received 244 bytes from 127.0.0.1#53(127.0.0.1) in 5 ms
fr. 172800 IN NS DNS.CS.WISC.EDU.
fr. 172800 IN NS NS1.NIC.fr.
fr. 172800 IN NS NS3.NIC.fr.
fr. 172800 IN NS DNS.INRIA.fr.
Domain Name Server (DNS) Utilitairedig
fr. 172800 IN NS NS2.NIC.fr.
fr. 172800 IN NS DNS.PRINCETON.EDU.
fr. 172800 IN NS NS-EXT.VIX.COM.
fr. 172800 IN NS NS3.DOMAIN-REGISTRY.NL.
;; Received 373 bytes from 193.0.14.129#53(K.ROOT-SERVERS.NET) in 273 ms
jussieu.fr. 345600 IN NS shiva.jussieu.fr.
jussieu.fr. 345600 IN NS cendrillon.lptl.jussieu.fr.
jussieu.fr. 345600 IN NS soleil.uvsq.fr.
;; Received 166 bytes from 128.105.2.10#53(DNS.CS.WISC.EDU) in 337 ms
www.formation.jussieu.fr. 172800 IN CNAME serveur.formation.jussieu.fr.
serveur.formation.jussieu.fr. 172800 IN A 134.157.46.129 formation.jussieu.fr. 172800 IN NS cendrillon.lptl.jussieu.fr.
formation.jussieu.fr. 172800 IN NS shiva.jussieu.fr.
formation.jussieu.fr. 172800 IN NS soleil.uvsq.fr.
;; Received 204 bytes from 134.157.0.129#53(shiva.jussieu.fr) in 217 ms
On voit bien le mécanisme de consultations des différents nameservers.
Formation permanente – ARS 7.0 235
Domain Name Server (DNS) Utilitairedig
Exemple 2 : consultation à la nslookup
% dig www.formation.jussieu.fr
; <<>> DiG 9.2.1 <<>> www.formation.jussieu.fr
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62679
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 3, ADDITIONAL: 3
;; QUESTION SECTION:
;www.formation.jussieu.fr. IN A
;; ANSWER SECTION:
www.formation.jussieu.fr. 172790 IN CNAME serveur.formation.jussieu.fr.
serveur.formation.jussieu.fr. 172789 IN A 134.157.46.129
;; AUTHORITY SECTION:
formation.jussieu.fr. 172789 IN NS cendrillon.lptl.jussieu.fr.
formation.jussieu.fr. 172789 IN NS shiva.jussieu.fr.
formation.jussieu.fr. 172789 IN NS soleil.uvsq.fr.
Domain Name Server (DNS) Utilitairedig
;; ADDITIONAL SECTION:
shiva.jussieu.fr. 74075 IN A 134.157.0.129 soleil.uvsq.fr. 222426 IN A 193.51.24.1
cendrillon.lptl.jussieu.fr. 172790 IN A 134.157.8.24
;; Query time: 5 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Aug 29 00:22:06 2002
;; MSG SIZE rcvd: 204
Formation permanente – ARS 7.0 237
Domain Name Server (DNS) Utilitairedig
Exemple 3 : réponse en cas d’erreur
% dig cerise
; <<>> DiG 9.2.1 <<>> cerise
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 45146
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;cerise. IN A
;; AUTHORITY SECTION:
. 10800 IN SOA A.ROOT-SERVERS.NET. NSTLD.VERISIGN-GRS.COM. 2002082801 1800 900 604800 86400
;; Query time: 206 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Aug 29 00:22:13 2002
;; MSG SIZE rcvd: 98
Domain Name Server (DNS) Utilitairedig Exemple 4 : précision du type du record
Première fois :
% dig www.crlv.org SOA
; <<>> DiG 8.2 <<>> www.crlv.org SOA
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUERY SECTION:
;; www.crlv.org, type = SOA, class = IN
;; AUTHORITY SECTION:
crlv.org. 2H IN SOA ns.easynet.fr. hostmaster.easynet.fr. ( 2001020101 ; serial
1H ; refresh
30M ; retry
4W ; expiry
2H ) ; minimum
;; Total query time: 14 msec
;; FROM: apollinaire.paris4.sorbonne.fr to SERVER: default -- 195.220.107.3
;; WHEN: Thu Aug 29 15:06:22 2002
;; MSG SIZE sent: 30 rcvd: 90
Formation permanente – ARS 7.0 239
Domain Name Server (DNS) Utilitairedig
Deuxième fois :
% dig www.crlv.org SOA
; <<>> DiG 8.2 <<>> www.crlv.org SOA
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUERY SECTION:
;; www.crlv.org, type = SOA, class = IN
;; AUTHORITY SECTION:
crlv.org. 1h55m43s IN SOA ns.easynet.fr. hostmaster.easynet.fr. ( 2001020101 ; serial
1H ; refresh
30M ; retry
4W ; expiry
2H ) ; minimum
;; Total query time: 13 msec
;; FROM: apollinaire.paris4.sorbonne.fr to SERVER: default -- 195.220.107.3
;; WHEN: Thu Aug 29 15:10:39 2002
;; MSG SIZE sent: 30 rcvd: 98
Domain Name Server (DNS) Record de type PTR
§ 42.10 Record de type PTR
On peut aussi interroger un nameserver pour résoudre des adresses :
% /usr/sbin/nslookup 193.252.79.61 Authoritative answers can be found from:
79.252.193.in-addr.arpa nameserver = ns1.fth.net 79.252.193.in-addr.arpa nameserver = ns2.fth.net ns1.fth.net internet address = 193.252.251.253 ns2.fth.net internet address = 193.252.69.217
Formation permanente – ARS 7.0 241
Domain Name Server (DNS) Record de type PTR
.
Une faute courante : oublier de mettre à jour l’entrée relative à l’adresse IP de la machine.
Domain Name Server (DNS) Fichier/etc/nsswitch.conf
§ 42.11 Fichier /etc/nsswitch.conf
Certains systèmes Unix permettent de spécifier quelles méthodes de résolution utiliser (DNS,
/etc/hosts
, NIS) ainsi que l’ordre d’enchaînement des méthodes.Sur Linux et Solaris, cf
/etc/nsswitch.conf
: ...hosts: files nisplus nis dns ...
ou ...
hosts: xfn nisplus dns [NOTFOUND=return] files ...
Formation permanente – ARS 7.0 243
Domain Name Server (DNS) Délégation d’une partie de classe C
§ 42.12 Délégation d’une partie de classe C
RFC 2317
http://www.lip6.fr/pub/rfc/rfc/rfc2317.txt.gz
Avis : Mécanisme astucieux mais un peu compliqué à mettre en œuvre en pratique.
Domain Name Server (DNS) Délégation d’une partie de classe C
WebDNS
Logiciel WebDNS :
http://www-crc.u-strasbg.fr/webdns/
Principe : générer les données via une vraie base de données avec toutes les possibilités fines associées (par exemple une personne peut avoir le droit SQL de modifier un et un seul record DNS dans la base SQL)
Logiciel non réservé aux sous classes C. En utilisation sur le campus de Jussieu par exemple.
Avis : Approche très tendance pour résoudre un problème de fond dans le principe du DNS lors de vrais déployements.
Avis 2 : Nouvel exemple de couplage à une base de données.
Formation permanente – ARS 7.0 245
Domain Name Server (DNS) Délégation d’une partie de classe C
DNS
Domain Name Server (DNS) Nom de machine,hostname
§ 42.13 Nom de machine, hostname
Caractères autorisés : cf RFC 952 et RFC 1123 En résumé :
– lettres majuscules – lettres minuscules – chiffres
– caractère «
-
»http://www.lip6.fr/pub/rfc/rfc/rfc952.txt.gz http://www.lip6.fr/pub/rfc/rfc/rfc1123.txt.gz
Formation permanente – ARS 7.0 247
Domain Name Server (DNS) WHOIS
§ 42.14 WHOIS
WHOISbase de données des informations relatives à l’attribution des plages d’adresses IP et des noms de domaines.
Exemple d’un protocole Internet loupé car les implémentations ne sont pas compatibles entre elles.
RFC 954, port TCP 43
Protocole exploitable par la commande
whois
.Syntaxe :
whois [ -h server-whois ] adresse-ou-domaine
Quelques serveurs WHOIS (cf annexe pour une liste plus longue) : –
rs.internic.net
–
whois.nic.fr
ou via un interface WWW :http://www.afnic.asso.fr/cgi-bin/whois
–
whois.ripe.net
Exemple : cf annexe
Domain Name Server (DNS) Espace de confiance
§ 42.15 Espace de confiance
Formation permanente – ARS 7.0 249
Domain Name Server (DNS) Un peu de documentation
§ 42.16 Un peu de documentation
– cours réseau ARS
– Cf
http://www.isc.org/
etftp://ftp.isc.org/isc/bind/
– Cf
http://www.cri.fr/ZoneCheck/
– Cf
http://www.univ-rennes1.fr/DNSRENATER/
– Cf
ftp://ftp.univ-rennes1.fr/pub/reseau/dns/exemple/
– RFC 2317 «Classless IN-ADDR.ARPA delegation»
–
http://www.uninett.no/navn/domreg.html
–
ftp://ftp.jussieu.fr/jussieu/doc/local/dnsmail.ps.Z
–
http://www.cri.ensmp.fr/people/keryell/cours
– DNS and BIND, 4th Edition, By Paul Albitz & Cricket Liu, 4th Edition April 2001, O’Reilly &
Associates, Inc. 622 pages, $44.95
Partage de fichiers NFS