кэширующий dns сервер windows

Делаем свой локальный DNS (PDNSD), с блэкджеком и быстрее Google Public DNS

150ms ответ от сервера через атлантический океан не получить в обозримой перспективе (хотя конечно есть изыски, вроде оптоволокна с воздушной сердцевиной или радиорелейной связи, но это для простых смертных едва-ли доступно).

Когда мы пытаемся например из России открыть web-сайт, расположенный в США (его NS сервера вероятно там же), и домен не нашелся в DNS-кэше вашего провайдера — то ждать придется долго даже на гигабитном интернете, возможно даже целую секунду: пока мы через океан получим имена NS серверов домена, пока разрезолвим их IP, пока отправим и получим собственно сам DNS запрос…

Пару лет назад Google завела свои публичные DNS сервера, а для агитации перехода на них — они разработали утилитку NameBench, которая прогоняет тесты DNS по вашей истории серфинга и показывает, насколько Google DNS быстрее DNS сервера вашего провайдера.

Но мне удалось сделать свой DNS сервер, который работает быстрее Google Public DNS, и в этой краткой заметке хочу поделится результатами.

PDNSD

pdnsd — кэширующий DNS proxy. Помимо банального кэширования DNS запросов (с возможностью жестко задавать минимальный TTL — может быть нужно на очень плохом интернете), он умеет отсылать запрос одновременно на несколько «родительских» DNS серверов, и отдавать клиенту первый вернувшийся ответ.

Именно включение параллельного опроса и дает нам основное преимущество в скорости, т.к. при нахождении результата в кеше любого из провайдеров мы получаем результат очень быстро, и не ждем полного и медленного разресолвивания если у первого провайдера нет ответа в кэше.

Ставится в Ubuntu — банальным apt-get.

Пара моментов в конфиге

В принципе, кэширование можно сделать менее агрессивным (min_ttl=1m например), но за год работы проблем особых не возникло. В случае проблем — при желании можно вытереть одну запись из кэша:
или сразу все:

Результаты тестирования в NameBench

кэширующий dns сервер windows
Видим, что для 50% запросов ответ мы получаем менее чем за 10мс, для 85% быстрее Google Public DNS, ну а дальше результаты естественно совпадают с гуглом.

По результатам тестов NameBench нам радостно сообщает:

Источник

Энциклопедия Windows

Все об использовании и настройке Windows

Конфигурирование сервера кэширования DNS

Обычно сервер DNS содержит информацию о различных зонах DNS, которая реплицируются между другими серверами DNS (в зоне DNS, интегрированной в Active Directory, репликация данных осуществляется средствами Active Directory).

Сервер кэширования DNS не содержит данных о зонах и не является основным сервером разрешения имен для какого-либо домена. Сервер предназначен для кэширования результатов запросов, предоставляемых клиентам. Если клиент запрашивает преобразование адреса www.microsoft.com, то серверу DNS, который отвечает за соответствующую зону DNS, дается указание преобразовать адрес и сохранить полученный результат в локальном кэше. Если еще один клиент запросит преобразование той же записи, то ответ второму клиенту будет предоставлен из локального кэша. Как видите, принцип работы сервера кэширования DNS напоминает использование proxy-сервера для кэширования популярных Web-страниц.

Серверы кэширования часто применяются в сайтах Active Directory, соединенных с внешней сетью медленным WAN-соединением. Настройка сервера кэширования DNS позволяет сократить объем передаваемых по сети данных. Для настройки сервера необходимо выполнить следующие действия.

1. Удостоверьтесь в том, что компьютер имеет статический IP-адрес.

2. Настройте обычным образом службу DNS (Пуск > Настройка > Панель управления > Установка и удаление программ > Добавление и удаление компонентов Windows > Компоненты > Сетевые службы > Состав > Domain Name System (DNS) > OK > Далее > Готово (Start > Settings > Control Panel > Add/Remove Software > Add/Remove Windows Components > Components > Networking Services > Details > Domain Name System (DNS) > OK > Next > Finish)).

3. Откройте оснастку DNS (Пуск > Программы > Администрирование > DNS (Start > Programs > Administrative Tools > DNS)).

