Танкист Апокалипсиса
Некоторое время назад в "Компьютерре" была опубликована заметка, в которой говорилось об исследовании траффика "самых главных" DNS-серверов. DNS-серверы занимаются преобразованием текстовых адресов ( www.yandex.ru) в числовые IP-адреса (213.180.194.129), понятные машинам, поэтому эти серверы являются важными элементами инфраструктуры сети. Так вот, по результатам исследования было выявлено, что подавляющее большинство запросов могло быть обслужено серверами рангом пониже, без привлечения корневых серверов. А виновата в сложившейся ситуации была неправильная настройка DNS-серверов в различных организациях и сетях.
Это было лирическое отступление. А теперь идут выжимки из очередного опыта.
Вчера вечером, тестируя модемное соединение в Linux, заметил, что браузер в упор не видит, к примеру, www.mustdie.ru, но прекрасно загружает 195.128.128.5 . Сразу стало понятно, где собака зарыта, но эта новость повергла меня в недоумение, так как в файле настроек named.conf в параметре "forwarders" были указаны адреса DNS-серверов провайдера, что должно было привести к тому, что все запросы на резольвинг (преобразование) адресов должны были направляться на сервер провайдера, а не преобразовываться самостоятельно. Однако этого почему-то не происходило. Копание в интернете ничего определённого не дало, однако на свет всплыл параметр "forward only", который отвечал за то, что "сервер имен не будет контактировать с другими серверами для поиска информации, если сервера на которые перенаправляются запросы не отвечают" (http://opennet.ru/docs/RUS/linuxsos/ch14_1.html). На практике оказалось, что этот параметр как раз влияет на работу с серверами провайдера (в данном случае). Его включение привело к тому, что преобразование адресов нормально заработало. Эмпирическим путём мною установлено, что если параметр "forward only" отсутствует, то обращения к серверам, указанным в "forwarders", не происходит, а вместо этого локальный DNS-сервер самостоятельно пытается преобразовать текстовые адреса, обращаясь к корневым серверам. Чувствуете, куда ветер дует? Могу сказать, что во всех советах по организации кэширующих серверов про этот проклятый "forward only" нет ни слова! Просто предлагается сделать зону "." или, максимум, прописать набор серверов в "forwarders".
Последнее: эксперименты проводились с пакетом BIND версии 9.2.2
Это было лирическое отступление. А теперь идут выжимки из очередного опыта.
Вчера вечером, тестируя модемное соединение в Linux, заметил, что браузер в упор не видит, к примеру, www.mustdie.ru, но прекрасно загружает 195.128.128.5 . Сразу стало понятно, где собака зарыта, но эта новость повергла меня в недоумение, так как в файле настроек named.conf в параметре "forwarders" были указаны адреса DNS-серверов провайдера, что должно было привести к тому, что все запросы на резольвинг (преобразование) адресов должны были направляться на сервер провайдера, а не преобразовываться самостоятельно. Однако этого почему-то не происходило. Копание в интернете ничего определённого не дало, однако на свет всплыл параметр "forward only", который отвечал за то, что "сервер имен не будет контактировать с другими серверами для поиска информации, если сервера на которые перенаправляются запросы не отвечают" (http://opennet.ru/docs/RUS/linuxsos/ch14_1.html). На практике оказалось, что этот параметр как раз влияет на работу с серверами провайдера (в данном случае). Его включение привело к тому, что преобразование адресов нормально заработало. Эмпирическим путём мною установлено, что если параметр "forward only" отсутствует, то обращения к серверам, указанным в "forwarders", не происходит, а вместо этого локальный DNS-сервер самостоятельно пытается преобразовать текстовые адреса, обращаясь к корневым серверам. Чувствуете, куда ветер дует? Могу сказать, что во всех советах по организации кэширующих серверов про этот проклятый "forward only" нет ни слова! Просто предлагается сделать зону "." или, максимум, прописать набор серверов в "forwarders".
Последнее: эксперименты проводились с пакетом BIND версии 9.2.2