V2ray Custom DNS (Xray)¶
Шаг 1. Откройте вкладку V2ray Custom DNS¶
- В окне DNS Settings нажмите вкладку V2ray Custom DNS
- Включите переключатель Enable Custom DNS (если ещё не включён)
Шаг 2. Вставьте конфигурацию¶
Скопируйте JSON ниже и вставьте в поле HTTP/SOCKS:
JSON конфигурации Xray DNS — нажмите чтобы развернуть и скопировать
{
"hosts": {
"dns.quad9.net": [
"9.9.9.9",
"149.112.112.112"
],
"doh.mullvad.net": [
"194.242.2.2"
]
},
"servers": [
{
"address": "https://dns.quad9.net/dns-query",
"queryStrategy": "UseIPv4",
"unexpectedIPs": [
"geoip:private"
],
"skipFallback": false
},
{
"address": "https://doh.mullvad.net/dns-query",
"queryStrategy": "UseIPv4",
"unexpectedIPs": [
"geoip:private"
],
"skipFallback": false
}
],
"queryStrategy": "UseIPv4",
"disableFallback": false,
"disableCache": false,
"serveStale": true,
"serveExpiredTTL": 3600,
"useSystemHosts": false,
"tag": "dns_inbound"
}
Онлайн: скопируйте JSON выше, нажав
Локально: файл находится в configs/v2rayn/xray/dns.json
Шаг 3. Укажите Outbound DNS address¶
- Внизу окна в поле Outbound DNS address выберите:
dhcp://auto - Нажмите Confirm
dhcp://auto — для исходящего трафика, который идёт напрямую (direct),
Xray будет использовать DNS от вашего роутера/провайдера (через DHCP).
Зачем: прямой трафик (российские сайты) должен резолвиться через локальный DNS — это быстрее и не создаёт аномалий. DNS через прокси используется только для трафика, который идёт через прокси.
Не нажимайте Confirm пока!
Сначала настройте вкладку sing-box Custom DNS (следующая страница), а потом нажмите Confirm один раз — сохранятся обе настройки.
Объяснение каждого параметра¶
Блок hosts¶
Что делает: привязывает имена DNS-серверов к их IP-адресам напрямую, без DNS-запроса.
Зачем: чтобы разорвать «петлю». Без этого Xray попытался бы
зарезолвить dns.quad9.net через… самого себя, и завис бы навечно.
Это bootstrap — начальная точка, которая не требует DNS.
Блок servers¶
{
"address": "https://dns.quad9.net/dns-query",
"queryStrategy": "UseIPv4",
"unexpectedIPs": ["geoip:private"],
"skipFallback": false
}
address — URL DNS-сервера. Префикс https:// означает DoH
(DNS over HTTPS) — запросы зашифрованы.
queryStrategy: "UseIPv4" — запрашивать только IPv4-адреса (записи A).
IPv6-записи (AAAA) не запрашиваются.
Зачем: IPv6 часто создаёт проблемы с маршрутизацией и может приводить к утечкам. Если у вас нет явной потребности в IPv6 — безопаснее отключить.
unexpectedIPs: ["geoip:private"] — если DNS-сервер вернул
приватный IP (192.168.x.x, 10.x.x.x) в ответе — считать
этот ответ подозрительным и попробовать другой сервер.
Зачем: легитимные сайты не должны резолвиться в приватные IP. Если это происходит — скорее всего провайдер подменяет DNS-ответ (DNS poisoning) или перенаправляет на страницу блокировки.
skipFallback: false — этот сервер может использоваться как
резервный (fallback). Если основной не ответит — Xray попробует этот.
Глобальные настройки¶
"queryStrategy": "UseIPv4",
"disableFallback": false,
"disableCache": false,
"serveStale": true,
"serveExpiredTTL": 3600,
"useSystemHosts": false,
"tag": "dns_inbound"
disableFallback: false — не отключать fallback. Если Quad9 не
ответит — попробовать Mullvad.
disableCache: false — DNS-кэш включён. Повторные запросы к
тому же домену будут мгновенными.
serveStale: true + serveExpiredTTL: 3600 — если DNS-запись
в кэше просрочена, Xray всё равно вернёт её (до 3600 секунд = 1 час),
одновременно обновляя в фоне.
Зачем: если DNS-сервер временно недоступен — сайты продолжат открываться из кэша, вместо ошибки «DNS resolution failed». Это критично для стабильности: кратковременный сбой DNS не парализует интернет.
useSystemHosts: false — не использовать системный файл hosts.
Зачем: системный hosts может быть модифицирован малварью или
содержать нежелательные записи. Безопаснее полагаться только на наши
настройки.
tag: "dns_inbound" — внутреннее имя DNS-модуля для Xray.
Используется в маршрутизации — входящие DNS-запросы помечаются этим тегом.
Теперь настроим вторую вкладку: