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".

blockTypes: array

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

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

Примеры конфигурации DNS В РАЗРАБОТКЕ