Files
XTLS_Xray-docs-next/docs/ru/config/outbounds/dns.md
T

3.8 KiB

DNS

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

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

При обработке DNS-запросов этот исходящий протокол пересылает запросы IP-адресов (то есть A и AAAA) на встроенный DNS-сервер. Другие типы запросов см. в разделе nonIPQuery ниже.

OutboundConfigurationObject

{
  "network": "tcp",
  "address": "1.1.1.1",
  "port": 53,
  "nonIPQuery": "drop",
  "blockTypes": []
}

network: "tcp" | "udp"

Изменяет транспортный протокол DNS-трафика. Допустимые значения: "tcp" и "udp". Если не указано, используется исходный транспортный протокол.

address: address

Изменяет адрес DNS-сервера. Если не указано, используется адрес, указанный в источнике.

port: number

Изменяет порт DNS-сервера. Если не указано, используется порт, указанный в источнике.

nonIPQuery: string

Управляет запросами, не относящимися к IP-адресам (не A и AAAA). "drop" — отклонять, "skip" — не обрабатывать встроенным DNS-сервером, а пересылать на целевой сервер. В отличие от "drop", это позволяет избежать ситуации, когда приложение тратит слишком много времени в ожидании ответа DNS до тайм-аута.

Значение по умолчанию — "reject".

blockTypes: array

Массив целых чисел (int), определяющий типы DNS-запросов, которые необходимо блокировать. Например, "blockTypes": [65,28] означает блокировку типа 65 (HTTPS) и 28 (AAAA). Распространенный сценарий использования — блокировка типа 65 для предотвращения инициализации ECH браузерами.

Поскольку опция nonIPQuery по умолчанию отбрасывает (drop) все запросы, кроме A и AAAA, необходимо переключить её в режим skip, чтобы данная настройка могла вступить в силу (для типов, отличных от A/AAAA). Разумеется, можно не изменять nonIPQuery и использовать эту опцию исключительно для блокировки A или AAAA (отключение IPv4/IPv6), однако делать это крайне не рекомендуется. Для этих целей лучше использовать настройку queryStrategy во встроенном DNS.

Внимание: если вы используете blockTypes только для блокировки A или AAAA, и при этом nonIPQuery установлен в значение reject, то блокировка также будет осуществляться путем возврата ответа DNS reject, а не простым отбрасыванием пакета.

Примеры конфигурации DNS