Files
XTLS_Xray-docs-next/docs/ru/config/outbounds/dns.md
T
Nikita Korotaev e9fb4de05b sync RU docs (#789)
* ECH and Sniffing: Explaining when to block QType 65
* Router: Clarifying the logic between GeoIP matchers
* Explaining the impact of domainStrategy on happyEyeballs
* Add link to inbound and outbound protocols
* rewrite routing with dns tutorial + add images
* rewrite dns page
* Make proxySettings clearer
* Metrics: Add goroutine pprof file requirement for memory issues
* upd RU lang
2025-12-27 15:09:02 +05:00

47 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DNS
DNS — это исходящий протокол, который в основном используется для перехвата и пересылки DNS-запросов.
Этот исходящий протокол может принимать только DNS-трафик (включая запросы по протоколам UDP и TCP), другие типы трафика вызовут ошибку.
При обработке DNS-запросов этот исходящий протокол пересылает запросы IP-адресов (то есть A и AAAA) на встроенный [DNS-сервер](../dns.md). Другие типы запросов см. в разделе `nonIPQuery` ниже.
## OutboundConfigurationObject
```json
{
"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 до тайм-аута.
Значение по умолчанию — `"drop"`.
> `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 <Badge text="В РАЗРАБОТКЕ" type="warning"/>