Документация: ПО Факел — разрабатываемая версия

Перенаправляющий DNS сервер

Обзор

Перенаправляющий DNS сервер — перенаправляет полученные рекурсивные запросы вышестоящему кэширующему серверу в виде рекурсивных запросов. Используется преимущественно для снижения нагрузки на кэширующий DNS сервер. Перенаправляющий (Forwarding) DNS-сервер имеет следующие свойства:

  • Способность обрабатывать рекурсивные запросы без выполнения самой рекурсии

  • Предоставлять локальный кэш в ближайшем сетевом расположении

  • Увеличивает гибкость в определении локального доменного пространства

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

Пример настройки

Пример настройки разделенного DNS (split DNS) для домена example.com.

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

  • Все DNS запросы для домена example.com должны перенаправляться на DNS сервер по адресу 192.0.2.254 и 2001:db8:cafe::1

  • Все остальные DNS запросы будут перенаправлены на другой набор DNS серверов по адресам 192.0.2.1, 192.0.2.2, 2001:db8::1:ffff и 2001:db8::2:ffff

  • Перенаправляющий DNS сервер будет прослушивать запросы только по адресам внутреннего интерфейса eth1 - 192.168.1.254 для IPv4 и 2001:db8::ffff для IPv6.

  • Перенаправляющий DNS сервер будет принимать запросы на поиск только из внутренних подсетей - 192.168.1.0/24 и 2001:db8::/64

  • Перенаправляющий DNS сервер будет передавать обратные запросы на поиск для зон 10.in-addr.arpa, 168.192.in-addr.arpa, 16-31.172.in-addr.arpa на вышестоящий сервер.

Шаг

Команда

Описание

1

set service dns forwarding domain example.com name-server 192.0.2.254

Перенаправляет запросы для домена example.com на DNS-сервер 192.0.2.254

2

set service dns forwarding domain example.com name-server 2001:db8:cafe::1

Перенаправляет запросы для домена example.com на DNS-сервер 2001:db8:cafe::1

3

set service dns forwarding name-server 192.0.2.1

Добавляет вышестоящий DNS-сервер 192.0.2.1

4

set service dns forwarding name-server 192.0.2.2

Добавляет вышестоящий DNS-сервер 192.0.2.2

5

set service dns forwarding name-server 2001:db8::1:ffff

Добавляет вышестоящий DNS-сервер 2001:db8::1:ffff

6

set service dns forwarding name-server 2001:db8::2:ffff

Добавляет вышестоящий DNS-сервер 2001:db8::2:ffff

7

set service dns forwarding listen-address 192.168.1.254

Устанавливает адрес 192.168.1.254 для прослушивания DNS-запросов

8

set service dns forwarding listen-address 2001:db8::ffff

Устанавливает адрес 2001:db8::ffff для прослушивания DNS-запросов

9

set service dns forwarding allow-from 192.168.1.0/24

Разрешает использовать DNS-сервер узлам сети 192.168.1.0/24

10

set service dns forwarding allow-from 2001:db8::/64

Разрешает использовать DNS-сервер узлам сети 2001:db8::/64

11

set service dns forwarding no-serve-rfc1918

Передаёт обратные запросы для зон 10.in-addr.arpa, 168.192.in-addr.arpa, 16-31.172.in-addr.arpa на вышестоящий сервер

Список команд

Режим «Конфигурирование»


service dns forwarding system

Описание:
Перенаправляет входящие DNS запросы на DNS сервера, которые настроены в операционной системе.

Синтаксис:

  • set service dns forwarding system

  • delete service dns forwarding system

  • show service dns forwarding system

Режим: «Конфигурирование».


service dns forwarding dhcp <interface>

Описание:
Определяет интерфейс <interface>, на который DHCP клиенты направляют DNS запросы. Можно указать несколько интерфейсов.

Синтаксис:

  • set service dns forwarding dhcp <interface>

  • delete service dns forwarding dhcp <interface>

  • show service dns forwarding dhcp

Аргументы:

  • <interface> — имя интерфейса. Можно задать несколько значений.

Режим: «Конфигурирование».


service dns forwarding name-server <address>

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

Синтаксис:

  • set service dns forwarding name-server <address>

  • delete service dns forwarding name-server <address>

  • show service dns forwarding name-server

