2016-12-27 7 views
-1

Ich habe in der letzten Stunde auf Google gesucht und konnte nichts relevantes zu meinem Problem finden, ich habe bind installiert und läuft einwandfrei, die ich für mehrere Domänen und lokale Reverse-Lookups benutze, immer noch ... einige Remote-Nameserver sind offline und geben kein Ergebnis an meine Anfragen zurück, und das verlangsamt die Anwendungen, die bind verwenden.Wie "SERVFAIL" mit bind zwischenspeichern?

Zum Beispiel:

# dig @127.0.0.1 -x 155.1.2.3 

; <<>> DiG 9.9.5-9+deb8u8-Debian <<>> @127.0.0.1 -x 155.1.2.3 
; (1 server found) 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 40057 
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1 

;; OPT PSEUDOSECTION: 
; EDNS: version: 0, flags:; udp: 4096 
;; QUESTION SECTION: 
;3.2.1.155.in-addr.arpa.    IN  PTR 

;; Query time: 0 msec 
;; SERVER: 127.0.0.1#53(127.0.0.1) 
;; WHEN: Tue Dec 27 14:06:14 EET 2016 
;; MSG SIZE rcvd: 51 

Timeouts nach ca. 5 Sekunden, aber wenn ich den Befehl das Ergebnis (SERVFAIL) versuchen nicht zwischengespeichert wird und meine Anwendung über weitere 5 Sekunden verzögert und immer wieder. Ich weiß, dass ich Caching innerhalb der Anwendung implementieren kann, aber ich bin mir sicher, dass es viel effizienter ist, Caches hierfür innerhalb der Bind-Konfiguration zu erstellen.

Wie kann ich SERVFAIL für ... sagen wir 5 Minuten? Es wird von bind unterstützt?

Vielen Dank!

Antwort

0

Standardmäßig speichert bind alle Antworten zwischen. Was ist der TTL, den Sie in der SERVFAIL-Antwort erhalten? Überprüfen Sie auch, ob in der Client-Resolver-Konfiguration max-ncache-ttl auf 0 gesetzt ist.