Happ VPN

DNS в Happ: удалённый и локальный резолвинг

Автор
Екатерина Лебедева, редактор раздела knowledge base
Проверил:
Артём Волков
Проверено:
Опубликовано:
, обновлено
Версия гайда:
1.0

Коротко

Happ разделяет DNS на два потока: удалённый (Remote) для ресурсов через прокси, по умолчанию DoH через cloudflare-dns.com, и локальный (Domestic) для прямых ресурсов, по умолчанию через dns.google. Для JSON-конфигураций те же поля называются Tunnel DNS и работают только локально.

Тип запроса — DoH, DoU или другой — и адрес сервера задаются отдельно для удалённого и локального DNS в каждом профиле маршрутизации. Дополнительно можно прописать свой список соответствий «домен — IP» через DnsHosts, который работает как файл hosts, но виден только ядру Xray-core, а не операционной системе. Включённый FakeDNS подменяет реальный IP-адрес виртуальным, чтобы все запросы обязательно проходили через ядро и не обрабатывались системным DNS мимо правил. Для JSON-конфигураций аналогичные поля переименованы в интерфейсе в Tunnel DNS и применяются только к локальному туннелю, не изменяя сам JSON-файл провайдера.

Remote и Domestic DNS

Каждый профиль маршрутизации задаёт DNS отдельно для двух потоков трафика:

ПотокДля чегоТип по умолчаниюСервер по умолчанию
Remote (удалённый)Ресурсы, которые идут через проксиDoHcloudflare-dns.com, 1.1.1.1
Domestic (локальный)Ресурсы с прямым подключениемDoUdns.google, 8.8.8.8

Тип запроса можно сменить на DNS-over-HTTPS или DNS-over-UDP независимо для каждого из двух потоков. Для DoH обязателен адрес сервера в виде домена, для DoU — в виде IP.

DnsHosts и FakeDNS

DnsHosts — список ручных соответствий «домен — IP», который работает как системный файл hosts, но не показан отдельным экраном в интерфейсе: значения передаются прямо в раздел dns.hosts конфигурации ядра.

FakeDNS подменяет реальный IP-адрес виртуальным значением, чтобы гарантированно направить все DNS-запросы через Xray-core, исключая их обработку системным DNS устройства мимо правил маршрутизации. По умолчанию эта функция выключена.

DomainStrategy и момент резолвинга

Отдельно от того, какой DNS-сервер используется, поле DomainStrategy определяет момент, когда Xray-core вообще обращается к DNS при проверке правил: до, после или вместо сопоставления по домену. Полный список значений этого поля и остальная структура профиля — на странице профили маршрутизации.

DNS для JSON-конфигураций: Tunnel DNS

Если конфигурация сервера — это JSON-объект, а не ссылка, поля удалённого DNS в интерфейсе Happ переименованы в Tunnel DNS Type, Tunnel IP и Tunnel Domain. Смысл остаётся тем же — они по-прежнему задают DNS для потока через прокси, — но применяются только локально при построении туннеля и не встраиваются в сам JSON-файл, присланный провайдером.

Локальное применение Tunnel DNS означает, что смена этих полей в Happ не может исправить DNS-настройки, которые провайдер уже зашил внутрь самого JSON-файла, — они существуют параллельно, а не подменяют друг друга.

Главное

  • Remote DNS по умолчанию — DNS-over-HTTPS через cloudflare-dns.com (1.1.1.1), Domestic DNS по умолчанию — через dns.google (8.8.8.8).
  • Remote DNS используется для ресурсов, которые идут через прокси, а Domestic DNS — для ресурсов с прямым подключением.
  • DnsHosts задаёт список доменов и IP-адресов вручную и встраивается прямо в конфигурацию ядра, а не в интерфейс приложения.
  • FakeDNS подменяет IP-адрес виртуальным значением, чтобы запросы обязательно обрабатывались ядром Xray-core, а не системным DNS.
  • Для JSON-конфигураций одноимённые поля показаны в интерфейсе как Tunnel DNS и действуют только локально, не изменяя файл провайдера.

Частые вопросы

Почему в Happ два разных DNS вместо одного?

Потому что запросы разной природы логичнее резолвить по-разному. Домены, к которым обращаются через прокси, безопаснее и точнее резолвить тем же путём, каким пойдёт сам трафик, — это Remote DNS. Домены с прямым подключением можно резолвить обычным локальным способом без прокси — это Domestic DNS, обычно быстрее для таких ресурсов. Разделение экономит время и снижает шанс на несовпадение маршрута трафика и маршрута его DNS-запроса.

Что произойдёт, если не указать Domain для DoH?

Для типа DoH адрес DNS-сервера обязателен, поскольку сам протокол работает поверх конкретного HTTPS-адреса, а не просто IP. Если оставить это поле пустым при выбранном DoH, профиль будет неполным и, скорее всего, не заработает как задумано. Для типа DoU, наоборот, обязателен именно IP-адрес сервера, а не доменное имя.

Отображается ли DnsHosts где-то в интерфейсе Happ?

Нет, этот параметр не выводится в виде экрана с настройками — он передаётся напрямую в раздел dns.hosts конфигурации ядра Xray-core при сборке профиля. Изменить список можно только через сам JSON профиля маршрутизации или готовую ссылку с профилем, а не через отдельный визуальный редактор внутри приложения.

Зачем включать FakeDNS, если DNS и так настроен?

FakeDNS решает другую задачу: гарантирует, что абсолютно все запросы на резолвинг домена пройдут через ядро Xray-core, а не через системный DNS устройства мимо правил маршрутизации. Без FakeDNS часть системных механизмов может закешировать или обработать резолвинг раньше, чем до него доберётся ядро. С FakeDNS такие расхождения исключаются ценой небольшой дополнительной обработки на старте соединения.

Что значит переименование Remote DNS в Tunnel DNS для JSON-конфигураций?

Это не новая функция, а другое название тех же по смыслу полей в интерфейсе, когда активна конфигурация в формате JSON. Значения Tunnel DNS Type, Tunnel IP и Tunnel Domain применяются только локально для построения туннеля на устройстве и не встраиваются в сам JSON-файл, присланный провайдером. Так Happ не трогает то, что провайдер уже определил внутри своей конфигурации.

Упомянутые темы

Разделы по теме

Источники

  1. Документация Happ: маршрутизация — обращение 28 сентября 2026
  2. Документация Xray-core: DNS — обращение 28 сентября 2026