Как настроить свой днс сервер

Настройка DNS

Что такое DNS?

DNS – это аббревиатура от Domain Name System. Переводится как система доменных имён, и является системой, которая сопоставляет между собой доменное имя и IP адрес хоста. Так, зная имя хоста, можно получить его адрес и наоборот. Для чего это нужно? Всемирная сеть Интернет устроена таким образом, что каждое устройство (компьютер, телефон, планшет, маршрутизатор) имеет свой уникальный адрес (на самом деле адреса могут повторяться, если речь идет о разных ЛОКАЛЬНЫХ сетях, но в данной статье мы говорим о глобальной сети и не будем вдаваться в подробности NAT, PAT и маршрутизации), и обратиться к этому устройству можно только зная его адрес в сети. Работая в Интернете, мы обращаемся к десяткам сайтов каждый день. Трудно было бы запомнить все их адреса, состоящие из последовательности номеров и точек, например, что проще запомнить 77.222.61.238 или integrus.compumur.ru? Конечно, второе. А адрес за вас вспомнит система доменных имен.

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

Как установить DNS-сервер?

Сервер может выполнять различные функции, он может исполнять роль глобального каталога, хранить файловую информацию, работать с базами данных, работать одновременно с несколькими пользователями. В зависимости от предназначения сервера на нем устанавливают роли – специальный набор программ, позволяющих серверу выполнять необходимые функции.

Читайте также:  Samsung galaxy a32 как настроить время

Как установить роль DNS сервера? Установку будем проводить на Windows Server 2012 R2.

Чаще всего роль DNS-сервера устанавливается вместе с контроллером домена. Но в случае если во время установки Active Directory вы сняли галочку «DNS-сервер», либо AD просто не нужен, то необходимо провести установку только DNS-сервера. Для этого нужно зайти в диспетчер сервера и нажать кнопку «Добавить роли и компоненты».

Откроется окно «Мастера добавления ролей и компонентов». Прочитайте вступительный текст мастера и нажмите «Далее».

Убедитесь, что выбран пункт «Установка ролей и компонентов» и нажмите «Далее».

Выберите сервер из пула серверов. В нашем случае сервер всего один, у вас может быть больше.

Выбираем Роль DNS-сервер.

Отметив необходимый пункт галочкой, увидим появившееся окно «Мастера добавления ролей и компонентов». Эти компоненты необходимы для управления устанавливаемой ролью. В случае, если вы собираетесь администрировать DNS-сервер с другого сервера, то можно пропустить добавление данных компонентов.

Вернувшись в окно, с отмеченной галочкой DNS-сервер, нажмите кнопку «Далее», затем «Далее и снова «Далее», пока не станет активна кнопка «Установить».

Нажмите кнопку «Установить».

Начнется установка.

После завершения установки (установка будет длится менее 5 минут) появится надпись: «Установка выполнена на ИмяВашегоСервера». Можно нажать кнопку «Закрыть». Теперь в Панели мониторинга сервера, а также в Меню Пуск появится новая строчка «DNS». Если кликнуть по этой строчке, то запустится «Диспетчер DNS».

Он выглядит следующим образом.

На данный момент на DNS-сервере не настроена ни одна зона. Такой сервер называется кэширующим. Зоны – это части пространства имен, за которые отвечает сервер. Зоны прямого просмотра предполагают преобразование имени в IP-адрес. Зона обратного просмотра наоборот, сопоставляет IP-адрес с именем.

Создадим зону прямого просмотра и сделаем её простую настройку.

Для этого кликнем правой кнопкой мыши на надписи «Зоны прямого просмотра» и затем «Создать новую зону».

Откроется окно «Мастера создания новой зоны», жмем «Далее». Откроется окно выбора типа зоны. Если у Вас нет другого сервера DNS выбирайте «Основная зона» и «Далее».

В следующем окне нужно задать имя зоны. Рекомендуется использовать ваш домен. В нашем случае в качестве имени было бы указано: integrus.compumur.ru. Жмем «Далее».

Выбираем «Создать новый файл» и жмем «Далее».

В следующем окне выберите тип динамического обновления. Рекомендуется разрешить динамические обновления, но только если DNS будет использоваться исключительно в вашей локальной сети. В противном случае этот пункт может повлечь за собой риски безопасности, о чем «Мастер создания новой зоны» вас предупредит.

Жмем «Далее» и «Готово». Зона прямого просмотра успешно создана, проведем её простую настройку. Настройка зоны просмотра осуществляется путем добавления в зону DNS-записей. Существует несколько типов DNS-записей. Рассмотрим основные типы:

  • А-запись. Соотносит Имя хоста и адрес протокола IPV
  • АААА-запись. Соотносит Имя хоста и адрес протокола IPV
  • CNAME-запись. Псевдоним, используется для переадресации на другое имя.
  • MX-запись. Почтовая запись, указывает на почтовые сервера.
  • NS-запись. Указывает на DNS-сервер домена.

Создадим А-запись для нашей новой зоны прямого просмотра. Для этого кликнем правой кнопкой мыши на зоне и выберем соответствующий пункт контекстного меню, как показано на рисунке.

В открывшемся окне «Новый узел» вводим Имя узла, например GateWay и его IP-адрес, например 192.168.0.1. Нажмите кнопку «Добавить узел».

Готово! Запись успешно создана!

В данной статье мы постарались максимально понятным языком объяснить простому человеку без глубоких знаний IT что такое DNS, как установить роль DNS-сервера на Windows Server 2012, познакомились с основными типами записей и в картинках показали как эти записи делаются. А если все вышеописанное показалось Вам трудным, то наши специалисты настроят Вам сервер менее, чем за час.

Источник

Поднимаем свой DNS-over-HTTPS сервер

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

До последнего времени, несмотря на очевидность уязвимости DNS трафика, который, до сих пор, по большей части, передаётся в открытом виде, для злонамеренных действий со стороны провайдеров, стремящихся повысить своих доходы за счёт встраивания рекламы в контент, государственных силовых органов и цензуры, а также просто преступников, процесс усиления его защиты, несмотря на наличие различных технологий, таких как DNSSEC/DANE, DNScrypt, DNS-over-TLS и DNS-over-HTTPS, буксовал. И если серверные решения, а некоторые из них существуют уже довольно долгое время, широко известны и доступны, то поддержка их со стороны клиентского программного обеспечения оставляет желать много лучшего.

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

1. Проблемы DNS-over-HTTPS

На первый взгляд, начинающееся массовое внедрение DNS-over-HTTPS в программное обеспечение работающее в Интернет вызывает только позитивную реакцию. Однако, чёрт, как говорится, кроется в деталях.

Первой проблемой, которая ограничивает сферу массового применения DoH, является его ориентация исключительно на веб-трафик. Действительно, протокол HTTP и его актуальная редакция HTTP/2, на которой базируется DoH, является основой WWW. Но Интернет это не только веб. Существует масса популярых сервисов, такие, как электронная почта, всевозможные мессенджеры, системы передачи файлов, стриминг мультимедиа и проч., которые не используют HTTP. Таким образом, несмотря на восприятие многими DoH как панацеи, он оказывается неприменим без дополнительных (да и не нужных) усилий, ни для чего иного, кроме браузерных технологий. К слову, на эту роль куда как более достойным кандидатом выглядит DNS-over-TLS, который реализует инкапсуляцию стандартного DNS трафика в защищённый стандартный протокол TLS.

Второй проблемой, которая потенциально куда как более значима, чем первая, является фактический отказ от присущей DNS by design децентрализации в угоду использования указываемого в настройках браузера единого DoH сервера. В частности, Mozilla предлагает использовать сервис от Cloudflare. Подобный сервис запустили также и другие заметные фигуры Интернет, в частности Google. Получается, что внедрение DNS-over-HTTPS в том виде, в котором это предлагается сейчас, лишь увеличивает зависимость конечных пользователей от крупнейших сервисов. Не секрет, что информация, которую может предоставить анализ DNS запросов способен собирать ещё больше данных о нём, а также повысить их точность и актуальность.

В этой связи, автор был и остаётся сторонником массового внедрения не DNS-over-HTTPS, а DNS-over-TLS совместно с DNSSEC/DANE как универсального, безопасного и не способствующего дальнейшей централизации Интернет средства для обеспечения безопасности DNS трафика. К сожалению, ожидать быстрое внедрение массовой поддержки альтернатив DoH в клиентский софт в силу понятных причин, не приходится и её уделом пока остаются энтузиасты безопасных технологий.

