Serveur Mail et DNS

Tu n’aurais pas une ou plusieurs options allow-* (allow-query notamment) un peu trop restrictives ?

PS : quand on monte un serveur DNS, il faut tester en faisant des requêtes avec les outils classiques (dig, host, voire nslookup) depuis une autre machine et pas seulement depuis le serveur lui-même. C’est ce que fait le zonecheck de l’Afnic, mais pas forcément de façon aussi “conviviale”.

:open_mouth: dans le mille !!

Il faut modifier allow-query {localhost;} en allow-query {any;}

En tout cas, c’est ce que j’ai effectué !

J’obtiens désormais un message au niveau du/des serveurs xname n’autorisant pas l’écoute en udp 53

J’ai le temps de voir pendant la phase de test, un message du genre :

87.98.164.164 et 195.234.42.1 sont respectivement les serveurs ns1.xname.org et ns0.xname.org

Une idée ?

Merci :exclamation:

Je viens de modifier allow-recursion en any (ce qui n’est peut etre pas super pour la sécurité :slightly_smiling: )

Le test fonctionne avec 4 avertissements :

[quote]
[TEST existance du nom correspondant à l’adresse IP du serveur]: échec du serveur (IN/PTR: ..*.88.in-addr.arpa.)

* sd-*****.dedibox.fr./88.*.*.*[/quote]

[quote]Le serveur de nom autorise les requêtes récursives

