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

[BIND 9] DNS Secondaire et views sur le primaire

6 réponses
Avatar
xavier
Bonjour,

J'ai un petit souci avec mon DNS secondaire (en DMZ), et la façon dont
les views du primaire lui transmettent leurs données.


Sur le primaire (en DMZ aussi), j'ai ceci :

----------------------------------------------------------------------
acl "view_lan" { 172.16.0.0/16; };
acl "view_dmz" { 192.168.11.32/27; }

view "lan" {
match-clients { view_lan; };
include "lan.conf";
};
view "dmz" {
match-clients { view_dmz; };
include "dmz.conf";
};
view "external" {
match-clients { any; };
include "external.conf";
};
------------------------------------------------------------------------
A noter que ce DNS fonctionne parfaitement, passe la vérification
zonecheck sans problèmes.

Mais en fait, rien qu'en lisant la config, on voit tout de suite le
problème : le secondaire, en DMZ reçoit ses infos de la view "dmz", et
lorsqu'il est interrogé de l'extérieur renvoie l'adresse privée, et non
l'adresse publique

QUESTION :

L'ordre de déclaration est-il pris en compte ? C'est à dire ceci
pourrait marcher ?

------------------------------------------------------------------------
view "external" {
match-clients { any; ip.mon.dns.secondaire };
include "external.conf";
};
view "lan" {
match-clients { view_lan; };
include "lan.conf";
};
view "dmz" {
match-clients { view_dmz; };
include "dmz.conf";
};
------------------------------------------------------------------------

Merci,

--
Xav
The cracked brass bells will ring,
To summon back the fire witch

6 réponses

Avatar
Pascal Hambourg
Salut,

Xavier a écrit :

J'ai un petit souci avec mon DNS secondaire (en DMZ), et la façon dont
les views du primaire lui transmettent leurs données.



Problème classique avec les vues. Il faut faire en sorte que les
requêtes de mise à jour du secondaire correspondent à la bonne vue du
primaire, par exemple en jouant sur l'adresse source ou destination. Cf.
les options match-clients et match-destinations dans les définitions des
vues du primaire et transfer-source dans les définitions de zones du
secondaire.

Tu veux transférer sur le secondaire des zones d'une seule vue du
primaire ou de plusieurs ?

L'ordre de déclaration est-il pris en compte ?



Oui, BIND utilise la première vue dont les critères correspondent à la
requête.

C'est à dire ceci pourrait marcher ?

------------------------------------------------------------------------
view "external" {
match-clients { any; ip.mon.dns.secondaire };
include "external.conf";
};
view "lan" {
match-clients { view_lan; };
include "lan.conf";
};
view "dmz" {
match-clients { view_dmz; };
include "dmz.conf";
};
------------------------------------------------------------------------



J'en doute, car la première vue "external" va tout ramasser avec son "any".
Avatar
Pascal Hambourg
Pascal Hambourg a écrit :

Tu veux transférer sur le secondaire des zones d'une seule vue du
primaire ou de plusieurs ?



Je demande parce que ça se complique un peu lorsqu'un secondaire doit
récupérer des zones de différentes vues d'un primaire. ;-)

C'est à dire ceci pourrait marcher ?

------------------------------------------------------------------------
view "external" {
match-clients { any; ip.mon.dns.secondaire };
include "external.conf";
};
view "lan" {
match-clients { view_lan; };
include "lan.conf";
};
view "dmz" {
match-clients { view_dmz; };
include "dmz.conf";
};
------------------------------------------------------------------------



J'en doute, car la première vue "external" va tout ramasser avec son "any".



Cependant tu peux exclure une adresse d'une liste de correspondance en
la faisant précéder de "!". Par exemple (là aussi l'ordre compte) :

view "dmz" {
match-clients { ! ip.mon.dns.secondaire; view_dmz; };
include "dmz.conf";
};

(Je ne dis pas que c'est la solution à ton problème, tu n'en as pas
assez dit).
Avatar
xavier
Pascal Hambourg wrote:

> Tu veux transférer sur le secondaire des zones d'une seule vue du
> primaire ou de plusieurs ?

Je demande parce que ça se complique un peu lorsqu'un secondaire doit
récupérer des zones de différentes vues d'un primaire. ;-)



Non, juste la vue "externe". C'est le secondaire public. Il y en a un
autre, privé, dans le LAN

view "dmz" {
match-clients { ! ip.mon.dns.secondaire; view_dmz; };
include "dmz.conf";
};



Ca, ça pourrait être la solution, effectivement.

Merci,

--
Xav
The cracked brass bells will ring,
To summon back the fire witch
Avatar
xavier
Xavier wrote:

Ca, ça pourrait être la solution, effectivement.



C'est. Merci Pascal.

Je me serais épargné bien de la peine en allant consulter les excellents
guides chez <http://www.zytrax.com/books/> . Tout le rete du site est
une mine, d'ailleurs.

--
XAv
In your pomp and all your glory you're a poorer man than me,
as you lick the boots of death born out of fear.
Avatar
xavier
Xavier wrote:

> Ca, ça pourrait être la solution, effectivement.

C'est. Merci Pascal.



Bon, c'est pas entièrement la solution :

----------------------------------------------------
view "lan" {
match-clients { injep_lan; };
include "lan.conf";
};

view "dmz" {
match-clients { !public_secondary; injep_dmz; };
include "dmz.conf";
};

view "external" {
match-clients { any; };
include "external.conf";
};
----------------------------------------------------

Si ça fait bien ce que je veux pour le transfert de zones, par contre ça
marche plus pour les résolutions sur la machine "public_secondary" elle
même. Elle reçoit ses réponses comme une machine externe, ce qu'elle
n'est pas. Et comme c'est un MX, ça fait un peu désordre ...


Est-ce possible par les acl de différencier les transferts de zones des
requêtes DNS simples ?

Merci,

--
Xav
The cracked brass bells will ring,
To summon back the fire witch
Avatar
Pascal Hambourg
Xavier a écrit :

Si ça fait bien ce que je veux pour le transfert de zones, par contre ça
marche plus pour les résolutions sur la machine "public_secondary" elle
même. Elle reçoit ses réponses comme une machine externe, ce qu'elle
n'est pas. Et comme c'est un MX, ça fait un peu désordre ...



Ah, j'avais prévenu qu'il y avait des effets de bord.

Est-ce possible par les acl de différencier les transferts de zones des
requêtes DNS simples ?



Voir ma première réponse. Par exemple utiliser une adresse IP
supplémentaire, soit sur le primaire comme destination, soit sur le
secondaire comme source des requêtes liées au transfert de zone.