4. В меню Action выберите команду Connect To Computer.

5. В окне Select Target Computer установите флажок Connect to specified computer now и введите имя сервера DNS, данные которого требуется кэшировать. Затем кликните на кнопке OK.

Теперь сервер кэширования начнет заполнять кэш данными о соответствии IP-адресов и имен компьютеров.

Для очистки кэша необходимо кликнуть правой кнопкой мыши на имени сервера (однако не на имени сервера, данные которого кэшируются) и выбрать в контекстном меню команду Clear Cache.

Источник

Настройка DNS-сервера на Windows Server 2012 и старше

DNS (Domain Name System, Система Доменных имен) – система, позволяющая преобразовать доменное имя в IP-адрес сервера и наоборот.

DNS-сервер – это сетевая служба, которая обеспечивает и поддерживает работу DNS. Служба DNS-сервера не требовательна к ресурсам машины. Если не подразумевается настройка иных ролей и служб на целевой машине, то минимальной конфигурации будет вполне достаточно.

Настройка сетевого адаптера для DNS-сервера

Установка DNS-сервера предполагает наличие доменной зоны, поэтому необходимо создать частную сеть в личном кабинете и подключить к ней виртуальные машины.

После того, как машина будет присоединена к двум сетям, важно не перепутать, какое из подключений требует настройки. Первичный сетевой адаптер настроен автоматически с самого начала, через него открыт доступ к интернету, в то время как на дополнительно подключенных сетевых адаптерах доступа в интернет нет, пока не будет произведена ручная настройка:

кэширующий dns сервер windows

Наведя курсор на значок сети в системном трее, можно вызвать всплывающую подсказку с краткими сведениями о сетях. Из примера выше видно, что присоединённая сеть это Network 3.

Далее предстоит проделать цепочку действий:

кэширующий dns сервер windows

Здесь в качестве предпочитаемого DNS-сервера машина назначена сама себе, альтернативным назначен dns.google [8.8.8.8].

Установка роли DNS-сервера

Для установки дополнительных ролей на сервер используется Мастер Добавления Ролей и Компонентов, который можно найти в Диспетчере Сервера.

На верхней навигационной панели Диспетчера сервера справа откройте меню Управление, выберите опцию Добавить Роли и Компоненты:

кэширующий dns сервер windows

Откроется окно Мастера, в котором рекомендуют убедиться что:

1. Учётная запись администратора защищена надёжным паролем.

2. Настроены сетевые параметры, такие как статические IP-адреса.

3. Установлены новейшие обновления безопасности из центра обновления Windows.

Убедившись, что все условия выполнены, нажимайте Далее;

Выберите Установку ролей и компонентов и нажмите Далее:

кэширующий dns сервер windows

Выберите необходимый сервер из пула серверов и нажмите Далее:

кэширующий dns сервер windows

Отметьте чек-боксом роль DNS-сервер и перейдите Далее:

кэширующий dns сервер windows

Проверьте список компонентов для установки, подтвердите нажатием кнопки Добавить компоненты:

кэширующий dns сервер windows

Оставьте список компонентов без изменений, нажмите Далее:

кэширующий dns сервер windows

Прочитайте информацию и нажмите Далее:

кэширующий dns сервер windows

В последний раз проверьте конфигурацию установки и подтвердите решение нажатием кнопки Установить:

кэширующий dns сервер windows

Финальное окно Мастера сообщит, что установка прошла успешно, Мастер установки можно закрыть:

кэширующий dns сервер windows

Создание зон прямого и обратного просмотра

Доменная зона — совокупность доменных имён в пределах конкретного домена.

Зоны прямого просмотра предназначены для сопоставления доменного имени с IP-адресом.

Зоны обратного просмотра работают в противоположную сторону и сопоставляют IP-адрес с доменным именем.

Создание зон и управление ими осуществляется при помощи Диспетчера DNS.

Перейти к нему можно в правой части верхней навигационной панели, выбрав меню Средства и в выпадающем списке пункт DNS:

кэширующий dns сервер windows

Создание зоны прямого просмотра