* Réf: ZoneCheck

  Si vous configurez le serveur de noms pour répondre aux requêtes récursives, cela implique que vous acceptez que n'importe qui l'utilise pour résoudre n'importe quel type de requêtes.

  Cela permet notamment l'utilisation de votre serveur pour amplifier des attaques par déni de service et c'est donc très déconseillé. Voir [afnic.fr/actu/nouvelles/general/NN20060404](http://www.afnic.fr/actu/nouvelles/general/NN20060404). 

* sd-*****.dedibox.fr./88.*.*.*[/quote]

[quote]Le “postmaster” ne peut pas être contacté par mél

* Réf: IETF RFC1123 (p.51 5.2.7 RCPT Command: RFC-821 Section 4.1.1)

  A host that supports a receiver-SMTP MUST support the reserved mailbox "Postmaster".

*

  Impossible d'envoyer un email au "postmaster" ([postmaster@quagga.fr](mailto:postmaster@quagga.fr).) à travers les relais: mail.quagga.fr..

* générique[/quote]

A quoi sert réellement allow-recursion ?
Je pense que pour le dernier point, il suffit que je crée l’adresse postmaster@quagga.fr sur mon serveur mail ?

Merci !!!

Je n’ai plus le premier message d’erreur, mais les trois suivants désormais !

EDIT : en rajoutant dans option recursion : no

Je n’ai plus que le message d’erreur lié au mail du postmaster !!!

j’ai crée le mail postmaster@quagga.fr sur le serveur, mais j’ai toujours le message, je vais essayer d’y remédier.

Bof, pas besoin d’être grand clerc pour deviner qu’un message d’erreur “réponse refusée par le serveur” est liée à une option allow-query.

Concernant le message d’erreur selon lequel ns0.xname.org qui ne répondrait pas en UDP, je ne sais pas ce que zonecheck a fumé mais de chez moi il répond parfaitement. Peut être une erreur réseau transitoire.

Quant au message “serveur de nom n’autorisant pas la récursion”, c’est normal et c’est souhaitable. La récursion, c’est le fait qu’un serveur DNS serve les requêtes pour des zones pour lesquelles il ne fait pas autorité. Cette fonctionnalité doit être réservée aux machines dont tu as la maîtrise, par exemple ton LAN ou juste le serveur lui-même. Le reste du monde ne doit être autorisé à faire des requêtes que dans les zones pour lesquelles le serveur DNS fait autorité (en clair pour ton serveur : quagga.fr). D’ailleurs zonecheck te prévient que ce n’est pas forcément une bonne idée de l’ouvrir à tout le monde. L’option “allow-recursion” spécifie qui a accès à la récursion. Le test devrait passer avec la restriction à localhost.

Il y a un certain nombre d’adresse de courriel “réglementaires” que tout domaine devrait avoir. “postmaster” en fait partie. Il suffit de la créer ou d’en faire un alias d’une adresse existante dans la configuration du serveur SMTP.

“Les adresses des “Root Servers” sont incohérentes avec celles de l’ICANN”, ça veut dire que la liste des serveurs racine connue par le serveur DNS n’est pas à jour. Il y a un enregistrement AAAA (adresse IPv6) pour un des serveurs racine qui n’existe plus. Ce n’est pas très grave, je pense, mais c’est quand même curieux.

Merci pour ces renseignements.

Combien de temps-dois je désormais attendre pour que le domaine quagga.fr soit effectif depuis le wan ?

Il n’y a pas de délai particulier mais un certain nombre d’événements à attendre pour que tout soit en place :

  • la réplication de la zone sur les serveurs esclaves de Xname. Ça peut être immédiat grâce aux notifications (NOTIFY) si le maître et les esclaves les gèrent. Si le test de zonecheck de l’Afnic passe, ça doit être bon.
  • l’inscription de la délégation de la zone dans les serveurs DNS de l’Afnic.

Après cela, le domaine est accessible. Cependant une requête avait été faite à un serveur cache récursif (du FAI par exemple) avant que tout soit prêt, alors celui-ci a pu mettre la réponse négative en cache et il faut attendre son expiration pour interroger à nouveau ce serveur récursif. Le délai d’expiration dépend du serveur récursif en question, il peut être connu en affichant les détails de la réponse (avec host -v ou dig), c’est le nombre en seconde avant “IN”.

je croyais que ce temps de mise a jour dependait des delais paramétrés au début des fichier de zone ??

Tu parles des délais spécifiés dans l’enregistrement SOA ?

Lors d’une mise à jour d’une zone sur le serveur maître, si celui-ci envoie une notification aux serveurs esclaves et si ces derniers le prennent en compte, alors leur mise à jour peut être très rapide : dès réception de la notification provenant du maître, un esclave peut envoyer une requête SOA au maître pour vérifier que le numéro de série a augmenté par rapport au sien puis demander un transfert de zone.

En l’absence de notification, un esclave envoie au maître une requête SOA avec une période spécifiée par le champ “refresh” du SOA de la zone. A nouveau si le numéro de série a augmenté, l’esclave demande un transfert de zone. Par conséquent le délai de mise à jour d’un esclave varie entre 0 et la période de “refresh”.

Si un serveur cache récursif avait fait une requête et obtenu une réponse positive, alors cette réponse est mise en cache pour une durée spécifiée par le TTL de l’enregistrement DNS retourné. Pendant cette durée, le serveur cache servira la même réponse, et n’interrogera à nouveau un serveur faisant autorité que lorsqu’elle aura expiré.

Si un serveur cache récursif avait fait une requête et obtenu une réponse négative, alors cette réponse négative est mise en cache pour une durée spécifiée par le champ “minimum” du SOA de la zone concernée. Pendant cette durée, le serveur cache servira la réponse négative, et n’interrogera à nouveau un serveur faisant autorité que lorsqu’elle aura expiré.

Pour le moment la redirection DNS n’est pas encore effective (espérons que ça va bientôt arriver), en attendant deux petites questions :

Concernant le numéro de série d’une zone, doit-t-on l’incrémenter en cas de modification de la zone uniquement, ou même en cas de modification des fichiers de configuration ?(/etc/named.conf…).

Pour mon serveur mail, je souhaite gérer des sous-domaines (du genre samba.quagga.fr, moutchatcha.quagga.fr … Quel type d’enregistrement dois-je configurer pour ces sous-domaines ? A ou CNAME ? (J’aurais tout de même tendance à dire enregistrement A, à l’instar d’un www ou d’un mail).

Merci !

Question bonus (vraiment parce que je vous aime bien !)

Lorsque je me rends sur xname, dans la gestion de ma zone quagga.fr, j’ai ceci :

[quote]Zone serveur de noms n° de série voir statut
quagga.fr (S) Évènements I
ns0.xname.org. non disponible contenu de la zone
ns1.xname.org. non disponible contenu de la zone
88...* non disponible contenu de la zone[/quote]

Si j’affiche le contenu de la zone ns1.xname.org., j’obtiens quelque chose du genre :

Pareil pour l’autre zone xname.

Et pour mon serveur primaire, j’obtiens ceci :

[quote]Contenu de la zone quagga.fr sur le serveur 88...*

; <<>> DiG 9.3.4-P1.1 <<>> axfr quagga.fr @88...*
; (1 server found)
;; global options: printcmd
; Transfer failed.
[/quote]

Ce transfer failed m’inquiète, de quoi s’agit-t-il ?

Merci d’avance !

ps : c’est fatiguant de modifier systématiquement son nom de domaine en quagga.fr, et son @ip avec des *, et le reverse de la dedibox aussi ^^

EDIT : tail /var/log/messages me renvoie :

[quote=“quagga”]
ps : c’est fatiguant de modifier systématiquement son nom de domaine en quagga.fr, et son @ip avec des *, et le reverse de la dedibox aussi ^^[/quote]
Pourquoi le fais tu?

Je ne souhaite pas qu’il soit connu publiquement (pour le moment), il possède un caractère privé (mais ce n’est pas là le problème hein :wink: ).

EDT : Apparemment résolu en ayant ajouté :

transfer-source 92.243.14.172; use-alt-transfer-source yes;

Ou 195.234.42.1 et 87.98.164.164 sont les dns de xname, et 92.243.14.172 ???

En faisant whois, il s’agit apparemment d’un service de gandi, mais un host renvoie g1.xname.org.
Savez vous a quoi sert ce client ?

Quelle redirection DNS ? Si tu veux parler de la délégation de la zone à ton serveur primaire et aux secondaires de Xname, ce n’est pas une redirection.

Uniquement en cas de modification du contenu de la zone. La comparaison des numéros de série permet à un serveur esclave de savoir si sa copie d’une zone est plus ancienne que celle du serveur maître. Dans ce cas, il demande un transfert de zone au serveur maître pour mettre sa copie à jour.

Le plus simple à manipuler : un enregistrement MX individuel pour chaque sous-domaine de courrier, qui désigne le nom du serveur SMTP qui va le gérer. Exemple si le courrier pour samba.quagga.fr est géré par le serveur SMTP mail.quagga.fr :

Si tous les sous-domaines possibles sont gérés par un même serveur, on peut utiliser un wildcard :

Le CNAME est plus délicat à manier. Il indique une équivalence entre deux noms de domaines. Par exemple :

signifie que le nom de domaine samba.quagga.fr est considéré comme équivalent au nom de domaine quagga.fr, avec la même adresse IP, le même serveur de courrier.

Mais en tout état de cause, un nom de domaine défini à droite d’un enregistrement MX (ou NS, d’ailleurs) ne doit pas figurer à gauche d’un enregistrement CNAME mais d’un ou plusieurs enregistrements d’adresse A (IPv4) ou AAAA (IPv6). Donc ceci est à proscrire :

samba.quagga.fr.  IN  MX     10 mx.quagga.fr.
mx.quagga.fr.     IN  CNAME  mail.quagga.fr.

Je ne sais pas. J’ai la même chose avec mes zones pour lesquelles Xname est NS secondaire, donc c’est peut-être normal. Peut-être parce que quand Xname sert de secondaire, son système d’information ne gère pas les numéros de série des zones.

[quote=“quagga”]Contenu de la zone quagga.fr sur le serveur 88...*

; <<>> DiG 9.3.4-P1.1 <<>> axfr quagga.fr @88...*
; (1 server found)
;; global options: printcmd
; Transfer failed.[/quote]
Probablement parce que tu n’as pas autorisé ton propre serveur à demander des transferts de la zone. En ajoutant “localhost” dans l’option allow-transfer de la zone ça devrait marcher mieux.
Rappel : “localhost” dans les ACL de BIND ne signifie pas 127.0.0.1 mais toutes les adresses locales de la machine donc 127.0.0.1, 88...*, ::1 (adresse de loopback IPv6)…

Même chose, il faut autoriser les requêtes de transferts de zone provenant de cette adresse ainsi que d’autres appartenant à Xname et pas seulement celles des NS, comme indiqué dans la FAQ de Xname <https://www.xname.org/faq.php?language=fr#item4>.

EDIT : 92.243.14.172 est l’adresse du serveur web xname.org, qui envoie une demande de transfert de zone quand on clique sur “contenu de la zone”.

EDIT 2 : L’option transfer-source n’a rien à voir là-dedans. Elle spécifie l’adresse source de ton BIND lorsqu’il fait une demande de transfert de zone, et donc qu’il est esclave pour cette zone. D’autre part il faut y mettre une adresse appartenant à la machine.

Moi j’ai défini une ACL pour les adresses d’Xname dans mon named.conf :

acl xname { // DNS xname.org
        195.234.42.0/24; // inclut ns0.xname.org [195.234.42.1]
        193.218.105.144/28;
        87.98.164.164; // ns1.xname.org
        88.191.64.64; // ns2.xname.org
        92.243.14.172; // site web
};

Et j’inclus “xname” dans l’option allow-transfer des zones pour lesquelles Xname est secondaire :

        allow-transfer { localhost; xname; };

Un énorme merci, pour cette réponse très détaillées, et qui répond à pas mal d’interrogations !!
J’effectuerai les modifications, en espérant pouvoir bientôt mettre le sujet en ‘résolu’ !

Me voila de nouveau !
Après un petit weekend de trois jours à attendre impatiemment de pouvoir faire un ping de quagga.fr… Ben rien !

Le test de l’afnic est concluant (il n’affiche aucun message d’erreur et aucun avertissement, si ce n’est la présence d’un joker pour l’enregistrement MX).

Donc de ce point de vu là tout semble normal.
Je vous joins mes points de config, et mes fichiers de zones en espérant que vous trouverez la petite (ou la grosse) erreur qui m’empêche d’aller plus loin.

/etc/named.conf

[code]acl xname { //xname.org
195.234.42.0/24;
193.218.105.144/28;
87.98.164.164;
88.191.64.64;
92.243.14.172; }; //© Pascal Hambourg !!

options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query { any; };
recursion yes;
allow-recursion { localhost;};
allow-transfer {localhost; xname;};
version “SECRET”;
};
logging {
channel default_debug {
file “data/named.run”;
severity dynamic;
};
};

zone “.” IN {
type hint;
file “named.ca”;
};

include “/etc/named.rfc1912.zones”;
include “/etc/named.conf.local”;[/code]

/etc/named.conf.local

[code]zone “quagga.fr” {
type master;
file “/var/named/quagga.fr.zone”;
allow-transfer {
87.98.164.164; 195.234.42.0/24; 193.218.105.144/28; 88.191.64.64; 92.243.14.172;};

};[/code]

$TTL 86400
@       IN      SOA     sd-*****.dedibox.fr.    root.quagga.fr. (
                                                2009043006
                                                10800
                                                3600
                                                604800
                                                38400 )
@       IN      NS      sd-12590.quagga.fr.
@       IN      NS      ns0.xname.org.
@       IN      NS      ns1.xname.org.

@       IN      MX      10 mail.quagga.fr.
*.quagga.fr. IN  MX    10 mail.quagga.fr.

@       IN      A       88.XX.XX.XX
www     IN      A       88.XX.XX.XX

mail    IN      A       88.XX.XX.XX
ns      IN      A       88.XX.XX.XX

named-checkconf -z zone localhost.localdomain/IN: loaded serial 0 zone localhost/IN: loaded serial 0 zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: NS '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa' has no address records (A or AAAA) zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0 zone 1.0.0.127.in-addr.arpa/IN: NS '1.0.0.127.in-addr.arpa' has no address records (A or AAAA) zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0 zone 0.in-addr.arpa/IN: NS '0.in-addr.arpa' has no address records (A or AAAA) zone 0.in-addr.arpa/IN: loaded serial 0 zone quagga.fr/IN: loaded serial 2009043006

Enfin, je terminerai par une source possible d’erreur.
Mon registar est rapidomaine, voici ma configuration (il suffit logiquement de déclarer les serveurs ayant autorités) :

Serveur : sd-*****.dedibox.fr Serveur : ns0.xname.org Serveur : ns1.xname.org

Merci d’avance !!

Quagga.

EDIT :

tail /var/log/messages renvoit :

De quoi s’agit-t-il ?

Apparrement que le serveur n’a pas autorité pour ces domaines (ce qui est normal), lame == boiteu.

dans ta conf je ne vois pas de forwarders. cad quand la zone dns n’est pas gérée par ton serveur bind, à quel serveur de plus haut niveau il doit demander.

en voyant ça

Serveur : sd-*****.dedibox.fr Serveur : ns0.xname.org Serveur : ns1.xname.org

j’ai l’impression que tu demande dans resolv.conf a interoger plusieurs dns. mais à partir du moment ou un serveur repond, que ce soit oui ou non, il ne demandera pas aux autres. de plus ce fichier n,'est utilisé que par les services reseau de la machine mais pas par bind lui même.

Je t’avouerai que je n’ai pas tout compris !!

Voici mon fichier /etc/resolv.conf

search quagga.fr nameserver 127.0.0.1 nameserver 88.191.254.60

A quel niveau dois-je déclarer un forwarder, et comment/lequel ?

Merci pour votre réponse Thomas !

dans
/etc/named.conf
ou
/etc/named.conf.local
ou
/etc/named.conf.options (tiens tu n’as pas mis ce que contient ce fichier, c’est peut être dedans

un truc du style (mets les adresses dns de ton FAI ou de ton registar)

Je n’ai pas de fichier /etc/named.conf.options
Mais je crois que vous pointez le problème, je n’ai jamais déclaré de forwarders…
Dans quel fichier dois-je le déclarer ? Et quelles adresses ? FAI ou registar ou les deux ou autres ?

Merci !!!