Dig renvoie «status: REFUSED» pour les requêtes externes?

14

Je n'arrive pas à comprendre pourquoi mon DNS ne fonctionne pas correctement, si je lance creuser depuis le serveur de noms, il fonctionne correctement:

# dig ungl.org

; <<>> DiG 9.5.1-P2.1 <<>> ungl.org
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24585
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; QUESTION SECTION:
;ungl.org.                      IN      A

;; ANSWER SECTION:
ungl.org.               38400   IN      A       188.165.34.72

;; AUTHORITY SECTION:
ungl.org.               38400   IN      NS      ns.kimsufi.com.
ungl.org.               38400   IN      NS      r29901.ovh.net.

;; ADDITIONAL SECTION:
ns.kimsufi.com.         85529   IN      A       213.186.33.199

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Mar 13 01:04:06 2010
;; MSG SIZE  rcvd: 114

mais lorsque je l'exécute à partir d'un autre serveur dans le même centre de données, je reçois:

# dig @87.98.167.208 ungl.org

; <<>> DiG 9.5.1-P2.1 <<>> @87.98.167.208 ungl.org
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 18787
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;ungl.org.                      IN      A

;; Query time: 1 msec
;; SERVER: 87.98.167.208#53(87.98.167.208)
;; WHEN: Sat Mar 13 01:01:35 2010
;; MSG SIZE  rcvd: 26

mon fichier de zone pour ce domaine est

$ttl 38400
ungl.org.       IN  SOA r29901.ovh.net. mikey.aol.com. (
                201003121
                10800
                3600
                604800
                38400 )
ungl.org.       IN  NS  r29901.ovh.net.
ungl.org.       IN  NS  ns.kimsufi.com.
ungl.org.       IN  A   188.165.34.72
localhost.      IN  A   127.0.0.1
www             IN  A   188.165.34.72

et le named.conf.options est par défaut:

options {
    directory "/var/cache/bind";

    // If there is a firewall between you and nameservers you want
    // to talk to, you may need to fix the firewall to allow multiple
    // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

    // If your ISP provided one or more IP addresses for stable 
    // nameservers, you probably want to use them as forwarders.  
    // Uncomment the following block, and insert the addresses replacing 
    // the all-0's placeholder.

    // forwarders {
    //  0.0.0.0;
    // };

    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { ::1; };
    listen-on { 127.0.0.1; };
    allow-recursion { 127.0.0.1; };
};

named.conf.local:

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
// include "/etc/bind/zones.rfc1918";

zone "eugl.eu" {
         type master;
         file "/etc/bind/eugl.eu";
         notify no;
};


zone "ungl.org" {
         type master;
         file "/etc/bind/ungl.org";
         notify no;
};

Le serveur exécute Ubuntu 9.10 et Bind 9, si quelqu'un peut faire la lumière sur cela, cela me rendrait très heureux!

Merci


la source
À quoi ressemble votre section "options" de la configuration de liaison sur le serveur qui ne se comporte pas? Par défaut sur ubuntu, je pense que tout est dans /etc/bind/named.conf.options
Cory J
J'ai mis à jour la question, je n'ai encore rien changé dans les options
1
Que diriez-vous de la définition de zone dans named.conf.local?
ktower
Ajouté au message principal

Réponses:

18

bien que je puisse déterrer un ancien fil, je le fais parce que c'est l'un des résultats les plus pertinents lors d'une recherche google pour "statut de requête refusé".

Dans mon cas particulier, j'ai constaté que je devais inclure allow-query { any; };dans chaque définition de zone dans named.conf.

w00t
la source
Tu es mon ange sauveur! Merci beaucoup
codezombie
5

En un coup d'œil, il me semble qu'il n'est pas configuré pour écouter le reste du monde à cause de listen-on { 127.0.0.1; };. Vous devrez y ajouter l'adresse IP appropriée.

John Gardeniers
la source
J'ai changé cela en adresse IP Internet du serveur (188.165.34.72) et relié rechargé mais je reçois toujours le même message refusé
1
Existe-t-il un pare-feu local sur cette machine? Vous devrez peut-être ouvrir les ports (53 TCP et UDP).
John Gardeniers
L'URL semble fonctionner maintenant, mais affiche toujours le même statut refusé de mon autre serveur
4

