1
<!-- Do *not* edit this file; it was automatically generated by ej2html
2
Look for a name.ej file with the same name as this filename -->
3
<!-- Last updated Sat Oct 12 15:10:15 2002 -->
8
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8">
14
Rápido ruedan los carros
20
<b>maradns [ -v | -f mararc_file_location ] >> /var/log/maradns &</b>
23
est un serveur DNS écrit en conservant sécurité, simplicité, et performance
27
possède deux types d'arguments, chacun étant optionnel.
29
Le premier est l'emplacement d'un fichier
31
contenant toute l'information de configuration de MaraDNS.
32
L'emplacement par défaut de ce fichier est
34
Ceci est précisé dans l'expression
35
<b>maradns -f mararc_file_location</b>
37
<i>mararc_file_location</i>
38
est l'emplacement de ce fichier.
40
Il est également possible de demander à MaraDNS de montrer son numéro de
41
version, puis de se terminer. Ceci s'obtient en invoquant maradns ainsi
44
<b>maradns --version</b>
47
Si MaraDNS fonctionne seulement en mode récursif, un seul fichier de
48
configuration est nécessaire, le fichier mararc.
50
Pour que MaraDNS puisse fonctionner en mode autoritaire, il est
51
nécessaire de rédiger au moins deux fichiers de configuration: le
52
fichier mararc et un ou plusieurs fichiers de zone au format "csv1".
54
Le format de fichiers de zone csv1 est décrit dans la page de manuel
56
Le format du fichier mararc est décrit dans la page de manuel
59
<h1>CONSIDÉRATIONS DE FILTRAGE</h1>
61
Si MaraDNS est utilisé en serveur de noms autoritaire, autoriser les
62
flux UDP depuis tout hôte sur Internet vers le port 53 en UDP sur
63
l'adresse IP utilisée par le serveur autoritaire.
66
Si MaraDNS est utilisé comme serveur de noms récursif, le pare-feu doit
67
laisser passer les paquets suivants en provenance et à destination de
68
l'adresse IP utilisée par le serveur :
71
Autoriser les flux UDP depuis le serveur MaraDNS vers toute machine sur
72
Internet avec 53 comme port de destination.
74
Autoriser les flux UDP depuis toute machine sur Internet vers l'IP du
75
serveur récursif, avec un port source de 53 et un port de destination
76
compris entre 15000 et 19095 (inclus).
78
Autoriser les flux USP depuis les adresses utilisant le serveur MaraDNS
79
comme serveur récursif à destination du port 53.
82
MaraDNS utilise un générateur de nombres aléatoires cryptographiquement
83
fort pour générer à la fois la requête (16 bits d'entropie) et le port
84
source de la requête (12 bits d'entropie). Ceci rend les réponses
85
contrefaites à un serveur MaraDNS plus difficile, l'attaquant n'ayant
86
qu'une chance sur 250 millions qu'une réponse contrefaite donnée soit
87
considérée comme valide.
90
<h1>FOIRE AUX QUESTIONS</h1>
92
<h2>Comment puis-je essayer MaraDNS ?</h2>
95
Lisez le guide de démarrage rapide, dans le fichier 0QuickStart de la
98
<h2>Sous quelle licence MaraDNS est-il produit ?</h2>
101
Aucune, en fait. MaraDNS est produit dans le domaine publique.
103
<h2>Comment puis-je faire fonctionner MaraDNS sur plusieurs adresses IP ?</h2>
106
La méthode actuelle est de faire tourner plusieurs copies de MaraDNS, chacune
107
avec son propre fichier mararc.
114
maradns -f /etc/mararc.1
115
maradns -f /etc/mararc.2
120
Si vous souhaitez simplement faire tourner MaraDNS sur toutes les adresses IP
121
disponibles sur la machine, utilisez l'adresse "0.0.0.0".
123
Je ne pense pas que ceci soit trop difficile à implémenter correctement,
124
puisque j'ai déjà du code pour spécifier plusieurs adresses IP dans les ACL
125
utilisées par le serveur de zones. En attendant, la FAQ indiquera cette
128
<h2>Comment puis-je faire un rapport de bogues sur MaraDNS ?</h2>
131
Avant de rapporter un bogue de MaraDNS, lisez les pages de manuel concernées.
132
Les pages de manuel devraient avoir été installées à l'installation de MaraDNS,
133
et, de plus, sont disponibles dans le répertoire doc/man dans le tarball source
134
de MaraDNS. Il est également possible que vous soyez en train de lire cette
138
Certaines pages de manuel de MaraDNS (actuellement, les pages pour maradns,
139
askmara, zoneserver, et mararc) disposent d'une section "BOGUES" (BUGS en
140
anglais), qui liste certains bogues déjà connus de MaraDNS que l'auteur ne
141
juge pas assez importants pour être corrigés avant la sortie de la version 1.0
142
de MaraDNS. Les rapports de bogues concernant l'un de ces bogues mentionnés
143
seront joyeusement ignorés. (NDT: consultez la page de manuel originale en
144
anglais pour être sûr de disposer de la dernière version).
147
Abonnez-vous à la liste de diffusion en envoyant un courrier à
148
list-subscribe@maradns.org avec "subscribe" comme sujet, et décrivez ensuite
149
le bogue en envoyant un courrier à list@maradns.org.
151
<h2>Lorsque je lance MaraDNS, j'obtiens un message Fatal error: Error running
152
populate_main program or a Faral error: init_cache() failed error
156
Ce message d'erreur ne devrait pas être visible. S'il apparaît, abonnez-vous à
157
la liste de diffusion (voir au dessus), et décrivez votre problème en envoyant
158
un courrier. Indiquez :
161
<li>Le contenu de votre fichier /etc/mararc
162
<li>Le contenu de tout fichier de /etc/maradns
163
<li>La sortie complète de MaraDNS
165
<h2>Je cherche à enregistrer un domaine sous le TLD .au ou .de, et le
166
registrar refuse mon nom de domaine.</h2>
169
Les registrars allemands et australiens obligent que l'on renvoie les
170
enregistrements NS et SOA à une requête RR_ANY. MaraDNS peut faire ceci si
171
vous spécifiez dans votre fichier mararc :
173
<tt>default_rrany_set = 15</tt>
175
<h2>Après avec lancé MaraDNS, je ne vois pas le processus dans netstat -na</h2>
178
Les services UDP ne montrent pas un "LISTEN" voyant dans la sortie de
182
Lorsque MaraDNS est en fonctionnement, la ligne concernée dans la sortie de
183
netstat ressemble à :
186
udp 0 0 127.0.0.4:53 0.0.0.0:*
189
Au sujet de netstat, si vous lancez netstat -nap en tant que root, vous verrez
190
les noms des processus faisant fonctionner des services réseaux (sous Linux)
192
<h2>Quelle bibliothèque de manipulation de chaînes utilise MaraDNS ?</h2>
195
MaraDNS utilise sa propre bibliothèque de manipulation de chaînes, intitulée
196
bibliothèque "js_string". Des pages de manuel pour la plupart des fonctions de
197
la bibliothèque sont disponibles dans le répertoire doc/man de la distribution
200
<h2>Pourquoi MaraDNS est-il dans le domaine public, plutôt que sous
201
licence GPL ou BSD ?</h2>
204
Afin que l'on puisse intégrer MaraDNS avec Python sans souci. Bien que
205
maintenant Python soit, je crois, compatible avec la GPL, il ne l'était pas au
206
moment où j'ai choisi une licence pour MaraDNS.
208
<h2>Pourquoi MaraDNS utilise un modèle multi-threadé ?</h2>
211
Le modèle multi-threadé est, tout simplement, la manière la plus simple
212
d'écrire un serveur DNS récursif qui fonctionne. C'est la raison pour laquelle
213
MaraDNS, pdnsd, et BIND 9 utilisent tous un modèle multi-threadé.
215
<h2>Je trouve que telle et telle fonctionnalité devrait être
216
ajoutée à MaraDNS</h2>
219
Avant d'envoyer un mail à la liste avec une demande de fonctionnalité
220
nouvelle, lisez la section FONCTIONS NON MISES EN OEUVRE (ou UNIMPLEMENTED
221
FEATURES) de la page de manuel de MaraDNS, qui comporte une liste de ce que des
222
gens ont pu souhaiter comme nouvelles fonctionnalités. Si vous ne voyez pas ce
223
que vous souhaiteriez implémenté, envoyer un courrier à la liste afin que
224
j'ajoute cette demande à la page de manuel.
227
Des demandes de fonctions nouvelles qui incluent un correctif le mettant en
228
oeuvre peuvent être intégrées à MaraDNS, tant que le correctif mentionne son
229
appartenance au domaine public.
232
Notez que MaraDNS est désormais "gelé". C'est à dire qu'aucune nouvelle
233
fonctionnalité ne sera ajoutée avant la sortie de la version 1.0.
235
<h2>Y a t'il une marche à suivre pour demander l'incorporation d'un
236
patch à MaraDNS ?</h2>
239
Oui. Envoyez le patch par email, avec une déclaration de son appartenance au
240
domaine public. Si je trouve que le patch fonctionne bien, je l'intègrerai à
243
<h2>MaraDNS peut-il servir de serveur de noms secondaire ?</h2>
246
Oui, mais pas d'une manière traditionnelle.
249
La philosophie de MaraDNS pour la version 1.0 est : simplicité et sécurité.
250
Parce qu'il est plus simple de faire des programmes séparés pour le
251
rappatriement et la mise à disposition de zones, j'ai choisi cette approche
255
Je trouve que l'une des grandes forces d'UNIX est de pouvoir combiner une série
256
de petits programmes simples ensemble pour réaliser une tâche complexe. C'est
257
l'approche suivie pour MaraDNS 1.0.
260
Le "coeur" d'un serveur DNS ne devrait idéalement pas faire plus que :
263
<li> Convertir des données externes dans le format interne du serveur DNS en
264
utilisant des modules.
266
<li> Conserver les données chargées de sources "lentes" (serveur DNS externes,
269
<li> Convertir les paquets DNS en des requêtes de données pour les sources en
272
<li> Convertir les données de ces sources en paquets DNS.
275
(Maintenant, vue la manière dont j'ai codé la résolution récursive de MaraDNS,
276
j'ai dévié de cet idéal, mais c'est une autre histoire.
279
<h2>Quelle est la différence entre un serveur DNS autoritaire et un
280
serveur récursif ?</h2>
283
Un serveur DNS récursif est un serveur DNS en mesure de contacter un autre
284
serveur DNS afin de résoudre un nom DNS donné. C'est le genre de serveurs que
285
l'on renseigne dans /etc/resolv.conf.
288
Un serveur DNS autoritaire répond à ses requêtes émanant de serveurs récursifs
289
en leur donnant la réponse à une requête DNS donnée.
291
<h2>Le client getzone ne m'autorise pas à ajouter certains noms de ma
295
Pour des raisons de sécurité, le client getzone de MaraDNS n'ajoute pas à la
296
zone des enregistrements n'en faisant pas partie. Par exemple, si dans une
297
zone example.com on a un enregistrement du type :
301
P1.1.1.10.in-addr.arpa.|86400|dns.example.com.
305
MaraDNS n'ajoutera pas cet enregistrement, car il est en dehors de la zone.
306
En d'autres mots, il ne se termine pas par example.com.
309
Il y a deux parades à ce problème :
312
<li>Créer un fichier de zone 1.1.10.in-addr.arpa., pour les enregistrements
315
<li>Utiliser rcp, rsync, ou toute autre méthode, pour synchroniser les
316
fichiers de zone concernés.
319
<h2>Je rencontre des problèmes en transférant des zones depuis le
320
serveur de zones de MaraDNS vers un client de transfert BIND.</h2>
323
BIND est plutôt exigeant quant à quelle type de données accepter depuis un
324
serveur de zones. Assurez-vous que :
327
<li>Les enregistrements NS autoritaires sont tout en haut de votre zone, juste
328
après l'enregistrement SOA.
330
<li>Les enregistrements NS autoritaires sont bien des NS de votre zone.
332
<li>Afin de pallier un bogue connu de MaraDNS, assurez-vous d'avoir au
333
moins un enregistrement non-NS entre les enregistrements NS
334
autoritaires de la zone et un enregistrement NS de délégation
335
qui existerait dans votre zone.
339
Voici un exemple à ne pas suivre :
342
Sexample.com.|86400|example.com.|hostmaster@example.com.|1|86400|3600|6048000|86400
343
Nbad.example.com.|86400|ns1.example.com.
344
Nbad.example.com.|86400|ns2.example.com.
345
Nsubdomain.example.com.|86400|ns.subdomain.example.com.
346
Aexample.com.|12345|10.2.3.4
349
Et le même exemple, après correction :
351
Sexample.com.|86400|example.com.|hostmaster@example.com.|1|86400|3600|6048000|86400
352
Nexample.com.|86400|ns1.example.com.
353
Nexample.com.|86400|ns2.example.com.
354
Aexample.com.|12345|10.2.3.4
355
Nsubdomain.example.com.|86400|ns.subdomain.example.com.
358
<h2>MaraDNS est-il portable ?</h2>
361
Même si je compte faire de MaraDNS un serveur portable, qui compilera sur de
362
nombreux Unix, à ce moment même le développement de MaraDNS est fait sous
363
Linux. En termes d'OS propriétaires, je sais que SCO Open Server, SCO Unixware,
364
et Solaris posent des problèmes quand il s'agit de faire fonctionner un serveur
365
UDP ou TCP dans un environnement chroot(). Il semblerait que, sous Solaris ou
366
UNIXware, placer /dev/tcp et /dev/udp dans la cage chroot() permettrait à un
367
serveur comme MaraDNS de fonctionner.
369
<h2>Comment compiler MaraDNS sous OpenBSD ?</h2>
372
Il y a deux manières de faire ceci:
375
Pour utiliser le support natif des threads vous devez ajouter -pthread à la
379
Pour utiliser la bibliothèque GNU pthread, vous devez installer le port pth et
380
ajouter -L/usr/local/lib/pth au linker.
383
(Florin Iucha a fourni ce conseil)
389
Si une résolution demande un enregistrement A, et que l'entregistrement
390
est un CNAME pointant vers une liste d'adresses IP, le resolver récursif
391
de MaraDNS retourne la première IP listée avec le CNAME.
393
Si une résolution demande un enregistrement A, et que cet enregistrement
394
est un CNAME pointant vers un autre CNAME (ou plus), bien que MaraDNS
395
retourne l'adresse IP correcte (tant que le glueless level n'est pas
396
atteint), MaraDNS retournera erronément que le premier CNAME de la
397
chaîne pointe directement vers l'IP.
399
Si un enregistrement NS pointe vers une liste d'adresses IP, et que
400
l'enregistrement en question est "glueless" (c'est à dire que MaraDNS a
401
du retourner jusqu'aux root servers pour en trouver l'adresse), le
402
resolver récursif de MaraDNS ne listera que la première adresse IP comme
405
Lorsque le resolver récursif de MaraDNS reçoit une réponse "host not
406
there", au lieu d'utiliser le SOA minimum comme TTL de la réponse "host
407
not there" (cf. RFC1034 §4.3.4), MaraDNS utilise le TTL de la réponse
410
MaraDNS conserve les enregistrements NS dans le cache pendant une
411
journée au lieu du TTL renvoyé par le serveur distant.
413
MaraDNS n'a qu'un support très limité du transport de données DNS sur
414
TCP. En particulier, MaraDNS n'utilise DNS sur TCP que pour les
415
transferts de zones, gérés par le programme conjoint
416
<b>zoneserver</b> (voir <b>zoneserver(8)</b> pour son usage).
418
MaraDNS gère la requête "any record" (255) en ne retournant qu'un
419
enregistrement A et MX (optionnellement: enregistrements NS et SOA), au
420
lieu de retourner tout enregistrement associé au nom concerné. Les seuls
421
endroits où j'ai eu connaissance de l'utilisation de la requête "any
422
record" sont les MTAs, et les registrars des TLD .de et .au. En mode
423
récursif, une requête "any record" est traduite en deux requêtes A et
424
MX, que MaraDNS concatène.
426
MaraDNS ne retourne jamais un NXDOMAIN (rien dans la réponse, SOA dans
427
la section d'autorité, code d'erreur "name error" [3]). Si un label de
428
nom DNS n'existe pour aucun RR, MaraDNS retournera malgré tout un "no
429
host" (rien dans la réponse, SOA, code d'erreur 0), impliquant que le
430
nom d'hôte existe pour au moins un type de RR.
432
Si un enregistrement wildcard MX existe sous la forme "*.example.com" et
433
qu'il y a un enregistrement A pour "www.example.com", mais pas
434
d'enregistrement MX pour "www.example.com", le comportement correct
435
(RFC1034 §4.3.3) serait de retourner "no host" (rien dans la réponse,
436
SOA présent, code de retour 0) pour une requête MX de www.example.com. À
437
la place, MaraDNS retourne l'enregistrement MX associé à
440
Les enregistrements "astérisque" (que la RFC1034 nomme "wildcards") ne
441
peuvent être associés à des RR de type NS.
443
Le resolver récursif de MaraDNS s'arrête de résoudre lorsqu'il trouve
444
une réponse dans la section AR. Ceci présente un problème dans le cas où
445
on nom d'hôte donné et son adresse sont enregistrés auprès des root
446
servers, et que l'IP n'est plus à jour. Si ceci se produit, un serveur
447
"plus proche" du root server donnera l'adresse IP obsolète, même si les
448
DNS autoritaires pour la zone connaissent l'IP correcte. Notez que
449
résoudre ceci augmenterait le trafic DNS.
451
MaraDNS, comme toute autre implémentation DNS connue, ne supporte un
452
QDCOUNT que de 0 ou 1.
454
<h1>FONCTIONS NON MISES EN OEUVRE</h1>
456
<i>Les fonctions suivantes ne seront pas mises en oeuvre dans la
457
prochaine version 1.0 de MaraDNS :</i>
459
MaraDNS ne devient pas un démon. Il est possible d'utiliser un shell
460
avec contrôle de tâche pour faire de MaraDNS un processus en mode démon,
464
nohup maradns > /dev/null &
468
MaraDNS n'utilise pas <i>syslog</i>
469
ou toute autre commodité de journalisation pour les messages générés par
470
MaraDNS. À la place, les messages sont journalisés sur la sortie
471
standard. Il est possible d'utiliser une redirection du shell pour
472
journaliser vers un fichier, par exemple :
475
touch /var/log/maradns
476
nohup maradns >> /var/log/maradns &
480
MaraDNS n'a pas de support d'une "zone par défaut" qui permettrait
481
d'ajouter ou retirer des zones sans modifier le fichier de configuration
484
MaraDNS, comme tous les autres serveurs DNS connus, n'a pas de support
487
MaraDNS n'a pas de support pour autoriser certaines adresses à ne résoudre
488
qu'un certain nombre d'hôtes en interrogeant le serveur DNS, ou bien de
489
résoudre différemment selon l'adresse IP réalisant la requête.
491
MaraDNS ne supporte pas IPv6.
493
MaraDNS n'a pas de gestion des signaux. Envoyer un signal HUP à MaraDNS
494
termine le processus au lieu de dire à MaraDNS de relire ses fichiers de
497
À l'exception de résoudre certains types de RR non présents dans la
498
RFC1035, MaraDNS ne supporte aucune fonction DNS non présente dans la
501
MaraDNS, conformément à la RFC1035 §4.3.3, n'autorise l'usage de
502
"wildcards" qu'au début d'un nom DNS. Par exemple, un enregistrement
503
comme "foo.*.example.com" ou "www.*" ne fonctionnera pas.
505
<h1>LEGAL DISCLAIMER</h1>
506
THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
507
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
508
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
509
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
510
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
511
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
512
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
513
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
514
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
515
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
516
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
521
http://www.samiam.org/
524
Traduit en français par Thomas Seyrat <thomas@glou.net>