Что такое DNS-сервер, как он работает, виды DNS, настройка подключения. Свой DNS-сервер на примере Pi-hole

Интернет – это огромная сеть, связывающая миллиарды устройств. Чтобы ориентироваться в этом пространстве, мы используем легко запоминающиеся имена сайтов, такие как google.com или wikipedia.org. Но компьютеры общаются на другом языке – языке IP-адресов. Здесь на сцену выходит система доменных имен, или DNS. Представьте DNS как гигантскую, постоянно обновляемую телефонную книгу интернета. Без нее каждый раз, когда вы хотели бы посетить веб-сайт, вам пришлось бы вводить сложную числовую последовательность, например, 172.217.16.142, вместо простого имени. Важность этой системы для удобной и быстрой работы в сети невозможно переоценить.

Что такое DNS-сервер

DNS-сервер (Domain Name System server, или сервер системы доменных имен) – это специализированный сервер, который преобразует человекочитаемые доменные имена (например, example.com) в машиночитаемые IP-адреса (например, 93.184.216.34). IP-адрес – это уникальный числовой идентификатор, присваиваемый каждому устройству, подключенному к компьютерной сети, использующей протокол IP для связи. Без серверов разрешения имен навигация по всемирной паутине была бы крайне затруднительной.

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

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

  • Google Public DNS: 8.8.8.8 и 8.8.4.4
  • Cloudflare DNS: 1.1.1.1 и 1.0.0.1
  • Яндекс.DNS: предлагает несколько режимов с разными уровнями фильтрации (например, 77.88.8.8 – базовый, 77.88.8.7 – безопасный).

Использование надежного и быстрого сервера разрешения имен может существенно повлиять на скорость загрузки веб-страниц и общую безопасность в сети.

Как работает DNS

Путешествие от Домена к IP-адресу … процесс преобразования доменного имени в IP-адрес, известный как разрешение DNS, включает несколько этапов и различных типов серверов. Этот процесс можно сравнить с тем, как система обработки естественного языка анализирует предложение, чтобы понять его смысл, разбирая его на составные части. При запросе работа DNS выглядит следующим образом:

— 1. Запрос пользователя и локальный кэш: Вы вводите cod-reg.ru в браузер. Первым делом ваша операционная система проверяет собственный кэш DNS. Если информация о cod-reg.ru там уже есть (например, вы недавно посещали этот сайт), IP-адрес извлекается немедленно, и процесс на этом завершается. Среднее время разрешения DNS, если адрес находится в кэше, может быть минимальным. Если нет – система обращается к настроенному рекурсивному DNS-серверу.

— 2. Рекурсивный DNS-сервер (Recursive Resolver): Это обычно сервер вашего интернет-провайдера или публичный сервер, который вы настроили вручную (например, Google DNS, Yandex DNS). Рекурсивный сервер сам не хранит все IP-адреса, но он знает, где их искать. Он также имеет свой кэш. Если нужной записи нет, он начинает цепочку запросов.

— 3. Корневые серверы имен (Root Nameservers): Если рекурсивный сервер не находит IP-адрес в своем кэше, он обращается к одному из 13 корневых серверов имен (на самом деле их гораздо больше физически, но они работают под 13 IP-адресами). Корневой сервер не знает IP-адрес cod-reg.ru, но он знает, где находится сервер доменных имен верхнего уровня (TLD) для зоны .ru. Он возвращает адрес TLD-сервера рекурсивному серверу.

— 4. Серверы доменных имен верхнего уровня (TLD Nameservers): Рекурсивный сервер теперь обращается к TLD-серверу для зоны .ru. Этот сервер управляет информацией о доменах .ru. Он не знает IP-адрес cod-reg.ru, но он знает адрес авторитетного DNS-сервера, который отвечает за домен cod-reg.ru.

— 5. Авторитетный DNS-сервер (Authoritative Nameserver): Наконец, рекурсивный сервер обращается к авторитетному серверу имен для cod-reg.ru. Этот сервер является конечным источником информации для данного домена и содержит точную запись, связывающую cod-reg.ru с его IP-адресом (например, 93.184.216.34). Он отправляет этот IP-адрес обратно рекурсивному серверу.

— 6. Возврат IP-адреса и кэширование: Рекурсивный сервер получает IP-адрес и передает его вашему компьютеру. Ваш компьютер сохраняет эту информацию в своем DNS-кэше на определенное время (TTL – Time To Live), чтобы при последующих обращениях к cod-reg.ru не повторять весь процесс. Рекурсивный сервер также кэширует эту информацию. Среднее время разрешения DNS для нового запроса обычно составляет от 20 до 120 миллисекунд. В некоторых случая может быть даже дольше, и если не получится получить IP адрес сервера для запрашиваемого домена, то запрос будет неудачным и отобразится сообщение об ошибке (например в браузере - Сайт *.ru пока не может обработать этот запрос).

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

Основные виды DNS-серверов

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

Рекурсивные DNS-серверы (Recursive Resolvers)

Это “рабочие лошадки” для конечных пользователей. Когда вы вводите доменное имя, именно рекурсивный сервер (обычно предоставляемый вашим интернет-провайдером или выбранный вами публичный сервер, например, 1.1.1.1 от Cloudflare) берет на себя задачу найти соответствующий IP-адрес. Он последовательно опрашивает другие серверы имен (корневые, TLD, авторитетные), пока не получит ответ. Активно используют кэширование для ускорения ответов на частые запросы.

Авторитетные DNS-серверы (Authoritative Nameservers)

Это конечный источник правды для конкретного домена. Владелец домена (например, example.com) указывает в настройках своего домена адреса авторитетных серверов, которые хранят его DNS-записи (A, AAAA, CNAME, MX и т.д.). Когда рекурсивный сервер добирается до авторитетного, он получает окончательный ответ – IP-адрес или указание, что домен не существует. Обычно для каждого домена существует как минимум два авторитетных сервера для обеспечения отказоустойчивости.

Кэширующие DNS-серверы (Caching DNS Servers)

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

Серверы доменных имен верхнего уровня (TLD Nameservers)

Эти серверы управляют информацией для доменов верхнего уровня, таких как .com, .org, .net, .ru, .uk и т.д. Когда рекурсивный сервер ищет cod-reg.ru, после корневого сервера он обратится к TLD-серверу для зоны .ru, чтобы узнать, какие авторитетные серверы отвечают за данный домен.

Корневые серверы имен (Root Nameservers)

Находятся на вершине иерархии DNS. Они направляют запросы к соответствующим TLD-серверам. В мире существует 13 логических корневых серверов, управляемых различными организациями.

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

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

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

Настройка DNS-подключения

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

Настройка DNS в Windows
  • Откройте Панель управления. Это можно сделать через поиск в меню “Пуск”.
  • Перейдите в “Сеть и Интернет” -> “Центр управления сетями и общим доступом”.
  • В левой части окна нажмите “Изменение параметров адаптера”.
  • Щелкните правой кнопкой мыши по активному сетевому подключению (Ethernet или Wi-Fi) и выберите “Свойства”.
  • В списке компонентов выберите “IP версии 4 (TCP/IPv4)” и нажмите кнопку “Свойства”.
  • В нижней части окна выберите опцию “Использовать следующие адреса DNS-серверов”.
  • Введите адреса предпочитаемого и альтернативного DNS-серверов. Например, для Google DNS:
    • Предпочитаемый DNS-сервер: 8.8.8.8
    • Альтернативный DNS-сервер: 8.8.4.4
  • Нажмите “ОК” во всех открытых окнах для сохранения изменений.
Настройка DNS в macOS
  • Откройте Системные настройки. (Значок шестеренки в Dock или через меню Apple).
  • Перейдите в раздел “Сеть”.
  • Выберите активное сетевое подключение (Wi-Fi или Ethernet) из списка слева.
  • Нажмите кнопку “Дополнительно…”.
  • Перейдите на вкладку “DNS”.
  • Нажмите кнопку ”+” под списком DNS-серверов, чтобы добавить новый адрес. Введите адрес (например, 1.1.1.1 для Cloudflare).
  • Таким же образом добавьте альтернативный сервер (например, 1.0.0.1).
  • Если в списке есть старые адреса, их можно удалить, выбрав и нажав кнопку ”-”.
  • Нажмите “ОК”, а затем “Применить” для сохранения настроек.

В сети есть информация, что DNS от Cloudflare на территории Российской Федерации работает с некоторыми проблемными нюансами, поэтому рекомендуется использовать другие DNS-серверы, например от Yandex или же Quad9.

Настройка DNS на Маршрутизаторе

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

  • Узнайте IP-адрес вашего маршрутизатора. Обычно это 192.168.1.1 или 192.168.0.1. Эту информацию можно найти в документации к маршрутизатору или в настройках сетевого подключения вашего компьютера (шлюз по умолчанию).
  • Откройте веб-браузер и введите IP-адрес маршрутизатора в адресную строку.
  • Войдите в панель администратора маршрутизатора, используя логин и пароль. (Если вы их не меняли, они указаны на наклейке на самом маршрутизаторе или в инструкции).
  • Найдите настройки DNS. Расположение этих настроек зависит от модели маршрутизатора. Обычно они находятся в разделе “WAN”, “Интернет” (Internet), “Сетевые настройки” (Network Settings) или “DHCP-сервер”.
  • Введите адреса DNS-серверов. Найдите поля для ввода основного (Primary) и дополнительного (Secondary) DNS-серверов. Введите выбранные вами адреса (например, Яндекс.DNS: 77.88.8.8 и 77.88.8.7).
  • Сохраните изменения и перезагрузите маршрутизатор, если это потребуется.

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

Создание собственного DNS-сервера с Pi-hole

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

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

Почему Pi-hole – Отличный Выбор для Домашнего DNS?

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

  • Эффективная фильтрация рекламы через Pi-hole: Блокирует рекламу на уровне сети, то есть на всех подключенных устройствах, включая смартфоны, планшеты, Smart TV, без необходимости установки отдельных блокировщиков. Pi-hole может блокировать до 100 тысяч и более рекламных доменов.
  • Повышение производительности: За счет блокировки загрузки рекламного контента страницы могут загружаться быстрее, а потребление трафика снижаться.
  • Улучшение безопасности в сети: Блокирует доступ к доменам, известным распространением вредоносного ПО или фишингом.
  • Централизованный контроль и мониторинг: Веб-интерфейс Pi-hole предоставляет подробную статистику о DNS-запросах, заблокированных доменах и активности устройств в вашей сети.
  • Гибкость настройки: Позволяет вести белые и черные списки доменов, настраивать вышестоящие DNS-серверы (upstream DNS servers) по вашему выбору (включая DNS over HTTPS для большей приватности).
  • Низкие требования к ресурсам: Может работать даже на старых моделях Raspberry Pi.
Пошаговая установка Pi-hole

Установка Pi-hole довольно проста, потребуется любой дистрибутив линукс на той машине (компьютере), который будет выступать в роли DNS-сервера.

  • Откройте терминал.
  • Выполните следующую команду для запуска автоматического установщика:
curl -sSL https://install.pi-hole.net | sudo bash

Прочие варианты установки Pi-hole описаны на официальном репозитории разработчика Pi-hole.

  • Установщик проведет вас через несколько шагов настройки:
    • Выбор вышестоящего DNS-провайдера: Вы можете выбрать из списка (Google, Cloudflare, Quad9 и др.) или указать свой.
    • Выбор списков блокировки: По умолчанию выбраны хорошие списки, их можно оставить.
    • Выбор протоколов IP: (IPv4, IPv6 или оба).
    • Подтверждение статического IP-адреса: Установщик покажет текущий IP-адрес и предложит использовать его.
    • Установка веб-интерфейса и модуля логирования: Рекомендуется установить оба.
  • По завершении установки на экране отобразится IP-адрес вашего Pi-hole и пароль для доступа к веб-интерфейсу. Обязательно запишите этот пароль!

Откройте браузер на любом устройстве в вашей сети и перейдите по адресу http://<IP-адрес_вашего_Pi-hole>/admin (например, http://192.168.1.100/admin). Войдите, используя пароль, полученный при установке. Здесь вы можете видеть статистику, управлять списками блокировки, просматривать логи запросов и настраивать Pi-hole. Не забудьте перенастроить роутер и указать в качестве DNS-сервера вашего устройства IP-адрес вашего Pi-hole, чтобы все соединения проходили через него.

Использование Pi-hole в качестве вашего основного сервера разрешения имен дает ощутимые выгоды:

  • Комплексная блокировка рекламы : Избавьтесь от большинства баннеров, всплывающих окон и видеорекламы на веб-сайтах и в приложениях на всех устройствах.
  • Улучшенная приватность : Pi-hole предотвращает отслеживание вашей активности многими рекламными сетями и трекерами.
  • Контроль над сетевым трафиком : Вы видите, какие домены запрашивают ваши устройства, и можете блокировать нежелательные. Это помогает выявить “болтливые” приложения или устройства IoT.
  • Локальное кэширование DNS : Pi-hole кэширует DNS-запросы, что может немного ускорить загрузку часто посещаемых сайтов для всех устройств в сети.
  • Обучающий аспект : Установка и настройка Pi-hole – отличный способ углубиться в понимание работы сетей и DNS.

Создание собственного DNS-сервера с Pi-hole – это шаг к более чистому, быстрому и безопасному интернету в вашем доме.

Заключение

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

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

Попробуйте настроить более быстрый публичный DNS-сервер или, если вы готовы к небольшому эксперименту, установите Pi-hole. Вы можете быть удивлены тем, насколько чище и быстрее станет ваш интернет, а также получите ценный опыт в управлении собственной сетевой средой и усилении безопасности в сети. Экспериментируйте, настраивайте и наслаждайтесь более качественным доступом во всемирную паутину!

👍 Партнёрский купон на все услуги
Промокод на все услуги Reg.ru
Скидка от 5% до 40% на любую из услуг REG.RU