Bind9 domaine local+externe

Hello,

J’ai un petit souci mais qui commence à me prendre un peu la tête.
Je fais des recherches depuis quelques heures mais je ne trouve vraiment pas la solution.

J’ai un DNS externe qui va très bien mais j’aimerai juste rediriger ces adresses en local vers mes différentes machines locales sans modifier le fichier host de toutes les machines.
Pour cela, j’ai crée une zone en master(testé en slave aussi) sur bind9 sauf que maintenant (c’était sûr), je n’accède plus aux adresses de mon dns externe pour les adresses qui doivent être rediriger ailleurs sur le web et non sur mon LAN.
Comment puis-je faire ? (A part en mettant à chaque fois à jour des 2 côtés car je vais chaque oublier de mettre à jour en local, c’est sûr :frowning: )

J’ai tenté en master, en slave, en transfert mais rien semble marcher, les adresses qui ne sont pas dans la zone locale ne sont pas résolues.
Ce qui est presque normal vu qu’en théorie c’est moi qui gère ce domaine du moins pour le serveur.

Est-ce qu’il y a une solution magique que je n’ai pas trouvé ?

Merci d’avance !

Salut !

A part vérifier que les 2 DNS se synchronisent bien entre eux je ne vois pas :unamused:
Peut être peux tu plus détaillé les configs ?

Cdlt,

Hello,

Oui ce n’était peut-être pas très clair.

J’ai un domaine “externe” gérer par un hébergeur où je fais ce genre de redirection :

a.mondomaine.com qui pointe sur monserveur(LAN)
b.mondomaine.com qui pointe sur monserveur(LAN)
c.mondomaine.com qui pointe sur un site web
d.mondomaine.com qui pointe aussi sur un site web

Après sur mon serveur bind local qui se situe sur monserveur(LAN), le souci c’est que “a.mondomaine.com” et “b.mondomaine.com” se retrouve résolu avec l’adresse ip externe du serveur ce qui est normal.
Mais moi, j’aimerai que bind prenne le relai et redirige sur le bon PC dans mon lan.
Exemple : a.mondomaine.com soit redirigé vers 192.168.1.12 et b.mondomaine.com soit redirigé vers 192.168.1.13 et non vers 100.100.100.100 (ip externe)

Je peux modifier les fichiers hosts de toutes les machines mais ce n’est pas très pratique donc j’ai crée une zone mondomaine.com et redirigé ces adresses vers le lan mais le souci c’est que les autres c.mondomaine.com et d.mondomaine.com ne sont plus résolus comme ils ne sont pas spécifié dans la zone.
Comment puis-je configurer bind pour aller chercher sur les dns standards les adresses qu’il ne peut pas résoudre lui même dans sa propre zone ? Ou faut-il faire autrement ? J’ai tenté de modifier le fichier host sur le serveur mais ça marche pour les requêtes faites depuis le serveur mais pas depuis les autres PC comme ils vont sur bind et bind rediriger automatiquement vers les dns standards, les zones qu’il ne connait pas.

Merci d’avance :wink:

Humm… Je vois déjà mieux… Bien que mes 2 neurones galère un peu :083

Et si tu ajoutes des PTR dans tes zones cela ne résoud pas le problème ?

A partir de ce tutoriel tu ne trouverais pas ta réponse à tout hasard ?
wiki.gandi.net/fr/hosting/using- … buntu/bind

Au pire post moi un de tes fichiers de conf de zone.

Salut !

Utilise des views, dans ton named.conf:

[code]acl “interne” {
{ 127.0.0.0/8; };
{ 10.0.0.0/8; };
{ 192.168.0.0/16; };
};

