web-dev-qa-db-fra.com

Dig revient "Statut: refusé" pour des requêtes externes?

Je n'arrive pas à déterminer pourquoi mon DNS ne fonctionne pas correctement, si je vérifie Creusez du 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 quand je l'exécute 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 nommé.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; };
};

nommé.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 est en cours d'exécution Ubuntu 9.10 et BIND 9, si quelqu'un peut renvoyer une lumière sur cela pour moi, cela me rendrait très heureux!

merci

14
Mikey

bien que je puisse creuser un vieux fil, je le fais parce que c'est l'un des résultats les plus pertinents tout en faisant une recherche Google pour "Statut de la 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.

18
w00t

Juste à un coup d'œil rapide, cela me semble qu'il n'est pas configuré d'écouter le reste du monde en raison de listen-on { 127.0.0.1; };. Vous devrez ajouter l'adresse IP appropriée dedans.

5
John Gardeniers

Je fais la sorte que j'aime mais j'ai mis l'option de requête autorisée dans named.conf.Options

4
user57966

J'avais exactement le même problème (Statut Statut Noerror localement, Dict Statut refusé de l'extérieur), et la solution modifiait les clients des matchs de "localhost" (qui correspond à la valeur par défaut pour l'installation de la liaison) (tout "(plus tard, je peux Découvrez quelle est l'adresse IP exacte de mon fournisseur de noms de domaine et le limiter à cette adresse IP spécifique pour des raisons de sécurité). En outre, j'ai changé le nom de la vue de local_something à défaut. Le nom n'a pas d'importance.

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

C'était vraiment le problème avec cette activité "creuse refusée". Juste après avoir changé le paramètre Match-Clients, mes requêtes My Dig @ 12.34.56.78 Mydomain.com ont commencé à résoudre avec NoError Status, et le fournisseur de noms 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.

Je frappais ma tête contre le mur pendant un certain temps à résoudre celui-ci, cependant.

1
wingedhorse

NoError lorsqu'il n'est pas accompagné d'un enregistrement de ressources (RR) signifie qu'il n'y a pas de tel enregistrement, alors lorsque vous obtenez une réponse de noserror et aucun "enregistrement" lors de la définition de la "version" sur "Aucun", il fonctionne comme prévu.

Il y a aussi un allow-query Déclaration de configuration avec BIND9 Cependant, je pense que la valeur par défaut consiste à autoriser les requêtes de n'importe où.

1
ZaphodB

Êtes-vous sûr que vous envoyez les questions au bon endroit?

Votre serveur le 188.165.34.72 (r29901.ovh.net) est exécuté lié 9.5.1-p2.1 - il répond à une requête pour Dig @ip version.bind ch txt Comme prévu avec cette chaîne de réponse.

Cependant, l'adresse IP que vous avez indiquée ci-dessus renvoie une erreur NOTIMPL _, même s'il n'y a rien dans votre fichier de configuration cité sur le *.bind pseudo-enregistrements et liaison nécessite une configuration explicite pour les désactiver.

0
Alnitak

Parce que vous autorisez la récursive que de votre machine locale.

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

listen-on { any;} or x.x.x.x;
0
tamirat