кэширующий dns сервер windows

кэширующий dns сервер windows

кэширующий dns сервер windows

кэширующий dns сервер windows

кэширующий dns сервер windows

кэширующий dns сервер windows

кэширующий dns сервер windows

Создание зоны обратного просмотра

кэширующий dns сервер windows

кэширующий dns сервер windows

кэширующий dns сервер windows

кэширующий dns сервер windows

кэширующий dns сервер windows

кэширующий dns сервер windows

кэширующий dns сервер windows

Создание A-записи

Данный раздел инструкции в большей степени предназначен для проверки ранее проделанных шагов.

Ресурсная запись — единица хранения и передачи информации в DNS, заключает в себе сведения о соответствии какого-либо имени с определёнными служебными данными.

Запись A — запись, позволяющая по доменному имени узнать IP-адрес.

Запись PTR — запись, обратная A записи.

кэширующий dns сервер windows

кэширующий dns сервер windows

Если поле имени остается пустым, указанный адрес будет связан с именем доменной зоны.

кэширующий dns сервер windows

Проверка

кэширующий dns сервер windows

кэширующий dns сервер windows

кэширующий dns сервер windows

Из вывода команды видно, что по умолчанию используется DNS-сервер example-2012.com с адресом 10.0.1.6.

Чтобы окончательно убедиться, что прямая и обратная зоны работают как положено, можно отправить два запроса:

кэширующий dns сервер windows

В примере получены подходящие ответы по обоим запросам.

кэширующий dns сервер windows

В дополнение к имени домена и адресам появилась строчка «Non-authoritative answer», это значит, что наш DNS-сервер не обладает необходимой полнотой информации по запрашиваемой зоне, а информация выведенная ниже, хоть и получена от авторитетного сервера, но сама в таком случае не является авторитетной.

Для сравнения все те же запросы выполнены на сервере, где не были настроены прямая и обратная зоны:

кэширующий dns сервер windows

Здесь машина сама себе назначена предпочитаемым DNS-сервером. Доменное имя DNS-сервера отображается как неопознанное, поскольку нигде нет ресурсных записей для IP-адреса (10.0.1.7). По этой же причине запрос 2 возвращает ошибку (Non-existent domain).

Источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Сравнение типов DNS серверов: как выбрать правильную конфигурацию DNS

Введение

DNS, или Система доменных имён, является неотъемлемой частью того, как системы соединяются друг с другом для общения в Интернете. Без DNS компьютеры и люди, которые их используют, должны были бы соединяться, используя только числовые адреса, известные как IP-адреса.

Помимо очевидной проблемы запоминания большого количества сложных чисел для простых задач, связь через IP-адреса также вызывает некоторые дополнительные проблемы. Перемещение вашего сайта на другого хостинг-провайдера или перемещение ваших серверов в разные места потребует от вас информирования каждого клиента о новом местоположении.

DNS-серверы (компьютеры, которые вместе образуют систему, позволяющую нам использовать имена вместо IP адресов), могут обслуживать множество различных функций, каждая из которых может способствовать вашей возможности доступа к серверам по имени.

В предыдущем руководстве мы обсудили некоторые основные термины и понятия системы доменных имён. Предполагается, что вы прочитали предыдущую статью. В этом руководстве мы поговорим о некоторых типах настроек DNS-сервера и о преимуществах, вариантах использования и свойствах каждого из них.

Путь DNS-запроса

Когда клиентская программа хочет получить доступ к серверу по его доменному имени, она должна выяснить, как преобразовать доменное имя в фактический маршрутизируемый адрес, который она может использовать для связи. Необходимо знать эту информацию, чтобы отправлять информацию на сервер и получать от него ответ.

Некоторые приложения, в том числе большинство веб-браузеров, поддерживают внутренний кеш последних запросов. Если в нём есть такая функциональность, то это первое место, где приложение попытается найти IP-адрес домена, к которому нужно подключиться. Если оно не находит ответа на свой вопрос здесь, оно просит системного распознавателя (resolver — резолвер) выяснить, каков адрес доменного имени.