view “interieur” {
match-clients { interne ; };

zone “.” {
type hint;
file “/etc/bind/db.root”;
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone “localhost” {
type master;
file “/etc/bind/db.local”;
};

zone “127.in-addr.arpa” {
type master;
file “/etc/bind/db.127”;
};

zone “0.in-addr.arpa” {
type master;
file “/etc/bind/db.0”;
};

zone “255.in-addr.arpa” {
type master;
file “/etc/bind/db.255”;
};

include “/etc/bind/named.conf.local.interieur”;
};

view “exterieur” {
match-clients { any ; };

zone “.” {
type hint;
file “/etc/bind/db.root”;
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone “localhost” {
type master;
file “/etc/bind/db.local”;
};

zone “127.in-addr.arpa” {
type master;
file “/etc/bind/db.127”;
};

zone “0.in-addr.arpa” {
type master;
file “/etc/bind/db.0”;
};

zone “255.in-addr.arpa” {
type master;
file “/etc/bind/db.255”;
};

include “/etc/bind/named.conf.local.exterieur”;
};
[/code]

(j’ai supposé ici comme ip local 10.0.0.0/8 et 192.168.0.0/16, tu mets dans /etc/bind/named.conf.local.exterieur et /etc/bind/named.conf.local.interieur les configurations de ton DNS pour le LAN et pour l’extérieur.

Oui, j’utilise déjà des PTR dans le fichier reverse.

Je viens de tester la “view” mais apparement, il ne va pas chercher ailleurs les adresses malgré le “recursion yes” :frowning:

Disons que j’ai 2 DNS mais pas sur le même serveur …
Oui, je sais, je fais des trucs spéciaux mais Debian a toujours une solution pour moi normalement :slightly_smiling:

Bon je copie/colle ma config ce sera peut-être plus clair …

DNS local :

named.conf :


view “internalnetworks” {

match-clients {
192.168.0.0/16; };

recursion yes;

zone “mydomain.com” {
type master;
file “/etc/bind/db.mydomain.com”;
};

zone “192.168.in-addr.arpa” {
type master;
file “/etc/bind/db.mydomain.com.rev”;
};

};


db.mydomain.com :


$TTL 604800
@ IN SOA ns1.mydomain.com. ns2.mydomain.com. (
20041122 ;
604800 ;
86400 ;
2419200 ;
604800 ) ;

@ IN NS ns1.mydomain.com.
@ IN NS ns2.mydomain.com.
mydomain.com. IN A 192.168.0.1

;** Les lignes suivantes définissent la table entre les noms et les IP
ns1 IN A 192.168.0.1
ns2 IN A 192.168.0.1
a IN A 192.168.1.1
b IN A 192.168.1.2
c IN A 192.168.2.1
d IN A 192.168.2.2


DNS externe (gérer sur un autre serveur qui n’est pas sur mon LAN) :


ns1 IN A 100.100.100.101
ns2 IN A 100.100.100.102
a IN A 100.100.100.100
b IN A 100.100.100.100
c IN A 100.100.100.100
d IN A 100.100.100.100
e IN A 110.110.110.110
f IN A 120.120.120.120
g IN A 130.130.130.130
h IN A 140.140.140.140


Donc, je peux sans souci accéder aux adresses que j’ai définies sur mon serveur bind local mais impossible d’accéder aux adresses “extrenes” : e/f/g/h du dns externe car il tente pas de les résoudres via les DNS “standards”. J’aimerai plus configurer bind comme un fichier hosts standard où il va lire que les adresses locales et le reste, il va chercher sur les serveurs DNS habituels mais cela ne semble pas possible sans créer une zone :frowning:
C’est pour éviter de mettre à jour des deux côtés les serveurs DNS à la main ou modifier tous les fichiers hosts des PC sur mon LAN.

Merci poru votre aide en tout cas, je connaissais pas du tout le système de “view” et j’ai bien pensé que cela résolverait mon problème avec “recursion yes” mais apparement, il le prend pas en compte :frowning:

Il suffit d’une directive allow-recursion dans les options (named.conf.options)

allow-recursion {192.168.0.0/16; 127.0.0.0/8;10.0.0.0/8;}; par exemple

J’ai déjà “allow-recursion” … :frowning:

named.conf.options :


allow-query {
127.0.0.1;
192.168.0.0/16;
};
allow-recursion {
127.0.0.1;
192.168.0.0/16;
};
allow-query-cache {
127.0.0.1;
192.168.0.0/16;
};

allow-transfer { none; };

//forward first;
forwarders {
DNS1;
DNS2;
DNS3;
DNS4;
};
forward only;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { none; };
version none;
};


Mais j’ai surement dû faire une erreur quelque part … :frowning:

Merci en tout cas pour le temps passé pour m’aider mais je sèche complètement là :frowning:

Non, c’est moi qui n’avais pas bien compris ton problème. Ma solution est à coté de la plaque. Dans ta situation, j’aurais plutôt cherché à faire de la redirection au niveau de la passerelle mais ce que tu demandes à bind doit être possible, je réfléchis.

Après reflexion, en repartant du début, est ce que l’ajout de

[code]zone “a.mondomaine.com” {
type master;
file “/etc/bind/zones/a.mondomaine.com.zone”;
};

zone “mondomaine.com” {
master { IP_DU_DNS_EXTERIEUR} ;
};

[/code]

où tu fais localement un fichier ne définissant que l’adresse locale de a.mondomaine.com marche?

C’est vraiment pas bête !
En faite, j’y avais même pas pensé mais en théorie cela devrait marcher … J’ai même pas besoin de mettre le domaine générique normalement, il devrait directement partir sur les DNS standards, je teste, je mets à jour ici dans quelques instants :slightly_smiling:

EDIT :

CA MARCHE !!!

En tout cas merci pour tout … J’aurai presque pu le trouver quand même mais je crois que je cherchais trop compliqué :frowning:
J’ai mis que les sous-domaines en faite et le reste, il va automatiquement chercher sur les DNS standards :slightly_smiling:

Merci pour tout !

Bonjour Warnings,

je suis entrain de faire une petite recherche sur le DNS externe et interne + Bind9, comme tu as résolu ton problème pourras-tu nous afficher le résultat s’il te plaît?
Cordialement,