Аргументы:

  • <address> — IPv4- или IPv6-адрес DNS-сервера.

Режим: «Конфигурирование».


service dns forwarding domain <domain-name> name-server <address>

Описание:
Перенаправляет полученные запросы для определенного домена <domain-name> на заданный DNS сервер <address>. Поддерживается возможность указать несколько адресов для использования различных DNS серверов. Этот параметр можно использовать для настройки разделенного DNS.

Примечание

Этот параметр работает и для зон с обратным поиском, например 18.172.in-addr.arpa.

Синтаксис:

  • set service dns forwarding domain <domain-name> name-server <address>

  • delete service dns forwarding domain <domain-name> name-server <address>

  • show service dns forwarding domain <domain-name> name-server

Аргументы:

  • <domain-name> — доменное имя.

  • <address> — IPv4- или IPv6-адрес DNS-сервера.

Режим: «Конфигурирование».


service dns forwarding domain <domain-name> addnta

Описание:
Активирует механизм NTA для определенного домена <domain-name>. Этот параметр должен быть установлен, если домен не поддерживает DNSSEC.

Синтаксис:

  • set service dns forwarding domain <domain-name> addnta

  • delete service dns forwarding domain <domain-name> addnta

  • show service dns forwarding domain <domain-name> addnta

Аргументы:

  • <domain-name> — доменное имя.

Режим: «Конфигурирование».


service dns forwarding domain <domain-name> recursion-desired

Описание:
Устанавливает RD бит для запросов к вышестоящему DNS серверу для домена <domain-name>.

Синтаксис:

  • set service dns forwarding domain <domain-name> recursion-desired

  • delete service dns forwarding domain <domain-name> recursion-desired

  • show service dns forwarding domain <domain-name> recursion-desired

Аргументы:

  • <domain-name> — доменное имя.

Режим: «Конфигурирование».


service dns forwarding allow-from <network>

Описание:
Задает адрес сети <network>, в которой узлам разрешено использовать перенаправляющий DNS сервер. Поддерживается возможность указать несколько сетей.

Синтаксис:

  • set service dns forwarding allow-from <network>

  • delete service dns forwarding allow-from <network>

  • show service dns forwarding allow-from

Аргументы:

  • <network> — IPv4- или IPv6-сеть.

Режим: «Конфигурирование».


service dns forwarding dnssec <off | process-no-validate | process | log-fail | validate>

Описание:
Устанавливает уровень для параметра DNSSEC <off | process-no-validate | process | log-fail | validate>.

Перенаправляющий DNS сервер имеет 5 различных уровней обработки DNSSEC:

  • off - В этом режиме обработка DNSSEC не производится. Перенаправляющий DNS сервер не будет устанавливать бит DNSSEC OK (DO) в исходящих запросах и будет игнорировать биты DO и AD в запросах.

  • process-no-validate - В этом режиме перенаправляющий DNS сервер будет устанавливать DO-бит в исходящих запросах и предоставлять RR-наборы, связанные с DNSSEC (NSEC, RRSIG), клиентам, которые их запрашивают (с помощью DO-бита в запросе), за исключением зон, предоставляемых с помощью настройки зон для авторизации. В этом режиме он не будет выполнять никаких проверок, даже по запросу клиента.

  • process - Если для параметра dnssec установлено значение process, то поведение перенаправляющего DNS сервера будет аналогично поведению в режиме process-no-validate. Однако перенаправляющий DNS сервер попытается проверить данные, если в запросе установлен хотя бы один из битов DO или AD. В этом случае он установит в ответе бит AD, если данные проверены успешно, или пошлет SERVFAIL, если проверка окажется ошибочной.

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

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

Примечание

Популярный инструмент Dig для Unix/Linux устанавливает AD-бит в запросе. Это может привести к неожиданным результатам запроса при тестировании. В этом случае нужно указать параметр +noad в командной строке dig.

Примечание

CD бит корректно выполняется для process и validate. Для log-fail сбои также будут регистрироваться.

Синтаксис:

  • set service dns forwarding dnssec <off | process-no-validate | process | log-fail | validate>

  • delete service dns forwarding dnssec <off | process-no-validate | process | log-fail | validate>

  • show service dns forwarding dnssec

Аргументы:

  • Значение по умолчанию: process-no-validate.

Режим: «Конфигурирование».


service dns forwarding ignore-hosts-file

Описание:
Отключает поиск по имени узла из файла /etc/hosts для перенаправляющего DNS сервера.

Синтаксис:

  • set service dns forwarding ignore-hosts-file

  • delete service dns forwarding ignore-hosts-file

  • show service dns forwarding ignore-hosts-file

Режим: «Конфигурирование».


service dns forwarding cache-size <cache-size>

Описание:
Задает максимальное значение для количества записей DNS кэша <cache-size>. По умолчанию для максимального количества записей установлено значение 10000.

Синтаксис:

  • set service dns forwarding cache-size <cache-size>

  • delete service dns forwarding cache-size <cache-size>

  • show service dns forwarding cache-size

Аргументы:

  • <cache-size> — формат: целое число. Диапазон значений: от 0 до 2147483647. Значение по умолчанию: 10000.

Режим: «Конфигурирование».


service dns forwarding negative-ttl <negative-ttl>

Описание:
Задает максимальное время кэширования <negative-ttl> для отрицательных записей. По умолчанию для максимального времени кэширования установлено значение 3600 секунд.

Примечание

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

Синтаксис:

  • set service dns forwarding negative-ttl <negative-ttl>

  • delete service dns forwarding negative-ttl <negative-ttl>

  • show service dns forwarding negative-ttl

Аргументы:

  • <negative-ttl> — формат: целое число. Диапазон значений: от 0 до 7200. Значение по умолчанию: 3600.

Режим: «Конфигурирование».


service dns forwarding listen-address <address>

Описание:
Устанавливает локальные адреса IPv4 или IPv6 <address>, к которым будет привязан перенаправляющий DNS сервер. Этот адрес DNS сервер будет использовать для прослушивания входящих соединений. Можно указать несколько адресов.

Синтаксис:

  • set service dns forwarding listen-address <address>

  • delete service dns forwarding listen-address <address>

  • show service dns forwarding listen-address

Аргументы:

  • <address> — IPv4- или IPv6-адрес. Можно задать несколько значений.

Режим: «Конфигурирование».


service dns forwarding source-address <address>

Описание:
Устанавливает локальные адреса IPv4 или IPv6 <address>, используемые в качестве адреса источника для отправки запросов. С этого адреса DNS сервер будет отправлять перенаправленные исходящие DNS запросы. Можно указать несколько адресов.

Синтаксис:

  • set service dns forwarding source-address <address>

  • delete service dns forwarding source-address <address>

  • show service dns forwarding source-address

Аргументы:

  • <address> — IPv4- или IPv6-адрес. Можно задать несколько значений. Значение по умолчанию: 0.0.0.0 и ::.

Режим: «Конфигурирование».


service dns forwarding no-serve-rfc1918

Описание:
Активирует параметр, который делает перенаправляющий DNS сервер неизвестным для зон: 10.in-addr.arpa, 168.192.in-addr.arpa, 16-31.172.in-addr.arpa, что позволяет использовать вышестоящие DNS-серверы для обратного поиска этих зон.

Синтаксис:

  • set service dns forwarding no-serve-rfc1918

  • delete service dns forwarding no-serve-rfc1918

  • show service dns forwarding no-serve-rfc1918

Режим: «Конфигурирование».


Режим «Администрирование»


reset dns forwarding all

Описание:
Сбрасывает локальную базу данных кэша переадресации DNS для всех записей.

Синтаксис:

  • reset dns forwarding all

Режим: «Администрирование».


reset dns forwarding domain <domain-name>

Описание:
Сбрасывает локальную базу данных кэша переадресации DNS для записей, относящихся к указанному домену <domain-name>.

Синтаксис:

  • reset dns forwarding domain <domain-name>

Аргументы:

  • <domain-name> — доменное имя.

Режим: «Администрирование».


restart dns forwarding

Описание:
Перезапускает процесс перенаправляющего DNS сервера. При этом также аннулируется локальный кэш переадресации DNS.

Синтаксис:

  • restart dns forwarding

Режим: «Администрирование».


dns forwarding statistics

Описание:
Выводит на экран статистику работы перенаправляющего DNS сервера.

Синтаксис:

  • show dns forwarding statistics

Режим: «Администрирование».