DNS forwarders - BIND9

Hello,

J’ai un big souci et je n’arrive pas à le résoudre malgré avoir lu pas mal de documentations là-dessus.

Je vous explique mon problème.
J’aimerai utiliser les DNS du FAI plus d’autres DNS backup en cas de problèmes avec les DNS du FAI qui ne tombent pas souvent mais régulièrement on va dire.

Donc, j’ai mis tout bêtement 4-5 DNS dans le forwarders mais le souci que j’ai, c’est qu’il essaye une fois et s’il ne répond pas, il n’essaye pas les autres forwarders mais il check directement les DNS root ce qui pose un grave problème car ils n’ont pas été autorisés dans le firewall et comme il y en a des centaines (millier?), je vais pas rentrer tous les serveurs dns de la planète dans mon firewall one by one …

Après recherche, j’ai vu qu’il y avait une règle “forward only” et cela permet de ne pas utiliser les DNS root. C’est bien mais d’après mes tests lorsqu’un DNS ne répond pas à la requête, il n’essaye pas les autres et la résolution de nom échoue. (J’ai peut-être mal fait mes tests si quelqu’un pourrait me confirmer la chose ?)

Alors, est-ce qu’il est possible de faire une sorte de chaîne en mettant quel est le primary, secondary etc… ? Avec peut-être un temps de réponse max comme 100ms avant de passer au suivant ? Ainsi que peut-être un mini cache de 6-24h qui dis de ne plus utiliser ce serveur car down ?
(Car je sais que c’est aléatoire mais ce n’est pas forcément bien comme le temps de réponse des DNS FAI seront dans tous les cas plus rapide que les autres qui sont là au final que en cas de plantage des DNS du FAI.)

Deuxième problème, j’utilise (en test pour le moment) les DNS d’opennic qui fournissent des noms de domaine à eux mais le souci c’est que ces noms de domaines sont uniquement resolvable par les dns d’opennic donc est-ce qu’il est possible que si le serveur DNS de mon FAI ne résolve pas l’adresse, de retenter directement sur le DNS d’opennic ?
(Mon souci est que le serveur est là, fonctionne, répond mais qu’il ne connait tout simplement pas cette adresse. Est-ce qu’il est possible de dire à bind d’aller intérroger un autre serveur en cas d’adresse DNS inconnu ?)

Il y a pas mal de paramètre possible dans Bind mais est-ce qu’il est possible de faire un espèce de petit script qui lui dit comment réagir dans tel ou tel cas en donnant des DNS précis ?

Merci d’avance pour votre aide !

Bonjour,

Voici un lien <http://www.zytrax.com/books/dns/ch7/queries.html> avec une section sur le forward.

Il y a une directive forward qui définit le comportement de la redirection des requêtes.

Par défaut, elle a pour valeur first:
<<
forward is only relevant in conjunction with a valid forwarders statement. If set to ‘only’ the server will only forward queries, if set to ‘first’ (default) it will send the queries to the forwarder and if not answered will attempt to answer the query. This statement may be used in a zone, view or a global options clause.

.

Cà peut expliquer pourquoi des dns ROOT répondent après une tentative auprès des dns forwarders.

Pour tracer l’activité du bind, tu devrais augmenter le niveau de trace (zytrax.com/books/dns/ch7/logging.html) par la directive logging - utiliser les catégories client, resolver,queries et mettre severity en debug-.

Le fait de journaliser les requêtes pourrait permettre de faire un diagnostic précis.

Cordialement.

Bonjour,

Merci pour vote réponse !

En faite, j’ai déjà passé mes requêtes en “forward only” mais ça ne semblait pas correctement fonctionner mais je vais effectivement refaire quelques tests en activant les logs.
Je n’ai pas pensé à activer les logs de Bind enfin juste fait quelques check avec dig mais c’est tout.

Par contre, je suis étonné qu’il n’y ait pas une sorte de script qui permette de faire exactement ce que l’on veut enfin de donner des priorités et ça. Comme par exemple dire, que tel extension doit être résolu par tel serveur.

Je vais continuer mes recherches ou voir peut-être avec un autre serveur DNS. (J’ai été habitué à pouvoir configurer exactement comme je le voulais toutes les applications que j’ai installé sous Linux :wink: )

Merci encore !

EDIT : Tout fonctionne correctement, c’est probablement moi qui avait fait une erreur lors des tests :frowning:
Les DNS sont interrogés aléatoirement et en cas de non réponse, il passe automatiquement sur un des autres donc tout marche très bien !