Но, коль уж мы теперь получаем DoH, то почему бы не использовать его, предварительно уйдя от потенциальной слежки по стороны корпораций посредством их серверов на свой собственный DNS-over-HTTPS сервер?

2. Протокол DNS-over-HTTPS

Если взглянуть в стандарт RFC8484 описывающий протокол DNS-over-HTTPS, то можно увидеть, что он, по сути, представляет собой веб API позволяющий инкапсулировать стандартный пакет DNS в протокол HTTP/2. Это реализуется посредством специальных HTTP-заголовков, а также конверсии бинарного формата передаваемых DNS данных (см. RFC1035 и последующие документы) в форму, позволяющую передавать и получать их, а также работать с необходимыми метаданными.

По стандарту поддерживается только HTTP/2 и защищённое соединение TLS.

Отправка DNS-запроса может производится стандартными методами GET и POST. В первом случае запрос трансформируется base64URL-encoded строку, а во-втором — через тело POST-запроса в двоичной форме. При этом при запросе и при ответе DNS используется специальный MIME-тип данных application/dns-message.

Обратите также внимание на заголовок cache-control: в ответе со стороны веб-сервера. В параметре max-age содержится значение TTL для возвращаемой записи DNS (или минимальное значение если возвращается их набор).

Исходя из вышеизложенного, функционирование DoH сервера состоит из нескольких этапов.

  • Получить HTTP запрос. Если это GET то декодировать пакет из base64URL кодировки.
  • Отправить этот пакет DNS серверу.
  • Получить ответ от DNS сервера
  • Найти минимальное значение TTL в полученных записях.
  • Вернуть клиенту ответ по HTTP.

3. Свой DNS-over-HTTPS сервер

Наиболее простым, быстрым и эффективным способом запустить свой собственный DNS-over-HTTPS сервер представляется использование HTTP/2 веб-сервера H2O, о котором автор уже вкратце писал (см. «Высокопроизводительный веб-сервер H2O»).

В пользу этого выбора играет тот факт, что весь код собственного DoH сервра может быть полностью реализован средствами интегрированного в сам H2O интерпретатором mruby. Помимо стандартных библиотек, для обмена данными с DNS сервером необходима библиотека (mrbgem) Socket, которая, по счастью, уже включена в текущую девелоперскую версию H2O 2.3.0-beta2 присутствующую в портах FreeBSD. Впрочем, не трудно добавить её и в любую предыдущую версию клонировав репозиторий библиотеки Socket в каталог /deps перед компиляцией.

Конфигурация веб-сервера, в целом, стандартная.

Исключение составляет лишь обработчик URL /dns-query за который отвечает, собственно, наш DNS-over-HTTPS сервер h2odoh, написанный на mruby и вызываемый через опцию обработчика mruby.handler-file.

Обратие внимание, что за обработку пакетов DNS отвечает локальный кэширующий сервер, в данном случае Unbound из стандратной поставки FreeBSD. С точки зрения безопасности это оптимальное решение. Впрочем, ничто не мешает заменить localhost на адрес другого DNS, который вы предполагаете использовать.

Отстаётся перезапустить H2O и посмотреть что же из этого получилось.

4. Тестирование

Итак, проверим результаты отправив вновь пробный запрос и посмотрев сетевой трафик при помощи утилиты tcpdump.

В выводе видно, как запрос на разрешение адреса example.com был получен и успешно обработан DNS сервером.

Теперь осталось активировать наш сервер в браузере Firefox. Для этого на страницы конфигурации следует изменить несколько настроек about:config.

Во-первых, это адрес нашего API по которому браузер будет запрашивать в DNS информацию в network.trr.uri. Рекомендуется также указать IP домена из этого URL для безопасного разрешения в IP средствами самого браузера без обращения к DNS в network.trr.bootstrapAddress. И, наконец, собственно сам параметр network.trr.mode включающий использование DoH. Установка значения в «3» заставит браузер использовать исключительно DNS-over-HTTPS для разрешения имён, а более надёжное и безопасное «2» отдаст приоритет DoH отставив стандартное обращение к DNS в качестве резервного варианта.

5. PROFIT!

Статья была полезной? Тогда прошу не стесняться и поддерживать деньгами через форму доната (ниже).

Источник

Оцените статью