RetroRocket
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору alkado Спасибо за ссылку. У меня тогда идея была простая - если заткнётся первичный DNSСrypt-сервер, то запросы подхватит вторичный. На практике оказалось, что это работает несколько иначе. Пока первичный сервис DNSСrypt, прописанный на 127.0.0.1, отвечает на запросы системы, обращений ко вторичному сервису DNSСrypt, прописанному на 127.0.0.2, не будет. Даже если первичный сервис не может разрешить запрошенное имя в айпишник. If the first entry responds but doesn't have an answer, which is what we call an NXDOMAIN response (when the DNS server doesn't have an answer but it STILL responded), it won't go to the second entry, И только после того, как первичный сервис перестанет вообще отвечать на запросы и закончится таймаут, запросы пойдут к вторичному сервису. "If the DNS server does not respond, which we call a NULL response (when the DNS is down and doesn't respond), it will go to subsequent entries in the order entered after a time out period, or TTL, which can last 15 seconds or more as it keeps trying the first one, at which then it REMOVES the first entry from the "eligible resolvers" list, until the list is reset after 15 minutes". В итоге, для себя проблему неответа серверов DNSСrypt решил скриптом в nnCron. Скрипт периодически проверяет работоспособность DNS-сервиса, пытаясь разрешить имена крупных узлов (Google.ru/com, Yandex.ru/com, Baidu.com). Если все попытки неудачны, то скрипт рестартует сервис DNSСrypt.
|