[gull] Probleme etrange DNS

Marc SCHAEFER schaefer at alphanet.ch
Thu Dec 4 20:11:01 CET 2003


[ Je me réponds à moi même pour simplifier ]

Merci des nombreuses réponses. En les lisant je me suis rendu compte que
nous n'avons pas les mêmes références.

Voici les règles telles que je les connais:

   1. TOUT champ wildcard (*) a une priorité inférieure à une définition

      Exemple: (pseudocode)
         *    IN  MX   1.2.3.4
         bla  IN  A    truc.com.

      Dans cet exemple, bla ne sera *jamais* couvert par le wildcard MX,
      même par une requête MX explicite.
      Toute définition (d'un type d'enregistrement quelconque) prend le
      pas sur une autre.

   2. Tout système de mail respectant le RFC-2821 consulte tout d'abord
      l'enregistrement MX et si celui-ci n'existe pas, il essaie un
      champ A.

   3. Par contre, un système avec un champ MX et un champ A différents,
      c'est le MX qui est consulté pour SMTP.

   4. Utiliser des CNAME pour les MX, par exemple:

         abcd IN CNAME truc
         truc IN MX abcd

      est apparemment autorisé par le RFC-2821. Par contre, le
      contraire, soit

         abcd IN MX truc
         truc IN CNAME blah
         blah IN A 1.2.3.4

      n'est pas très bon (nécessite plusieurs requêtes DNS, en
      particulier pour des domaines distincts).  J'avais même une fois
      lu que c'était non autorisé et loggué par BIND.

Par conséquence de (1) et de (2), ma configuration:

alphanet.ch.            3600    IN      MX      10 smtp.alphanet.ch.
*.alphanet.ch.          3600    IN      MX      10 smtp.alphanet.ch.
lists.alphanet.ch.      3600    A                  80.83.46.147

implique ce qui a été observé, soit (je préfère utiliser host et
dig, mais quelqu'un a mentionné Windows NT4)

   schaefer at defian:~% nslookup
   Note:  nslookup is deprecated and may be removed from future releases.
   Consider using the `dig' or `host' programs instead.  Run nslookup with
   the `-sil[ent]' option to prevent this message from appearing.
   > set querytype=MX
   > lists.alphanet.ch.
   [ ... ]
   *** Can't find lists.alphanet.ch.: No answer

   > set querytype=A
   > lists.alphanet.ch.
   Address: 80.83.46.147

ce qui est tout à fait normal.

Par conséquence de (4), je préfère utiliser toujours les adresses
IP plutôt que des CNAMEs. Ce qui n'est pas un problème vu que je génère
mes zones en règle générale.

Je réponds directement à quelques mails:

Gerome Fournier:
   > Dans les faits il me semble que seule une reponse vide donnera un
   > basculement vers un champ A si il existe.  AFAIK, tu n'obtiens un
   > NXDOMAIN que si le domaine n'existe pas, i.e. pas d'enregistrements pour
   > ce domaine, donc pas de champ MX ni de champ A.

En fait le DNS est un arbre et une feuille est définie si un
enregistrement d'un type quelconque existe (p.ex.: ch -> alphanet ->
lists). Dans ce cas les divers enregistrements sont stockés sous cette
feuille. C'est pour cela que s'il y a un champ A, la requête MX ne
dit pas `NXDOMAIN' mais retourne une réponse vide. C'est tout à fait
normal et c'est bien ce que Gerome dit.

Markus Baertschi:
   > Est-ce que tu attends du mail d'autres domaines que alphanet.ch ?

Oui, effectivement. C'est très historique en fait: originellement
changer le DNS d'alphanet.ch était très compliqué (hébergé à Bâle).
Entre-temps c'est moins compliqué, mais c'est quand même plus simple
pour moi de configurer mon MTA plutôt que de changer le DNS et
changer le MTA aussi. Originellement il y avait une vingtaine de
domaines sous alphanet.ch, certains délégués par divers protocoles
non SMTP (pour donner un exemple, chanae.alphanet.ch est un *domaine*
avec des *sous-domaines*, un BBS en Belgique). On appelle cela le
routage par domaine. Avec le monde interconnecté Internet, c'est clair
qu'on s'approche de plus en plus de solutions plates (domaine.com
ou domaine.ch, au lieu de
bureau.departement.region.pays.compagnie.domaine.ch par exemple).

Daniel Cordey:
   > lists.alphanet.ch   IN      CNAME   80.83.46.147

Non. Un CNAME pointe sur un nom dans l'arborescence DNS, pas sur
une adresse IP. Et on a déjà vu qu'apparemment span.ch n'aime que
les champs MX, donc ...

A la rigueur, selon (4), on pourrait faire:

   lists.alphanet.ch	IN	CNAME alphanet.ch
   alphanet.ch		IN 10	MX 1.2.3.4

Malheureusement, cela peut signifier dans certains cas -- je trouve cela
ambigü -- que le RCPT-TO: peut être `canononized', on ne verrait plus
alors la différence entre le domaine lists.alphanet.ch et alphanet.ch
du point de vue de mon MTA.

D'après le mail de Leopoldo Ghielmetti j'ai franchement tendance à
supposer un bug chez span.ch -- surtout que le problème est apparu il y
a 2 semaines et cette config n'a pas changé depuis 9 mois.

Je vais donc attendre la réponse de l'administrateur de span.ch. Et s'il
le faut vraiment, à contre-coeur j'ajouterai le champ MX pour
lists.alphanet.ch.




More information about the gull mailing list