DNS сервер кеша
У меня днс кеш серверы. Я использую BIND 9.8.3-P1 или dnscache(кеш djbdns). Я очень часто вижу ошибки в моем журнале "неожиданный RCODE SERVFAIL". И у bind9, и у dnscache такая проблема. В tcpdump я вижу, что они даже не спрашивают у авторитетных серверов. С nslookup с той же машины я получаю правильные ответы от авторитетных серверов.
Кажется, мои серверы кеша помещают в свои ответы кеша сервера и не удосуживаются спросить снова. Я думаю, что по RFC они не должны ставить ответы SERVFAIL вообще. Любые идеи будут оценены.
2 ответа
Я думаю, что вы правы в том, что происходит, но в RFC 2308 довольно ясно в s7.1, что кеширование SERVFAIL разрешено:
In either case a resolver MAY cache a server failure response. If it
does so it MUST NOT cache it for longer than five (5) minutes
Если вы используете DNS-сервер, вы, вероятно, можете настроить это поведение или даже вообще остановить его, поэтому, если сервер имен, который кеширует эти вещи и раздражает вас, находится вне вашего контроля, запустите свой собственный DNS-сервер.
Вы также можете попробовать опцию max-ncache-ttl:
http://www.zytrax.com/books/dns/ch7/hkpng.html#max-ncache-ttl
Это не предотвратит возникновение сбоя серв, но должно заставить привязку не кэшировать его.