Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[bind9] Retransmettre des requêtes DNS

3 réponses
Avatar
Pascal Hambourg
Bonjour,

La situation :
- Un serveur DNS BIND 9.7 (Debian Squeeze), public, non récursif, qui
sert une zone publique.

- Un pseudo-serveur DNS privé, qui sert un sous-domaine de la zone
publique. Ce n'est pas un "vrai" serveur DNS, dans le sens où il ne
répond que pour des requêtes particulières, et notamment n'a pas les
enregistrements SOA ni NS réglementaires, ni le transfert de zone. Il
n'est joignable que depuis la machine ci-dessus sur laquelle tourne
BIND. Ses réponses sont construites en temps réel, on ne peut pas
produire un fichier de zone à inclure.

Mon objectif est que BIND retransmette les requêtes qu'il reçoit pour ce
sous-domaine vers le serveur DNS privé. Jusqu'ici, je sèche
lamentablement malgré mes recherches et tentatives.

Je ne peux évidemment pas juste créer une délégation dans la zone
publique servie par BIND puisque l'adresse du serveur privé est
inaccessible depuis le reste du monde.

Créer une zone de type "slave" sur BIND ne fonctionnerait pas non plus
d'une part à cause de l'absence de support des NS, SOA et transfert de
zone par le pseudo-serveur.

J'ai essayé :
- Une zone de type "forward" avec comme forwarder l'adresse du serveur
privé. Mais comme la récursion n'est pas activée, ça ne marche pas.

- Une zone de type "stub" avec comme master l'adresse du serveur privé.
Mais comme ce dernier ne fournit pas de NS ni SOA, ça n'a pas l'air de
marcher. Ou bien c'est encore à cause de l'absence de récursion, je ne
sais pas. En fait j'ai du mal à appréhender précisément le
fonctionnement d'une zone de type "stub".

D'autres idées ?

3 réponses

Avatar
Damien Wyart
* Pascal Hambourg in fr.comp.reseaux.ip:
J'ai essayé :
- Une zone de type "forward" avec comme forwarder l'adresse du serveur
privé. Mais comme la récursion n'est pas activée, ça ne marche pas.



Voir ces discussions pour des parallèles avec des situations
similaires :

https://lists.isc.org/pipermail/bind-users/2006-November/thread.html#64722
https://lists.isc.org/pipermail/bind-users/2010-September/081386.html
https://lists.isc.org/pipermail/bind-users/2010-October/thread.html#81398

Il semble bien qu'il n'y ait pas vraiment de solution, à part repasser
le premier serveur en récursif et jouer éventuellement sur les
différentes directives de "fermeture" pour limiter l'utilisation
(forward only, allow-recursion, allow-query-cache, additional-from-cache).

Pourquoi le premier serveur doit-il absolument ne pas être récursif ?

--
DW
Avatar
Damien Wyart
* Pascal Hambourg in fr.comp.reseaux.ip:
- Une zone de type "stub" avec comme master l'adresse du serveur
privé. Mais comme ce dernier ne fournit pas de NS ni SOA, ça n'a pas
l'air de marcher. Ou bien c'est encore à cause de l'absence de
récursion, je ne sais pas. En fait j'ai du mal à appréhender
précisément le fonctionnement d'une zone de type "stub".



stub est un slave qui ne réplique que NS, donc en effet ça ne peut pas
convenir dans ce cas.

--
DW
Avatar
Pascal Hambourg
Damien Wyart a écrit :

Il semble bien qu'il n'y ait pas vraiment de solution, à part repasser
le premier serveur en récursif et jouer éventuellement sur les
différentes directives de "fermeture" pour limiter l'utilisation
(forward only, allow-recursion, allow-query-cache, additional-from-cache).

Pourquoi le premier serveur doit-il absolument ne pas être récursif ?



Parce que c'est un serveur autoritaire qui sert des zones, il n'a pas
vocation à être récursif pour le monde entier. Or d'après toutes les
discussions cités et le résultat de mes recherches, il n'y a pas de
moyen dans BIND de limiter la récursion à certains domaines. C'est tout
ou rien.