В общем случае распознаватель (resolver) — это любой компонент, который в DNS запросе выступает в роли клиента. Системный распознаватель — это библиотека перевода имён, которую ваша операционная система использует для поиска ответов на DNS-запросы. В целом системные преобразователи, как правило, представляют собой то, что можно назвать заглушкой обработчика, поскольку обычно они способны не более чем на поиск по нескольким статичным файлам в системе (например, в файле /etc/hosts) и пересылки запросов другому преобразователю.

Таким образом, как правило, запрос передаётся из клиентского приложения в системный преобразователь, где он затем передаётся на DNS-сервер, чей адрес указан в настройках системы. Этот DNS-сервер называется рекурсивным DNS-сервером. Рекурсивный сервер — это DNS-сервер, который настроен на выполнение запросов к другим DNS-серверам, пока не найдёт ответ на вопрос. Он вернёт клиенту ответ на его запрос, либо сообщение об ошибке (его получит системный распознаватель, который, в свою очередь, передаст его клиентскому приложению).

Рекурсивные серверы обычно также поддерживают кеш. Сначала сервер проверит этот кеш — есть ли у него ответ на запрос. Если ответа нет, он посмотрит, есть ли у него адрес какого-либо из серверов, которые контролируют компоненты домена верхнего уровня. Поэтому, если запрос относится к www.example.com, и он не может найти этот адрес хоста в своём кэше, он проверит, есть ли у него адрес серверов имён для example.com и, если необходимо, для домена верхнего уровня com. Затем он отправит запрос на сервер имён наиболее конкретного компонента домена, который сможет найти, чтобы запросить дополнительную информацию.

Если сервер не находит адрес ни одному из этих компонентов домена, он должен начать с самой верхней части иерархии, запрашивая корневые серверы имён. Корневые серверы знают адреса всех серверов имён TLD (доменов верхнего уровня), которые контролируют зоны для .com, .net, .org и т. д. Он спросит корневой сервер, знает ли он адрес www.example.com. Корневой сервер направит рекурсивный сервер к серверам имён для домена .com.

Затем рекурсивный сервер следует по пути отсылок к каждому последующему серверу имён, которому делегирована ответственность за компоненты домена, до тех пор, пока он не найдёт конкретный сервер имён, который имеет полный ответ. Он помещает этот ответ в кэш для последующих запросов, а затем возвращает его клиенту.

Как видно из этого примера, существует много разных типов серверов, и каждый из них играет свою роль. Давайте рассмотрим особенности различных типов DNS-серверов.

Пример рекурсивных запросов о домене suip.biz:

кэширующий dns сервер windows

Функциональные различия

Некоторые из различий между DNS-серверами являются чисто функциональными. Большинство серверов, участвующих в реализации DNS, специализируются на определённых функциях. Тип DNS-сервера, который вы выберете, будет во многом зависеть от ваших потребностей и типа проблемы, которую вы надеетесь решить.

DNS серверы с только авторитативной функцией (Authoritative-Only)

Authoritative-Only DNS-сервер — это сервер, который заботится только о том, чтобы отвечать на запросы для зон, за которые он отвечает. Поскольку он не помогает разрешать запросы для внешних зон, он, как правило, очень быстрый и может эффективно обрабатывать много запросов.

Серверы с только авторитативной функцией имеют следующие свойства:

Кеширующий DNS-сервер

Кэширующий DNS-сервер — это сервер, который обрабатывает рекурсивные запросы от клиентов. Почти каждый DNS-сервер, с которым свяжется заглушка обработчика операционной системы, будет кэширующим DNS-сервером.

Преимущество кеширующих серверов — способность отвечать на рекурсивные запросы от клиентов. В то время как Authoritative-Only серверы могут быть идеальными для обслуживания информации о конкретной зоне, кэширующие DNS-серверы более полезны с точки зрения клиента. Они делают систему мира DNS доступной для совсем простых клиентских интерфейсов, которым чтобы узнать IP адрес доменного имени достаточно отправить запрос и просто ждать готовый ответ.

