Dig gibt bei externen Abfragen "status: REFUSED" zurück?


14

Ich kann anscheinend nicht herausfinden, warum mein DNS nicht richtig funktioniert. Wenn ich dig vom Nameserver aus starte, funktioniert es richtig:

# 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

Aber wenn ich es von einem anderen Server im selben Rechenzentrum aus starte, erhalte ich:

# 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

Meine Zonendatei für diese Domain lautet

$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

und die named.conf.options ist default:

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;
};

Auf dem Server laufen Ubuntu 9.10 und Bind 9, wenn jemand Licht in diese Sache bringen kann, würde mich das sehr freuen!

Vielen Dank


Wie sieht der Abschnitt "Optionen" der Bindungskonfiguration auf dem Server aus, der sich nicht verhält? Standardmäßig auf Ubuntu glaube ich, es ist alles in /etc/bind/named.conf.options
Cory J

Ich habe die Frage aktualisiert, ich habe noch nichts an den Optionen geändert

1
Wie wäre es mit der Zonendefinition in named.conf.local?
Turm

Hinzugefügt zum Hauptbeitrag

Antworten:


17

Obwohl ich möglicherweise einen alten Thread ausgrabe, tue ich dies, da dies eines der relevantesten Ergebnisse bei einer Google-Suche nach "Abfragestatus abgelehnt" ist.

In meinem speziellen Fall stellte ich fest, dass ich allow-query { any; };in jede Zonendefinition in named.conf aufnehmen musste.


Du bist mein rettender Engel! Vielen Dank
Codezombie

5

Nur auf einen Blick scheint es mir, dass es nicht dafür konfiguriert ist, den Rest der Welt zu hören listen-on { 127.0.0.1; };. Sie müssen dort die entsprechende IP-Adresse hinzufügen.


Ich habe dies auf die Internet-IP-Adresse des Servers (188.165.34.72) geändert und bind erneut geladen, erhalte aber immer noch die gleiche abgelehnte Nachricht

1
Befindet sich auf diesem Computer eine lokale Firewall? Möglicherweise müssen Sie die Ports (53 TCP und UDP) öffnen.
John Gardeniers

Die URL scheint jetzt zu funktionieren, zeigt aber immer noch den gleichen verweigerten Status von meinem anderen Server an

4

Ich mache das Gleiche, setze aber die Option allow-query in named.conf.options


1

NOERROR, wenn es nicht von einem Ressourceneintrag (RR) begleitet wird, bedeutet, dass es keinen solchen Eintrag gibt. Wenn Sie also eine NOERROR-Antwort und keinen 'Eintrag' erhalten, wenn Sie "version" auf "none" setzen, funktioniert es wie erwartet.

Es gibt auch eine allow-queryKonfigurationsanweisung mit BIND9, aber ich denke, die Standardeinstellung ist, Abfragen von überall zuzulassen.


1

Ich hatte genau das gleiche Problem (dig status NOERROR local, dig status REFUSED von außen) und die Lösung bestand darin, die Match-Clients von "localhost" (was die Standardeinstellung für bind install ist) auf "any" zu ändern (später kann ich es tun) Ermitteln Sie die genaue IP-Adresse meines Domain Name Providers und beschränken Sie diese aus Sicherheitsgründen auf diese IP-Adresse. Außerdem habe ich den Ansichtsnamen von local_something in default geändert. Der Name ist wirklich egal.

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

Das war wirklich das Problem mit diesem "Dig Status Refused" -Geschäft. Unmittelbar nachdem ich den match-clients-Parameter geändert hatte, lösten sich meine dig @ 12.34.56.78 mydomain.com-Abfragen mit dem NOERROR-Status auf, und der Domain Name Provider (godaddy) hatte den Nameserver-Datensatz sofort zwischengespeichert. Da meine Zonendateien bereits richtig konfiguriert waren, wurde der Domainname sofort im Internet sichtbar.

Ich schlug eine ganze Weile mit dem Kopf gegen die Wand, um dieses Problem zu lösen.


1
Könnten Sie klären, welche Datei auf welchem ​​Computer Sie geändert haben?
Alexey

1

Ich musste eine explizite Referenz für das Netzwerk eingeben, für das ich eine Rekursion zulassen wollte. Die Angabe von "any" hat nicht geholfen. Standardmäßig (Umbutu Server 15) war hierfür kein Eintrag in der /etc/bind/named.conf.optionsDatei vorhanden.

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

0

Sind Sie sicher, dass Sie die Anfragen an den richtigen Ort senden?

Auf Ihrem Server unter 188.165.34.72 ( r29901.ovh.net) wird BIND 9.5.1-P2.1 ausgeführt - dig @ip version.bind ch txtmit dieser Antwortzeichenfolge wird eine erwartungsgemäße Abfrage beantwortet .

Die oben angegebene IP-Adresse gibt jedoch einen NOTIMPLFehler zurück, obwohl in Ihrer angegebenen Konfigurationsdatei nichts über die *.bindPseudo-Einträge steht und BIND eine explizite Konfiguration erfordert, um sie zu deaktivieren.


NOTIMPL ist nicht implementiert? Warum sollten Funktionen, die nicht implementiert sind, standardmäßig aktiviert sein?

Wenn es sich um BIND handelt, gibt es eine Option namens "version", die angibt, einen benutzerdefinierten Wert an diese Abfrage zu senden, oder "none", um die Funktion zu deaktivieren. Wenn die Option nicht angegeben ist, wird die tatsächliche Versionsnummer zurückgegeben. Sie haben keine solche Option angegeben, was den Verdacht aufkommen lässt, dass Sie nicht mit dem richtigen Server sprechen. Siehe isc.org/software/bind/documentation/arm95
Alnitak

Ich habe weiter nachgesehen - auf meiner MacOSX-Box mit Bind 9.6.0 gibt das Setzen von "version" auf "none" zurück NOERRORund nicht den NOTIMPLFehler, den ich von dieser IP sehe.
Alnitak,

0

Weil Sie die Rekursion nur von Ihrem lokalen Computer aus zulassen.

Wenn Sie zulassen möchten, dass die entsprechende IP-Adresse hinzugefügt wird, und Sie den Abhörwert für einen Adapter von Ihrem lokalen Computer ändern müssen, oder die IP-Adresse der Schnittstelle des lokalen Computers eingeben müssen:

listen-on { any;} or x.x.x.x;
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.