Je fais le samething mais je mets l'option allow-query dans named.conf.options


la source
1

NOERROR quand il n'est pas accompagné d'un enregistrement de ressource (RR) signifie qu'il n'y a pas un tel enregistrement, donc lorsque vous obtenez une réponse NOERROR et aucun 'enregistrement' en définissant "version" sur "none", cela fonctionne comme prévu.

Il y a aussi une allow-querydéclaration de configuration avec BIND9 mais je pense que la valeur par défaut est d'autoriser les requêtes de n'importe où.

ZaphodB
la source
1

J'ai eu exactement le même problème (creuser le statut NOERROR localement, creuser le statut REFUSÉ de l'extérieur), et la solution changeait les match-clients de "localhost" (qui est la valeur par défaut pour bind install) à "any" (plus tard, je peux savoir quelle est l'adresse IP exacte de mon fournisseur de nom de domaine et la limiter à cette adresse IP spécifique pour des raisons de sécurité). De plus, j'ai changé le nom de la vue de local_something à default. Le nom n'a pas vraiment d'importance.

view default {
        match-clients      { any; };
        match-destinations { any; };
        include "/etc/named.rfc1912.zones";
};

C'était vraiment le problème avec cette affaire de «statut de fouille refusée». Juste après avoir modifié le paramètre match-clients, mes requêtes dig @ 12.34.56.78 mydomain.com ont commencé à se résoudre avec l'état NOERROR, et le fournisseur de nom de domaine (godaddy) a immédiatement mis en cache l'enregistrement du serveur de noms. Étant donné que mes fichiers de zone étaient déjà correctement configurés, le nom de domaine est devenu instantanément visible sur Internet.

Cependant, je me suis cogné la tête contre le mur pendant un bon moment pour résoudre celui-ci.

cheval ailé
la source
1
Pourriez-vous préciser quel fichier sur quel ordinateur avez-vous modifié?
Alexey
1

Je devais entrer une référence explicite pour le réseau que je souhaitais autoriser la récursivité. La spécification de "any" n'a pas aidé. Par défaut (Umbutu Server 15), il n'y avait aucune entrée pour cela dans le /etc/bind/named.conf.optionsfichier.

recursion yes;  << needed to add this but did not resolve greater prob
allow-recursion { any; }; << this did not work
allow-recursion { 10.1.0.0/16; }; << this did the trick
Iradw
la source
0

Voulez-vous vraiment envoyer les requêtes au bon endroit?

Votre serveur sur 188.165.34.72 ( r29901.ovh.net) exécute BIND 9.5.1-P2.1 - il répond à une requête dig @ip version.bind ch txtcomme prévu avec cette chaîne de réponse.

Cependant, l'adresse IP que vous avez citée ci-dessus renvoie une NOTIMPLerreur, même s'il n'y a rien dans votre fichier de configuration cité concernant les *.bindpseudo-enregistrements et que BIND nécessite une configuration explicite pour les désactiver.

Alnitak
la source
NOTIMPL n'est pas implémenté? Pourquoi aurait-il des fonctionnalités qui ne sont pas implémentées activées par défaut?
Si c'est BIND, il y a une option appelée "version" qui lui dit d'envoyer une valeur spécifiée par l'utilisateur à cette requête, ou "none" pour désactiver la fonctionnalité. Si l'option n'est pas spécifiée, elle renvoie le numéro de version réel. Vous n'avez cité aucune option de ce type, ce qui me fait penser que vous ne parlez pas au bon serveur. Voir isc.org/software/bind/documentation/arm95
Alnitak
J'ai vérifié plus loin - sur ma boîte MacOSX avec bind 9.6.0, définir "version" sur "aucun" renvoie NOERRORet non l' NOTIMPLerreur que je vois de cette IP.
Alnitak
0

Parce que vous autorisez la récursivité uniquement à partir de votre machine locale.

Si vous souhaitez autoriser l'ajout de l'adresse IP appropriée et que vous devez modifier la valeur d'écoute sur n'importe quel adaptateur de votre ordinateur local ou mettre l'adresse IP de l'interface de l'ordinateur local:

listen-on { any;} or x.x.x.x;
tamirat
la source