Чтобы избежать потери производительности при отправке нескольких итеративных запросов другим DNS-серверам каждый раз, когда он получает рекурсивный запрос, сервер кэширует свои результаты. Это позволяет ему иметь доступ к широкой базе информации DNS (общедоступные DNS всего мира) и совмещать это с очень быстрой обработкой последних запросов.

Кэширующий DNS-сервер имеет следующие свойства:

Перенаправляющие (Forwarding) DNS-сервера

Альтернативный подход к накоплению кеша для клиентских машин — использование перенаправляющего DNS-сервера. Этот подход добавляет ещё одно звено в цепочку разрешения DNS, которым является Forwarding сервер, который просто передаёт все запросы другому DNS-серверу с рекурсивными возможностями (например, кеширующему DNS-серверу).

Преимущество этой системы состоит в том, что она может дать вам преимущество локально доступного кэша, не выполняя рекурсивную работу (что может привести к дополнительному сетевому трафику и может занять значительные ресурсы на серверах с высоким трафиком). Это также может привести к некоторой интересной гибкости в разделении вашего частного и публичного трафика путём пересылки на разные серверы.

Перенаправляющий (Forwarding) DNS-сервер имеет следующие свойства:

Комбинированные решения

Несмотря на то, что вышеупомянутые решения построены с очень конкретными целями, часто возникает желание настроить DNS-сервер так, чтобы сочетать преимущества каждого из них.

DNS-сервер может быть настроен для работы в качестве рекурсивного сервера кэширования для выбранного количества локальных клиентов, отвечая только на итеративные, авторитетные запросы от других клиентов. Это обычная конфигурация, поскольку она позволяет вам отвечать на глобальные запросы для вашего домена, а также позволяет вашим локальным клиентам использовать сервер для рекурсивного разрешения.

Хотя соответствующее программное обеспечение DNS специально разработано для выполнения одной конкретной роли, такие приложения, как Bind, невероятно гибки и могут использоваться в качестве гибридных решений. Хотя в некоторых случаях попытка предоставить слишком много услуг на одном сервере может привести к снижению производительности, во многих случаях, особенно в случае небольшой инфраструктуры, наиболее целесообразно поддерживать единое решение «все в одном».

Различия в отношениях

Хотя, вероятно, функциональными различия являются наиболее очевидные между конфигурациями DNS-серверов, реляционные различия также чрезвычайно важны.

Основной (Primary) и подчинённый (Slave) серверы

Учитывая важность DNS в обеспечении доступности служб и целых сетей, большинство DNS-серверов, которые являются авторитативными для зоны, будут иметь встроенную избыточность. Существуют различные термины для отношений между этими серверами, но в целом сервер может быть главным (Primary) или подчиненным (Slave) в своей конфигурации.

И главный, и подчинённый серверы являются авторитативными для зон, с которыми они работают. Главный (master) не имеет больше власти над зонами, чем Slave. Единственный различающий фактор между главным и подчиненным серверами — это то, откуда они читают свои файлы зон.

Главный сервер считывает файлы своей зоны из файлов на системном диске, обычно здесь администратор зоны добавляет, редактирует или передаёт исходные файлы зоны.

Подчинённый сервер получает зоны, для которых он является полномочным, посредством передачи зоны от одного из главных серверов для зоны. Как только он получает эти зоны, он помещает их в кеш. Если он должен перезапуститься, он сначала проверяет свой кэш, чтобы увидеть, обновлены ли зоны внутри. Если нет, он запрашивает обновлённую информацию с главного сервера.

Серверы не обязательно должны относиться только к master или только к slave для всех зон, с которыми они работают. Главный или подчинённый статус присваивается по зонам, поэтому сервер может быть ведущим для некоторых зон и ведомым для других.

DNS-зоны обычно имеют как минимум два сервера имён. Любая зона, отвечающая за маршрутизируемую зону Интернета, должна иметь как минимум два сервера имён. Часто для обслуживания повышенной нагрузки и увеличения избыточности используется гораздо больше серверов имён.

Публичные и частные серверы

Часто организации используют DNS как снаружи, так и внутри. Однако информация, которая должна быть доступна в обеих из этих сфер, часто существенно отличается.

