2016-12-27 18 views
-1

Я искал google в последний час и не смог найти что-либо, относящееся к моей проблеме, у меня установлена ​​связь и работает безупречно, что я использую для нескольких доменов и локальных обратных поисков, все же ... некоторые удаленные серверы имен находятся в автономном режиме и не возвращают никакого результата в мои запросы, и это замедляет приложения, которые используют bind.Как кэшировать «SERVFAIL» со связью?

Например:

# 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 

времени ожидания после ~ 5 секунд, но если я повторить команду результат (SERVFAIL) не кэшированные и мое приложение задерживается еще на 5 секунд, снова и снова. Я знаю, что я могу реализовать кэширование внутри приложения, но я уверен, что будет гораздо эффективнее создавать кеши для этого в конфигурации привязки.

Как я могу кэшировать SERVFAIL для ... допустим, 5 минут? Поддерживается привязкой?

Спасибо!

ответ

0

По умолчанию связывать кеши все ответы. какой TTL вы получаете в ответе SERVFAIL? Также проверьте, установлено ли значение max-ncache-ttl равным 0 в конфигурации клиентского распознавателя.