Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 23/04/2013, à 15:19

bouxroute

problème sur une zone 'forward' de BIND

Hello

J'héberge certains domaines dont je ne peux pas modifier les serveurs DNS indiqués sur leur registrar respectifs. Ceux-ci pointent actuellement sur mon serveur de DNS perso "dns1.domaine.com".
Afin de faciliter la gestion de ces nombreux domaines, je suis passé sur un webservice externe de gestion de DNS ( Route 53 d'Amazon pour ne pas le citer ).

J'avais dans l'idée d'indiquer à dns1.domaine.com de forwarder toutes les demandes de résolution qu'il recevrait sur les IP d'amazon. Donc en gros:

[client: demande de résolution de truc.fr] => [dns1.domaine.com: forward de la requête sur amazon] => [amazon: résolution de la requête]

Or, voici mon problème: bind est sécurisé pour ne pas être "ouvert" à la résolution de n'importe quel domaine, avec dans le named.conf.options :

allow-query { localhost;};    
allow-recursion { localhost; };
allow-transfer {none;};

...ce qui oblige à autoriser les demandes de résolutions zone par zone, et donc uniquement des domaines qu'on héberge. Exemple sur named.conf:

zone "exemple.fr" IN {
       type master;
       file "/etc/bind/exemple.fr";
       allow-query {any;};
};

Le résultat obtenu: depuis une machine extérieure, on arrive bien à résoudre notre domaine hébergé, mais pas un domaine inconnu de named.conf ( 'google.fr' dans l'exemple ci-dessous ):

# dig @dns1.domaine.com www.exemple.fr

; <<>> DiG 9.7.3 <<>> @dns1.domaine.com www.exemple.fr
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62893
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;www.exemple.fr.               IN      A

;; ANSWER SECTION:
www.exemple.fr.    36000   IN      A       123.456.78.90


# dig @dns1.domaine.com www.google.fr

; <<>> DiG 9.7.3 <<>> @dns1.klikissi.com www.google.fr
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 63145
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;www.google.fr.                 IN      A

Jusque là, tout est normal. J'en viens à mon soucis de zone 'forward'. Celle-ci ressemble à ça dans named.conf:

zone "exemple2.fr" IN {
  type forward;
  forward only;
  forwarders { 205.251.192.140; 205.251.196.27; 205.251.199.225; 205.251.195.11; }; 
};

...mais voilà, avec ma configuration 'fermée' de named.conf.options, impossible d'obtenir une réponse depuis une machine extérieure:

# dig @dns1.domaine.com www.exemple2.fr

; <<>> DiG 9.7.3 <<>> @dns1.domaine.com www.exemple2.fr
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 1725
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;www.exemple2.fr.           IN      A

Suivant la logique générale, je devrais pouvoir indiquer spécifiquement à la zone concernée que le domaine doit être résolu depuis l'extérieur, donc avec par exemple:

zone "exemple2.fr" IN {
  allow-query {any;};
  type forward;
  forward only;
  forwarders { 205.251.192.140; 205.251.196.27; 205.251.199.225; 205.251.195.11; }; 
};

malheureusement cette option n'est pas valide pour les type 'forward', comme le signale le syslog:

named[2959]: /etc/bind/named.conf:49: option 'allow-query' is not allowed in 'forward' zone 'exemple2.fr'

Donc, comment faire en sorte que cette zone soit résolvable sans pour autant retirer mes sécurités globales dans named.conf.options ?

merci d'avance pour votre aide.

Hors ligne

Haut de page ↑