справочник помощи по Happ RUПоиск/
Сеть и маршрутизация

DNS в приложении

Где искать причину

DNS и доступность сайтов

Проверьте, не ограничена ли проблема отдельными сайтами. Дальше сопоставьте DNS и режим маршрутизации с шагами ниже.

К разбору и действиям ↓
В этой статье

Приложение может отправлять запросы имён либо через сервер доступа, либо через настройки вашей сети. Первое - предсказуемее: имена разрешаются там же, куда идёт трафик, и не возникает ситуации «сайт открылся не тот».

Когда стоит вмешаться

  • Соединение поднято, но сайты не открываются вовсе - при этом IP-адреса пингуются.
  • Часть сайтов открывается, часть - нет, и это не связано с правилами маршрутизации.
  • Провайдерский DNS отвечает медленно, и страницы «задумываются» перед загрузкой.
Вариант Что даёт Когда выбирать
DNS сервера доступа Имена разрешаются на той же стороне, куда идёт трафик По умолчанию
Публичный DNS (например, 1.1.1.1) Независимость от провайдера Если провайдерский отвечает медленно
DNS-over-HTTPS Запросы имён идут в зашифрованном виде Когда важна приватность запросов
Системный DNS Как настроено в вашей сети Для корпоративных сетей с внутренними именами

Одна настройка за раз

DNS - та область, где легко получить «всё сломалось» одним переключателем. Меняйте один параметр, проверяйте, возвращайте обратно, если не помогло.

Что такое утечка DNS?

Ситуация, когда трафик идёт через сервер, а запросы имён - мимо, к провайдеру. Лечится настройкой «разрешать имена через сервер».

Влияет ли DNS на скорость?

На скорость загрузки - почти нет, на время открытия страницы - да: медленный DNS добавляет задержку перед каждым новым доменом.

DNS - это справочник, который превращает имя сайта в адрес сервера. В приложении его можно поменять, и иногда это решает проблему. А иногда создаёт новую - разбираем оба случая.

Как это работает при активном соединении

Когда соединение поднято, запросы имён обычно уходят через туннель - то есть их обрабатывает DNS, заданный клиентом или сервером. Это важно: даже если трафик к сайту идёт напрямую (правилами маршрутизации), имя может разрешаться через сервер. Отсюда странные ситуации, когда исключение сделано, а сервис всё равно ведёт себя как «из другой страны».

Когда менять DNS полезно

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

Как поменять

  1. Откройте настройки сети в приложении. Раздел DNS или «Сеть». Расположение зависит от сборки - карта интерфейса.
  2. Выберите режим. Обычно доступны варианты: системный, из подписки, свой. «Из подписки» - разумное значение по умолчанию: сервис знает, какой DNS дружит с его серверами.
  3. Если задаёте свой - вписывайте адрес целиком. Формат зависит от сборки: обычный адрес, DNS-over-HTTPS или DNS-over-TLS. Ошибка в формате приводит к тому, что имена перестают разрешаться вовсе.
  4. Переподключитесь и проверьте. Откройте пару сайтов. Если что-то перестало открываться - верните значение по умолчанию, это всегда безопасный шаг назад.

Когда лучше не трогать

  • Всё работает - менять DNS «на всякий случай» не нужно.
  • Вы не уверены в формате записи: неправильный адрес полностью лишает устройство доступа к именам.
  • Проблема проявляется только в одном приложении - скорее всего, дело не в DNS, а в маршрутизации.

Системный DNS в iOS - это другое

В «Настройках» → Wi-Fi → сеть → «Настройка DNS» задаётся DNS для конкретной сети. При активном туннеле он может не применяться: клиент подставляет свой. Не путайте эти два места - и меняйте что-то одно за раз.

Смена DNS ускорит интернет?

Немного и только в части сценариев: ускоряется разрешение имён, а не сама передача данных.

Что такое DNS-over-HTTPS?

Способ отправлять DNS-запросы в зашифрованном виде. Полезно, но поддержку нужно смотреть в своей сборке.

Как вернуть всё как было?

Выбрать режим «системный» или «из подписки» - это и есть исходное состояние.

DNS переводит имена сайтов в адреса, и от того, кто это делает, зависит и приватность, и работоспособность. При поднятом туннеле запросы должны уходить через него; когда этого не происходит, получаются странные симптомы вроде «адрес сменился, а сайты не открываются».

Кто отвечает на ваши запросы

  1. Проверьте командой nslookup example.com. В ответе первая строка - сервер, который отвечает. Если это адрес роутера или провайдера при поднятом туннеле, DNS идёт мимо.
  2. Проверьте сервисом. Сайты проверки утечек показывают список отвечающих серверов: утечки DNS.
  3. Посмотрите настройки адаптера: ncpa.cpl → свойства адаптера → «IP версии 4» → «Свойства». Там видно, задан ли DNS вручную или получается автоматически.

Когда задавать DNS вручную

Ситуация Что делать
Туннель поднят, DNS отвечает провайдер Включить обработку DNS в приложении или задать публичный DNS вручную
Сайты не открываются по именам, а по адресам - да Проблема именно в DNS: сменить сервер, очистить кэш
Нужен доступ к локальным именам (принтер, NAS) Оставить автоматический DNS или добавить локальный сервер: локальная сеть
После удаления приложения интернет пропал Вернуть автоматическое получение DNS: остатки

Правильный порядок - сначала приложение

Настройку DNS лучше решать внутри приложения: у него есть свои параметры разрешения имён, и они действуют только на туннель. Правка DNS у адаптера Windows влияет на всю систему и остаётся после выключения туннеля - про это легко забыть.

Очистка кэша имён

Windows запоминает ответы DNS, и после смены сервера или включения туннеля в кэше могут остаться старые записи. Тогда часть сайтов ведёт себя странно: одни открываются, другие нет. Исправить можно одной командой в терминале:

ipconfig /flushdns

Команда безопасна, выполняется мгновенно и часто помогает после переключения режимов. Если не помогло - перезапустите браузер: у него есть свой кэш имён.

DNS и приватность

Запросы DNS показывают, какие сайты вы открываете, даже если содержимое зашифровано. Поэтому смысл заворачивать их в туннель есть - иначе список посещённых доменов остаётся у провайдера. Проверка и разбор - утечки DNS: как проверить на Windows.

Какой публичный DNS выбрать?

Любой известный работает одинаково хорошо. Но помните: при поднятом туннеле важнее не какой сервер, а через какой маршрут уходит запрос.

После смены DNS перестал работать сетевой принтер

Публичный DNS не знает локальных имён. Верните автоматическое получение или добавьте адрес роутера вторым сервером.

Нужен ли DNS-over-HTTPS?

В браузере он может помочь, но при поднятом туннеле запросы и так уходят через него. Включать оба механизма одновременно смысла мало, а запутаться в диагностике легко.

Нашли ответ? Сохраните ссылку на эту инструкцию