IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau Discussion :

problème sur une zone 'forward' de BIND


Sujet :

Réseau

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 20
    Par défaut 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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    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 [B]named.conf[B]:
    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;};
    };
    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
    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
    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
     
    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:

    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
    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
    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:

    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'
    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.

  2. #2
    Membre confirmé
    Avatar de ChMuX
    Homme Profil pro
    SysOps DevOps AWS
    Inscrit en
    Mai 2012
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : SysOps DevOps AWS

    Informations forums :
    Inscription : Mai 2012
    Messages : 167
    Par défaut
    Je ne suis pas expert mais je peux te proposer un truc, à toi de voir si ça correspond à tes besoins.

    Si j'ai bien compris ton dns ne peut pas résoudre exemple2.fr et donc si une machine veut résoudre ce nom, tu renvoie la demande sur d'autres dns qui peuvent la résoudre eux.

    Donc d'après moi, il ne faut pas faire de zone "exemple2.fr" car justement tu ne peux pas la résoudre, il faut en fait (je pense) que tu ne mettes QUE les zones que tu peux résoudre et dans ton named.conf.options tu balances:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    forwarders {  205.251.192.140; 205.251.196.27; 205.251.199.225; 205.251.195.11; }; 
            allow-query { any; };
    Un truc comme ça

    Comme ça, toutes les zones qu'il ne peut pas résoudre, bah il forward ailleurs et tchao

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 20
    Par défaut
    Merci de ta réponse.

    ça aurait pu fonctionner si je n'avait pas plusieurs domaines à mettre en 'forward': effectivement Route 53 d'Amazon attribue des IPs de serveurs DNS différentes pour chaque domaine qu'il gère. ( pas super pratique, j'en conviens )

    Je ne peux donc pas indiquer ces ips de redirection de façon globale dans named.conf.options

  4. #4
    Membre confirmé
    Avatar de ChMuX
    Homme Profil pro
    SysOps DevOps AWS
    Inscrit en
    Mai 2012
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : SysOps DevOps AWS

    Informations forums :
    Inscription : Mai 2012
    Messages : 167
    Par défaut
    Mais je comprend pas, tu n'as pas à avoir à mettre des domaines en forward.
    T'as juste à définir les domaines que tu sais résoudre dans tes "zones" et si il ne trouve pas la zone à résoudre bah op il forward la requête.
    Enfin je pense que ça marche comme ça hein !! ^^

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 20
    Par défaut
    Pour forwarder sur une IP précise ( pour rappel: au moins 1 IP différente par domaine, et il y a plusieurs domaines ), il faut bien déclarer une zone pour chaque domaine concerné...

  6. #6
    Membre confirmé
    Avatar de ChMuX
    Homme Profil pro
    SysOps DevOps AWS
    Inscrit en
    Mai 2012
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : SysOps DevOps AWS

    Informations forums :
    Inscription : Mai 2012
    Messages : 167
    Par défaut
    J'ai l'impression qu'on ne se comprend pas
    En fait tu veux qu'il forward pour seulement quelques domaines et que tu auras choisi toi? Et donc que les autres domaines que tu ne sais pas résoudre, il ne forward pas (et restent donc non résolubles)??
    Si c'est bien le cas, j'aurais tenté la même chose que tu as a fait toi avec tes zones mais apparemment ça ne fonctionne pas..

Discussions similaires

  1. problème de stopDrag sur une zone définie
    Par lachourave dans le forum Flash
    Réponses: 5
    Dernier message: 06/06/2008, 12h03
  2. Problème sur une expression régulière
    Par Verbal-Quint dans le forum Langage
    Réponses: 6
    Dernier message: 12/11/2004, 10h54
  3. Problème sur une requête INSERT
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/06/2003, 08h45
  4. problème sur une requête!!!!!
    Par Mcgrady_01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/06/2003, 01h17
  5. Réponses: 17
    Dernier message: 25/03/2003, 13h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo