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 :
...ce qui oblige à autoriser les demandes de résolutions zone par zone, et donc uniquement des domaines qu'on héberge. Exemple sur [B]named.conf[B]:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 allow-query { localhost;}; allow-recursion { localhost; }; allow-transfer {none;};
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 ):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 zone "exemple.fr" IN { type master; file "/etc/bind/exemple.fr"; allow-query {any;}; };
Jusque là, tout est normal. J'en viens à mon soucis de zone 'forward'. Celle-ci ressemble à ça dans named.conf:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 # 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
...mais voilà, avec ma configuration 'fermée' de named.conf.options, impossible d'obtenir une réponse depuis une machine extérieure:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 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; }; };
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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 # 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
malheureusement cette option n'est pas valide pour les type 'forward', comme le signale le syslog:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 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; }; };
Donc, comment faire en sorte que cette zone soit résolvable sans pour autant retirer mes sécurités globales dans named.conf.options ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 named[2959]: /etc/bind/named.conf:49: option 'allow-query' is not allowed in 'forward' zone 'exemple2.fr'
merci d'avance pour votre aide.
Partager