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-сервера.