Организация может поддерживать доступными из вне DNS серверы с только авторитативной функцией (Authoritative-Only) для обработки публичных DNS-запросов для доменов и зон, которые относятся к их «юрисдикции». Для своих внутренних пользователей организация может запустить отдельный DNS-сервер, который содержит публичную информацию, предоставляемую общедоступным DNS, а также дополнительную информацию о внутренних хостах и службах. Он также может предоставлять дополнительные функции, такие как рекурсия и кэширование для своих внутренних клиентов.

Хотя выше мы упомянули о возможности иметь один сервер для выполнения всех этих задач на «комбинированном» сервере, есть определённые преимущества для разделения рабочей нагрузки. На самом деле, поддержание совершенно отдельных серверов (внутренних и внешних), которые не знают друг друга, обычно является более предпочтительным вариантом. С точки зрения безопасности особенно важно, чтобы на общедоступном сервере не было приватных записей. Это означает не перечислять ваши частные серверы имён с записями NS в публичных файлах зон.

Есть некоторые дополнительные соображения, которые следует иметь в виду. Хотя может быть проще, если ваши общедоступные и частные серверы будут совместно использовать данные зон, которые у них общие, и находится в традиционных отношениях главный-подчиненный (master-slave), это может привести к утечке информации о вашей частной инфраструктуре.

Кроме того, что ваши приватные сервера не должны попадать в сами файлы зон (то есть не должны быть доступны для публичного поиска), также неплохо удалить любые ссылки на приватные сервера в файлах конфигурации публичного сервера. Это означает удаление передачи, уведомлений и сведений о конфигурации, чтобы компрометация общедоступного сервера не означала, что ваши внутренние серверы имён внезапно становятся доступными.

Это означает поддержание отдельных файлов зон для каждого, что может быть дополнительной работой. Однако это может быть необходимо для абсолютного разделения и безопасности.

Заключение

Итак, теперь мы знаем, что если возникла необходимость настроить свой DNS сервер, то нужно определиться — какой именно DNS сервер нам нужен, поскольку существуют различные варианты.

Ваш выбор будет в значительной степени зависеть от потребностей вашей организации и от того, выбрано ли в качестве главного приоритета более быстрое получение ответов на DNS запросы (в этом случае нужен кэширующий или перенаправляющий серверы) или же DNS сервер для обслуживания ваших доменов и зон в Интернете в целом (авторитативные серверы). Либо для решения сразу обеих групп задач вам нужен комбинированный сервер, которые тоже весьма распространены.

Перенаправляющий/кэширующий DNS-сервер можно настроить даже на домашнем компьютере Linux. Такой сервер может полностью заменить файл /etc/hosts для обращения к ресурсам локальной сети. А при поступлении запросов для получения IP доменных имён, этот сервер будет получать данные от внешнего кэширующего сервера (например, 8.8.8.8 и 8.8.4.4 — DNS-серверы от Google) и сохранять полученные ответы в своём кэше — это в том случае, если вы настроили перенаправляющий DNS-сервер. Если же вы выберите рекурсивный кэширующий DNS-сервер, то он будет делать несколько запросов, начиная с корневых DNS-серверов и получать в конечном счёте ответы исключительно от авторитативных DNS-серверов (а не от сторонних кэширующих серверов, как это обычно происходит). Полученные данные также будут храниться в кэше. В случае повторных запросов этих имён, локальный DNS сервер их будет брать из кэша, что может немного ускорить работу сети.

В наших следующих руководствах (смотрите ссылки ниже) мы покажем, как начать работу с некоторыми из этих конфигураций. Мы начнём с обучения настройке кэширующего и перенаправляющего DNS-сервера. Позже мы расскажем о том, как обслуживать ваши домены, настроив пару DNS серверов с только авторитативной функцией (Authoritative-Only).

Продолжение и дополнительный материал

Для продолжения знакомства с DNS рекомендуются следующие статьи:

[СТАТЬИ БЕЗ ССЫЛОК В ПРОЦЕССЕ ПОДГОТОВКИ — ЗАХОДИТЕ ЗА ССЫЛКАМИ ЧУТЬ ПОЗЖЕ]

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *