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

Обновлено: 03.07.2024

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

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

Следующее является ключевыми атрибутами службы доменных имен в виртуальном мире:

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

Должна быть предусмотрена возможность настройки серверов доменных имен для формирования иерархии DNS-серверов, необходимой каждому арендатору.

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

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

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

Определение нескольких виртуальных серверов доменных имен в Contrail

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

Рисунок 1. Примеры DNS-серверов

IPAM и виртуальный DNS

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

Рисунок 2. IPAM и виртуальный DNS

Типы записей DNS

Записи DNS можно добавлять статически. В настоящее время в системе поддерживаются типы записей DNS A, CNAME, PTR и NS. Каждая запись включает тип, класс (IN), имя, данные и значения TTL. См. Таблицу 1 для описания типов записей.

Таблица 1. Поддерживаемые типы записей DNS

Тип записи DNS

А

Используется для сопоставления имен хостов с адресами IPv4. Имя относится к имени виртуальной машины, а данные — к IPv4-адресу виртуальной машины.

ЗАПИСЬ

Предоставляет псевдоним для имени. Имя относится к имени виртуальной машины, а данные — к новому имени (алиасу) виртуальной машины.

PTR

Указатель на запись, обеспечивает обратное сопоставление IP-адреса с именем. Имя относится к IP-адресу, а данные — к имени виртуальной машины. Адрес в записи PTR должен быть частью подсети, настроенной для виртуальной сети в одном из IPAM, ссылающихся на этот виртуальный DNS-сервер.

Н.С.

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

На рис. 3 показан пример использования DNS-записи типа NS.

Рисунок 3. Пример использования типа записи NS

Настройка DNS в пользовательском интерфейсе

DNS можно настроить с помощью пользовательского интерфейса или скриптов. Следующая процедура показывает, как настроить DNS через интерфейс Juniper Networks Contrail.

    Откройте Configure > DNS > Servers, чтобы создать или удалить виртуальные DNS-серверы и записи.

Откроется страница "Настройка записей DNS"; см. рис. 4.

Рисунок 4. Настройка записей DNS

Введите информацию о DNS-сервере в окне "Добавить DNS"; см. рис. 5

Рисунок 5. Добавление DNS

Заполните поля для нового сервера; см. Таблицу 2.

Таблица 2. Добавление полей DNS

Имя сервера

Введите имя для этого сервера.

Имя домена

Введите имя домена для этого сервера.

Время жить

Введите срок жизни в секундах.

Следующий DNS-сервер

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

Порядок балансировки нагрузки

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

ОК

Нажмите OK, чтобы создать запись.

Отмена

Нажмите "Отмена", чтобы очистить поля и начать заново.

Появится окно "Добавить запись DNS"; см. рис. 6.

Рисунок 6. Добавление записи DNS

Таблица 3. Добавление полей записи DNS

Имя записи

Введите имя для этой записи.

Тип

Выберите тип записи из списка — A, CNAME, PTR, NS.

IP-адрес

Введите IP-адрес местоположения этой записи.

Класс

Выберите класс записи из списка. По умолчанию используется IN.

Время жить

Введите срок жизни в секундах.

ОК

Нажмите OK, чтобы создать запись.

Отмена

Нажмите "Отмена", чтобы очистить поля и начать заново.

Появится окно «Связать IPAM с DNS»; см. рис. 7.

Рисунок 7. Связывание IPAM с DNS

Заполните ассоциации IPAM, используя описания полей в таблице 4.

Таблица 4. Связывание IPAM с полями DNS

Связать со всеми IPAM

Отметьте это поле, чтобы связать выбранный DNS-сервер со всеми доступными IPAM.

Доступные IPAM

В этом столбце отображаются доступные в настоящее время IPAM.

Связанные IPAM

В этом столбце отображаются IPAM, связанные с выбранным DNS-сервером в настоящее время.

Используйте эту кнопку, чтобы связать доступный IPAM с выбранным DNS-сервером, выбрав доступный IPAM в левом столбце и нажав эту кнопку, чтобы переместить его в столбец Связанные IPAM. Выбранный IPAM теперь связан с выбранным DNS-сервером.

Появится окно "Редактировать управление IP-адресами"; см. рис. 9.

Рисунок 9. DNS-сервер

Таблица 5: Режимы DNS

Нет

Выберите «Нет», если для виртуальных машин не требуется поддержка DNS.

По умолчанию

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

Арендатор

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

Виртуальный DNS

Настройте этот режим для поддержки виртуальных DNS-серверов (VDNS) для разрешения DNS-запросов от виртуальных машин. Каждый IPAM может иметь виртуальный DNS-сервер, настроенный в этом режиме.

Настройка DNS с помощью скриптов

Вы можете настроить DNS с помощью сценариев, доступных в пакете contrail-utils RPM/DEB в каталоге /opt/contrail/utils. Сценарии копируются в узел config_api_container или config при установке пакета contrail-utils RPM/DEB. Вы можете выполнять сценарии либо из контейнера config_api, либо из узла конфигурации. Сценарии описаны в таблице 6.

Внимание

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

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

Режим DNS IPAM и сопоставление следует изменять только в том случае, если в виртуальных сетях, связанных с IPAM, нет экземпляров виртуальных машин.

Настройте параметры сети для использования Google Public DNS

При использовании Google Public DNS вы меняете оператора «коммутатора» DNS с поставщика услуг Интернета на Google Public DNS.

В большинстве случаев протокол динамической конфигурации хоста (DHCP) автоматически настраивает вашу систему на использование IP-адресов серверов доменных имен вашего интернет-провайдера. Чтобы использовать Google Public DNS, вам необходимо явно изменить настройки DNS в вашей операционной системе или устройстве, чтобы использовать IP-адреса Google Public DNS. Процедура изменения настроек DNS зависит от операционной системы и версии (Windows, Mac, Linux или Chrome OS) или устройства (компьютер, телефон или маршрутизатор). Здесь мы приводим общие процедуры, которые могут не применяться к вашей ОС или устройству; обратитесь к документации поставщика для получения достоверной информации.

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

Важно: прежде чем начать

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

Мы также рекомендуем вам распечатать эту страницу в случае возникновения проблем и необходимости обратиться к этим инструкциям.

IP-адреса Google Public DNS

IP-адреса Google Public DNS (IPv4) следующие:

IPv6-адреса Google Public DNS:

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

Вы можете настроить общедоступные DNS-адреса Google для подключений IPv4, IPv6 или обоих. Для сетей только для IPv6 со шлюзом NAT64, использующим префикс 64:ff9b::/96, вы можете использовать Google Public DNS64 вместо IPv6-адресов Google Public DNS, обеспечивая подключение к службам только для IPv4 без какой-либо другой настройки.

Измените настройки DNS-серверов

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

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

Окна

Настройки DNS задаются в окне свойств TCP/IP для выбранного сетевого подключения.

Пример: изменение настроек DNS-сервера в Windows 10

  1. Перейдите в панель управления.
  2. Нажмите «Сеть и Интернет» > «Центр управления сетями и общим доступом» > «Изменить параметры адаптера».

Выберите соединение, для которого вы хотите настроить Google Public DNS. Например:

  • Чтобы изменить настройки подключения Ethernet, щелкните правой кнопкой мыши интерфейс Ethernet и выберите "Свойства".
  • Чтобы изменить настройки беспроводного подключения, щелкните правой кнопкой мыши интерфейс Wi-Fi и выберите "Свойства".

Если вам будет предложено ввести пароль администратора или подтверждение, введите пароль или предоставьте подтверждение.

Выберите вкладку Сеть. В разделе «Это подключение использует следующие элементы» выберите «Протокол Интернета версии 4 (TCP/IPv4)» или «Протокол Интернета версии 6 (TCP/IPv6)», а затем нажмите «Свойства».

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

Нажмите "ОК".

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

Замените эти адреса IP-адресами DNS-серверов Google:

  • Для IPv4: 8.8.8.8 и/или 8.8.4.4.
  • Для IPv6: 2001:4860:4860::8888 и/или 2001:4860:4860::8844.
  • Только для IPv6: вы можете использовать Google Public DNS64вместо адресов IPv6 в предыдущем пункте.

Проверьте, правильно ли работает ваша установка; см. раздел Проверка новых настроек.

Повторите процедуру для дополнительных сетевых подключений, которые вы хотите изменить.

macOS

Настройки DNS задаются в окне «Сеть».

Пример: изменение настроек DNS-сервера в macOS 10.15

  1. Выберите меню Apple >Системные настройки >Сеть.
  2. Если значок замка в нижнем левом углу окна заблокирован, щелкните его, чтобы внести изменения, и при появлении запроса на аутентификацию введите свой пароль.
  3. Выберите соединение, для которого вы хотите настроить Google Public DNS. Например:
    • Чтобы изменить настройки подключения Wi-Fi, выберите Wi-Fi и нажмите "Дополнительно".
    • Чтобы изменить настройки подключения Ethernet, выберите «Встроенный Ethernet» и нажмите «Дополнительно».
  4. Выберите вкладку DNS.
  5. Нажмите +, чтобы заменить все перечисленные адреса или добавить IP-адреса Google вверху списка:
    • Для IPv4: 8.8.8.8 и/или 8.8.4.4.
    • Для IPv6: 2001:4860:4860::8888 и/или 2001:4860:4860::8844.
    • Только для IPv6: вы можете использовать Google Public DNS64вместо адресов IPv6 в предыдущем пункте.
  6. Нажмите "ОК" > "Применить".
  7. Проверьте, правильно ли работает ваша установка; см. раздел Проверка новых настроек.
  8. Повторите процедуру для дополнительных сетевых подключений, которые вы хотите изменить.

Линукс

В большинстве современных дистрибутивов Linux настройки DNS настраиваются через Network Manager.

Пример: изменение настроек DNS-сервера в Ubuntu

  1. Нажмите «Система» > «Настройки» > «Сетевые подключения».
  2. Выберите соединение, для которого вы хотите настроить Google Public DNS. Например:
    • Чтобы изменить настройки подключения Ethernet, выберите вкладку "Проводная сеть", затем выберите свой сетевой интерфейс в списке. Обычно он называется eth0 .
    • Чтобы изменить настройки беспроводного подключения, откройте вкладку "Беспроводная связь", затем выберите соответствующую беспроводную сеть.
  3. Нажмите «Изменить» и в появившемся окне выберите вкладку «Параметры IPv4» или «Параметры IPv6».
  4. Если выбран автоматический метод (DHCP), откройте раскрывающийся список и вместо этого выберите только автоматические (DHCP) адреса. Если для метода задано другое значение, не меняйте его.
  5. В поле DNS-серверы введите IP-адреса Google Public DNS, разделенные запятой:
    • Для IPv4: 8.8.8.8 и/или 8.8.4.4.
    • Для IPv6: 2001:4860:4860::8888 и/или 2001:4860:4860::8844.
    • Только для IPv6: вы можете использовать Google Public DNS64вместо адресов IPv6 в предыдущем пункте.
  6. Нажмите «Применить», чтобы сохранить изменения. Если вам будет предложено ввести пароль или подтверждение, введите пароль или предоставьте подтверждение.
  7. Проверьте, правильно ли работает ваша установка; см. раздел Проверка новых настроек.
  8. Повторите процедуру для дополнительных сетевых подключений, которые вы хотите изменить.

Если ваш дистрибутив не использует Network Manager, ваши настройки DNS указаны в /etc/resolv.conf .

Пример: изменение настроек DNS-сервера на сервере Debian

Если появятся какие-либо строки сервера имен, запишите IP-адреса для дальнейшего использования.

Замените строки сервера имен или добавьте следующие строки:

Только для IPv6 вы можете использовать Google Public DNS64 вместо указанных выше адресов IPv6.

Перезапустите все используемые интернет-клиенты.

Проверьте, правильно ли работает ваша установка; см. раздел Проверка новых настроек.

Кроме того, если вы используете программное обеспечение DHCP-клиента, которое перезаписывает настройки в /etc/resolv.conf , вам необходимо настроить DHCP-клиент, отредактировав файл конфигурации клиента.

Пример: настройка программного обеспечения DHCP-клиента на сервере Debian

Создайте резервную копию /etc/resolv.conf:

Отредактируйте файл /etc/dhcp/dhclient.conf (или /etc/dhcp3/dhclient.conf):

Если после запроса есть строка, содержащая только серверы доменных имен, удалите эту строку.

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

Замените эту строку или добавьте следующую строку:

Только для IPv6 вы можете использовать Google Public DNS64 вместо указанных выше адресов IPv6.

Перезапустите все используемые интернет-клиенты.

Проверьте, правильно ли работает ваша установка; см. раздел Проверка новых настроек.

ОС Chrome

Настройки DNS задаются в разделе «Сеть» меню «Настройки» для выбранного сетевого подключения.

Пример: изменение настроек DNS-сервера в Chrome OS 71

  1. Откройте меню настроек.
  2. В разделе «Сеть» выберите подключение, для которого вы хотите настроить Google Public DNS. Например:
    • Чтобы изменить настройки подключения Ethernet, щелкните раздел Ethernet.
    • Чтобы изменить настройки беспроводного подключения, щелкните раздел Wi-Fi и выберите соответствующее имя сети.
    • Изменить настройки DNS для мобильного подключения для передачи данных, установленного с помощью Instant Tethering, невозможно. Однако для мобильных точек доступа Wi-Fi, настроенных вручную, вы можете изменить настройки DNS, следуя инструкциям для беспроводного подключения.
  3. Разверните раздел "Сеть" для выбранного подключения.
  4. В разделе Серверы имен:
    • Для IPv4: нажмите кнопку серверов имен Google (или нажмите кнопку "Пользовательские серверы имен" и введите 8.8.8.8 и 8.8.4.4).
    • Для IPv6: нажмите кнопку Пользовательские серверы имен и введите 2001:4860:4860::8888 и/или 2001:4860:4860::8844.
    • Только для IPv6: вы можете использовать Google Public DNS64вместо адресов IPv6 в предыдущем пункте.
  5. Нажмите за пределами раздела «Сеть», чтобы применить настройки.
  6. Проверьте, правильно ли работает ваша установка; см. раздел Проверка новых настроек.
  7. Повторите процедуру для дополнительных сетевых подключений, которые вы хотите изменить.

Маршрутизаторы

Каждый маршрутизатор использует свой пользовательский интерфейс для настройки параметров DNS-сервера. мы предоставляем только общую процедуру. Дополнительные сведения см. в документации к маршрутизатору.

Чтобы изменить настройки маршрутизатора:

  1. В браузере введите IP-адрес маршрутизатора, чтобы открыть консоль администрирования маршрутизатора. Большинство маршрутизаторов производятся с использованием адреса по умолчанию, такого как 192.168.0.1, 192.168.1.1, 192.168.2.1 или 192.168.1.100. Если ни один из них не работает или он был изменен, попробуйте найти адрес шлюза по умолчанию в панели сетевых настроек вашей системы.
  2. При появлении запроса введите пароль для изменения настроек сети.
  3. Найдите экран, на котором указаны настройки DNS-сервера.
  4. Если в полях для основного и вторичного DNS-серверов указаны IP-адреса, запишите их для дальнейшего использования.
  5. Замените эти адреса IP-адресами Google:
    • Для IPv4: 8.8.8.8 и/или 8.8.4.4.
    • Для IPv6: 2001:4860:4860::8888 и/или 2001:4860:4860::8844.
    • Только для IPv6: вы можете использовать Google Public DNS64вместо адресов IPv6 в предыдущем пункте.
  6. Сохранить и выйти.
  7. Перезапустите браузер.
  8. Проверьте, правильно ли работает ваша установка; см. раздел Проверка новых настроек.

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

  • 2001:4860:4860:0:0:0:0:8888
  • 2001:4860:4860:0:0:0:0:8844

Расширьте записи 0 до 0000, если требуются четыре шестнадцатеричных цифры.

Вы можете изменить настройки DNS на iPhone, iPad или iPod touch, выполнив следующие действия.

  1. Откройте "Настройки" > "Wi-Fi".
  2. Нажмите значок ⓘ рядом с сетью Wi-Fi, для которой вы хотите изменить DNS-серверы. Прокрутите вниз, найдите раздел DNS и нажмите «Настроить DNS».
  3. Нажмите «Вручную» и добавьте IP-адреса Google. При желании вы также можете удалить из списка все DNS-серверы по умолчанию.
    • Для IPv4: 8.8.8.8 и/или 8.8.4.4
    • Для IPv6: 2001:4860:4860::8888 и/или 2001:4860:4860::8844

Возвращение к автоматическому режиму восстановит DNS-сервер, указанный сетью Wi-Fi.

Андроид

Android 9 (круговая) или выше

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

  1. Откройте "Настройки" > "Сеть и Интернет" > "Дополнительно" > "Частный DNS".
  2. Выберите имя хоста частного поставщика DNS.
  3. Введите dns.google в качестве имени хоста поставщика DNS.
  4. Нажмите "Сохранить".

Для получения дополнительной информации см. сообщение в блоге Android, анонсирующее эту функцию. Обратите внимание, что в Android P режим по умолчанию для частного DNS — «Автоматический», что означает, что он использует указанный в сети DNS-сервер и пытается установить TLS-соединение с портом 853, прежде чем вернуться к UDP на порту 53.

Старые версии Android

Устройства с более ранними версиями, чем Android 9, не поддерживают DNS-over-TLS и не могут настроить частный DNS для всех сетей. Вы можете настроить DNS для каждой отдельной сети Wi-Fi, которую вы используете. Это требует ручной настройки всей сетевой информации и рекомендуется только для опытных пользователей.

Мобильные и другие устройства

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

Чтобы изменить настройки на мобильном устройстве:

  1. Перейдите к экрану, на котором указаны настройки Wi-Fi.
  2. Найдите экран, на котором указаны настройки DNS-сервера.
  3. Если в полях для основного и дополнительного DNS-серверов указаны IP-адреса, запишите их для дальнейшего использования.
  4. Замените эти адреса IP-адресами Google:
    • Для IPv4: 8.8.8.8 и/или 8.8.4.4.
    • Для IPv6: 2001:4860:4860::8888 и/или 2001:4860:4860::8844.
    • Только для IPv6: вы можете использовать Google Public DNS64вместо адресов IPv6 в предыдущем пункте.
  5. Сохранить и выйти.
  6. Проверьте, правильно ли работает ваша установка; см. раздел Проверка новых настроек.

Протестируйте новые настройки

Чтобы проверить, работает ли преобразователь DNS Google:

Если все эти тесты работают, все работает правильно. Если нет, перейдите к следующему шагу.

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

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

Если у вас возникнут проблемы после установки Google Public DNS в качестве преобразователя, запустите процедуру диагностики.

Вернуться к старым настройкам DNS

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

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

При необходимости перезагрузите систему.

Если не указано иное, содержимое этой страницы предоставляется по лицензии Creative Commons Attribution 4.0, а образцы кода — по лицензии Apache 2.0. Подробнее см. в Правилах сайта Google Developers. Java является зарегистрированным товарным знаком Oracle и/или ее дочерних компаний.

Глобус в пикселях

В предыдущей статье этой серии, состоящей из двух частей, "Введение в DNS (систему доменных имен)" я описал, как устроена база данных DNS и как настроить службы имен на клиенте. Я также перечислил и описал некоторые из наиболее распространенных записей DNS, с которыми вы, вероятно, столкнетесь при создании сервера имен или просто пытаетесь интерпретировать результаты команды dig.

В этой статье я покажу вам, как создать собственный сервер имен с помощью BIND (домена имен в Интернете Беркли). Это не так сложно, как вы думаете, особенно потому, что вы можете сделать это в два этапа.

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

Настройка DNS-сервера с помощью BIND

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

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

Мои настройки

Вам нужен только один компьютер для выполнения всех задач, кроме одной, в этом лабораторном проекте. Я использую эту настройку на своем гораздо более мощном ThinkPad, потому что серверы имен, предоставляемые DHCP (протокол динамической конфигурации хоста), когда я подключаюсь к не домашним сетям с использованием проводных или беспроводных подключений, иногда могут быть ненадежными. Чтобы показать, что почти любой хост может хорошо работать в качестве сервера имен, я протестировал этот проект на старом нетбуке ASUS EeePC 900.

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

Файл hosts

Во-первых, давайте взглянем на файл /etc/hosts. В состоянии по умолчанию в файле hosts должно быть только две строки, первые две строки показаны в листинге 1 ниже.

Листинг 1. Вы можете поддерживать простой файл hosts для выполнения функции преобразователя в небольших сетях.

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

Подготовка

Прежде чем начать, вы должны подготовиться, выполнив следующие шаги.

Сначала сделайте резервные копии файлов /etc/hosts, /etc/named.conf, resolv.conf и /etc/sysconfig/iptables.

Если они еще не установлены, используйте диспетчер пакетов вашего дистрибутива, чтобы установить следующие RPM-пакеты BIND: bind, bind-chroot и bind-utils. Чтобы ваш лабораторный хост мог использовать кэширующий сервер имен, вы должны добавить строку сервера имен, указывающую на ваш собственный хост, в /etc/resolv.conf. Например, если IP-адрес вашего тестового хоста — 192.168.0.203, как и мой epc, добавьте следующую строку в начало списка серверов имен в /etc/resolv.conf:

Обязательно используйте IP-адрес хоста, на котором вы выполняете этот проект.

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

Эти изменения вступят в силу немедленно и не требуют перезагрузки или перезапуска службы. Теперь попробуйте пропинговать общий общедоступный хост, который не блокирует пакеты ICMP (Internet Control Message Protocol); не стесняйтесь использовать мой брандмауэр, которым является Raspberry Pi.

Вы должны получить сообщение об ошибке "неизвестный хост" или "имя или служба неизвестны", поскольку в настоящее время у вас нет работающей службы DNS или преобразователя, определенного в файле resolv.conf. Теперь используйте команду dig, чтобы проверить, работают ли службы имен.

Вы должны получить сообщение об ошибке "Время ожидания подключения истекло; нет доступа к серверам".

Настройка кеширующего сервера имен

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

Примечание. В файле named.conf особое внимание уделяется синтаксису и особенно пунктуации. Точки с запятой используются для обозначения конца записи и конца строфы, а также конца строки. Обязательно добавьте их правильно, как показано в примерах.

Для первоначальной настройки кэширующего сервера имен необходимо внести пару изменений в файл по умолчанию /etc/named.conf, поэтому отредактируйте этот файл в своем любимом редакторе. Сначала добавьте IP-адрес вашего локального тестового хоста в строку «прослушивание порта 53», как показано в листинге 2 ниже. Это позволяет named прослушивать внешний IP-адрес вашего хоста, чтобы другие компьютеры также могли использовать его в качестве сервера имен.

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

Добавьте строку "экспедиторы", как показано ниже. Это сообщает вашему кэширующему DNS-серверу, где получить IP-адреса, если они еще не кэшированы локально. IP-адреса в приведенном ниже списке предназначены для общедоступных DNS-серверов Google. Вы можете использовать своего локального интернет-провайдера, OpenDNS или какой-либо другой общедоступный сервер имен в качестве переадресации. Нет необходимости определять какие-либо серверы пересылки, и в этом случае BIND будет использовать корневые серверы Интернета, как определено в файле /var/named/named.ca, для поиска полномочных серверов имен для доменов, если серверы пересылки не определены. Но для этого упражнения определите серверы пересылки, как показано в листинге 2.

Закомментируйте строку IPV6, поскольку мы не используем IPV6 в тестовой среде. Обратите внимание, что две косые черты "//" обозначают комментарии в файле named.conf.

Листинг 2. Файл /etc/named.conf содержит простую конфигурацию, необходимую для настройки кэширующего сервера имен. Строки, которые необходимо добавить или изменить, выделены жирным шрифтом.

Добавьте локальный сетевой адрес 192.168.0.0/24 в строку allow-query. В этой строке указываются сети, из которых DNS-запросы будут приниматься этим DNS-сервером.

Запустить службу имен

Теперь запустите названную службу и настройте ее так, чтобы она запускалась при каждой загрузке. Я использую команду systemctl на моем хосте Fedora, но команда может отличаться на вашем хосте, в зависимости от используемого вами дистрибутива. Обратите внимание, что имя службы распознавателя BIND называется name.

На этом этапе ваш кеширующий сервер имен будет правильно разрешать хосты в Интернете, потому что эти DNS-запросы для общедоступных хостов перенаправляются на общедоступные серверы имен Google — см. строку «forwarders» в named.conf. Однако вы по-прежнему зависите от файла /etc/hosts для внутренних служб имен. Создание первичного сервера имен может решить эту проблему.

Создание основного сервера имен

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

Два новых файла, которые вы создадите, — это файлы прямой и обратной зон, которые вы поместите в каталог /var/named. Это расположение задается директивой "directory" в файле конфигурации named.conf.

Создайте файл зоны пересылки

Файл прямой зоны содержит записи «A», которые связывают имена хостов в зоне, также называемых доменом, с их соответствующими IP-адресами. Он также может содержать записи CNAME, которые являются псевдонимами реальных имен хостов в записях A, и записи MX для почтовых серверов.

Первая строка без комментариев в листинге 3 — это спецификатор Time to Live, который в данном случае равен одному дню для всех записей, не указанных иначе. Д означает день. Спецификаторы в строке SOA (Start of Authority) столь же очевидны. Детали параметров в записи SOA подробно описаны здесь.

Запись NS должна иметь полное доменное имя (полное доменное имя) хоста, на котором вы выполняете этот лабораторный проект. Также в файле должна быть запись A с действительным IP-адресом хоста. В этом случае вы должны использовать IP-адрес локального хоста 127.0.0.1.

Записи, показанные выше, дадут вам несколько имен хостов, с которыми можно поэкспериментировать.

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

Добавить файлы зоны переадресации в named.conf

Однако, прежде чем ваш DNS-сервер заработает, вам необходимо создать запись в /etc/named.conf, которая будет указывать на ваш новый файл зоны. Добавьте следующие строки под записью для зоны подсказок верхнего уровня, но перед строками «включить».

Теперь перезапустите named, чтобы изменения вступили в силу. Протестируйте свой сервер имен, используя команды dig и nslookup, чтобы получить IP-адреса для хостов, которые вы настроили в файле зоны переадресации. Обратите внимание, что хост не обязательно должен существовать в сети, чтобы команды dig и nslookup возвращали IP-адрес.

Использование корневых серверов имен

Когда я сделал это, первый вызов для разрешения внешнего адреса для Amazon занял 3857 мс, пока данные были найдены и возвращены. Последующие результаты выполнения того же запроса составили 1 мс, что показывает преимущество локального кэширования результатов преобразователя. Обратите внимание на числа 1800, 300 и 60 в строках раздела ответов и 1831 в строках раздела полномочий — это TTL (время жизни) в секундах. Если вы выполните поиск несколько раз, эти числа изменятся, показывая количество времени, которое осталось для записи в локальном кэше.

Создание файла обратной зоны

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

Вы также можете назвать файл обратной зоны /var/named/25.168.192.in-addr.arpa, что соответствует старым соглашениям. На самом деле вы можете назвать его как угодно, потому что вы явно укажете на него в файле named.conf, но использование одного из двух соглашений облегчит другим следить за вашей работой.

Добавить обратную зону в named.conf:

Листинг 7. Добавление этого раздела в файл named.conf включает обратный поиск.

Добавьте раздел из листинга 7 в файл /etc/named.conf, чтобы указать на новую обратную зону. Теперь перезагрузите named и протестируйте свою обратную зону, используя команды из листинга 8. Ваши результаты должны выглядеть примерно так, как показано ниже.

Листинг 8. После перезапуска named вы должны увидеть результаты, подобные этим, при обратном просмотре IP-адреса в обратной зоне.

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

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

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

Настройка IPTables для DNS

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

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

Добавьте правило в свой брандмауэр с помощью firewalld или IPTables, которое разрешает входящие пакеты через порт 53 (домен) для UDP, и сохраните новый набор правил. Не забудьте вставить новое правило после строки -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT, поэтому для этого вам придется подсчитать количество строк INPUT в таблице фильтров. Число 7 в следующей команде означает, что это правило будет вставлено в позицию номер 7 в существующих правилах INPUT.

Вы можете сохранить новые правила брандмауэра, если хотите, и вы бы сделали это, если бы это была постоянная установка, а не лабораторный проект. Затем проверьте это на одном из других ваших хостов, используя команду из листинга 9 ниже. Аргумент @epc указывает команде dig использовать указанный сервер имен с именем хоста epc. Вы должны заменить либо IP-адрес только что созданного DNS-сервера, либо разрешимое имя хоста в вашей сети, указывающее на ваш новый сервер имен. Конечно, вы всегда можете добавить это имя хоста с его IP-адресом в файл /etc/hosts хоста, который вы используете для удаленного тестирования.

Листинг 9. Тестирование преобразователя имен, созданного вами на другом хосте в той же сети.

Очистка

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

  1. Восстановите исходный файл /etc/hosts.
  2. Остановите имя на узле распознавателя, используемом для этого экспериментального проекта.
  3. Отключить указанную службу.
  4. Удалите файлы зоны.
  5. Восстановите исходный файл named.conf.
  6. Восстановите исходный файл resolv.conf.

Заключительные мысли

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

Обратите внимание, что хотя мой маленький EeePC работает со 100% загрузкой ЦП для Seti@Home, он очень быстро отвечает на запросы преобразователя. Вы должны иметь возможность попробовать этот проект на любом доступном хосте Linux с незначительным эффектом. Я надеюсь, что многие из вас попытаются настроить свой собственный сервер имен и поэкспериментировать с ним. Особенности установки вашего сервера имен будут зависеть от деталей вашего хоста и сети.

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


(Иллюстрация: Рене Рамос)

Что делают DNS-серверы?

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

Проблемы с DNS

Как видите, система доменных имен необходима для любой вашей деятельности в Интернете. Любые проблемы с системой могут иметь каскадные последствия для вашего опыта.

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

Наши лучшие антивирусы

Обзор антивируса Bitdefender Plus

Обзор Антивируса Касперского

Обзор McAfee AntiVirus Plus

Обзор антивируса Webroot SecureAnywhere

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

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

Если вы не используете VPN (виртуальную частную сеть), DNS-серверы вашего интернет-провайдера видят каждый запрашиваемый вами домен. От этого никуда не деться — если вам что-то нужно в Интернете, вы не можете не сказать кому-то, чего вы хотите.Ваш интернет-провайдер знает, где вы находитесь в Интернете, и, вероятно, ему все равно.

Может показаться, что это не проблема. Какая разница, если провайдер показывает рекламу? Но с точки зрения конфиденциальности это важно. Вы начали с частного обмена данными между вашим браузером и DNS-сервером. Интернет-провайдер сломал этот пузырь конфиденциальности, отправив версию вашего запроса в поисковую систему, где она оказалась в вашей истории поиска. Некоторые люди беспокоятся о конфиденциальности поиска, поэтому существуют поисковые сайты без истории, такие как DuckDuckGo и StartPage.

Атака DNS

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

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

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

Какой DNS-сервер лучший?

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

Google Public DNS доступен с 2009 года с легко запоминающимися IP-адресами 8.8.8.8 и 8.8.4.4. Google обещает безопасное DNS-соединение, защищенное от атак, а также преимущества в скорости.

Компания OpenDNS, основанная в 2005 году, уже давно предлагает безопасный DNS. У него нет запоминающихся IP-адресов, как у Google, но он предлагает множество услуг. В дополнение к DNS-серверам, ориентированным на конфиденциальность и безопасность, он предлагает так называемые серверы FamilyShield, которые отфильтровывают нежелательный контент. Компания также предлагает премиальную систему родительского контроля, которая дает родителям более детальный контроль над фильтрацией. Ее материнская компания Cisco поставляет предприятиям решение Cisco Umbrella, которое включает в себя службы безопасности и DNS для предприятий.

Возможно, Cloudflare — крупнейшая интернет-компания, о которой вы никогда не слышали. Обладая обширной всемирной коллекцией серверов, он предлагает веб-сайтам интернет-безопасность и защиту от распределенных атак типа «отказ в обслуживании», среди других услуг. Начиная с 2018 года Cloudflare сделал безопасный DNS доступным по очень запоминающимся IP-адресам 1.1.1.1 и 1.0.0.1. Компания также предлагает бесплатное настольное и мобильное приложение с умным названием 1.1.1.1, которое автоматизирует использование безопасного DNS и предоставляет соответствующие функции защиты конфиденциальности.

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

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

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

Читайте также: