bind forwarding d'un domaine local

bind forwarding d'un domaine local - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 13-10-2014 à 00:12:55    

Bonjour,
 
j'effectue des tests sur deux serveurs bind n1 et n2 à but d'apprentissage,
Et je bloque sur l'option forwarders, je conclu pour le moment qu'un forwarder ne peut pas servir à résoudre de noms locaux mais que des noms publiques.
Si vous pouvez m'éclairer sur ce sujet cela serait super sympa.
 
 
Voici ma configuration actuelle de test :
 
n1 possède une zone locale foo.bar que je souhaite être résolu par forwarding
 
named.conf.local de n1 :

Code :
  1. zone "foo.bar" {
  2.         type master;
  3.         file "/etc/bind/db.foo.bar";
  4. };


db.foo.bar de n1 :

Code :
  1. $TTL 3h
  2. @      IN      SOA      n1.domaine.  user.n1.domaine (
  3.                                 2101128998
  4.                                 600
  5.                                 300
  6.                                 7D
  7.                                 600 )
  8. @       IN      NS      n1.domaine.
  9. @       IN      A       192.168.1.3


je vous passe la zone inverse.
 
Pour tester le forwarding, j'ai écris un forwarders sur n2  afin qu'il passe par n1 pour résoudre foo.bar (je sais utiliser un bind en tant que slave mais ici je veux tester le forwarding)
 
named.conf.options de n2 :

Code :
  1. forwarders {
  2.          192.168.1.13; //n1
  3.          };
  4. dnssec-validation yes;
  5. auth-nxdomain no; 
  6. listen-on-v6 { none; };
  7. allow-recursion {192.168.1.0/24;};
  8. allow-query {192.168.1.0/24;};


 
sur n2 la commande dig foo.bar  me renvoi le résultat nxdomain et comme serveur d’autorité pour la racine "." a.rootserver...
Par contre la commande dig @192.168.1.13 foo.bar exécutée sur n2 me renvoi le serveur d'autorité n1 ainsi que la bonne réponse.
 
C'est comme si le forwarder ne fonctionne pas pour les noms locaux car n2 passe directement au serveur root et ne trouve bien entendu aucun résultat.
 
J'attend vos avis, merci


Message édité par drone83 le 13-10-2014 à 11:17:35
Reply

Marsh Posté le 13-10-2014 à 00:12:55   

Reply

Marsh Posté le 13-10-2014 à 10:34:32    

T'as fait un copier/coller de ta conf sur n2 ?
Si oui : 192.186.1.13; <= T'as mis 186 au lieu de 168.
 
Auquel cas ça explique le comportement constaté :D


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 13-10-2014 à 11:27:45    

Oups, j'viens d'éditer ça, non je n'ai pas fais de copié collé, j'ai écris un exemple et c'était une erreur lors de l'écriture  :D  
 
Donc j'ai l'impression que n2 n'utilise pas n1, pourtant j'ai ajouté "forward first;" sur n2 afin qu'il utilise le forwarder..
dans les logs de n1 je ne vois pas de requêtes, comment peut on vérifier l'utilisation du forwarder autrement ?
 
Voici la commande dig qui me montre que n2 n'utilise pas le forwarder:
 
sur n2
 
dig foo.bar m’envoie un nxdomain :
 

Code :
  1. ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 40423
  2. ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
  3. ;; QUESTION SECTION:
  4. ;foo.bar.                IN      A
  5. ;; AUTHORITY SECTION:
  6. .                       2029    IN      SOA     a.root-servers.net. nstld.verisign-grs.com. 2014101300 1800 900 604800 86400


 
dig @192.168.1.13 foo.bar m’envoie aucune erreur
 

Code :
  1. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24905
  2. ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
  3. ;; QUESTION SECTION:
  4. ;foo.bar.                 IN      A
  5. ;; ANSWER SECTION:
  6. foo.bar.          10800   IN      A       192.168.1.3
  7. ;; AUTHORITY SECTION:
  8. foo.bar.          10800   IN      NS      n1.domain.


Message édité par drone83 le 13-10-2014 à 11:30:16
Reply

Marsh Posté le 13-10-2014 à 23:37:08    

Bon j'ai trouvé, pour que le forward fonctionne il fallait indiquer quand l'utiliser, comme je ne l'utilise pas pour un domaine en particulier, il fallait que je place pour la zone root "."
 
donc dans /etc/bin/defaut-zone sur n2 :
 

Code :
  1. zone "." {
  2.         type forward; // à la place de type hint, à noter que je n'indique plus la zone des roots, les requêtes passeront par n2.
  3.         forward first;
  4.         forwarders { 192.168.1.1;
  5.                    } ;
  6. } ;


 
de même pour résoudre un nom local tel que foo.bar j'ai du désactiver la validation dnssec
 
dans named.conf/options sur n2
 

Code :
  1. dnssec-validation no;


 
n2 utilise bien le forward n1
Ce qui me parait étrange c'est que j'ai lu partout que le forward s'utilise avant les racines root genre il suffit de mettre forwarders dans la zone global, ce qui n'a pas été le cas car j'ai du préciser le forward dans la zone root.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed