AudionAudion

DNS-доктор

DNS_DOCTOR_RU.md

DNS-доктор

Runbook для двух поломок, которые выглядят как обрыв связи, хотя связь цела: имена перестали разрешаться, и Windows показывает «нет интернета», когда сайты открываются.

Полный список GUI-параметров смотри в COMMANDS_RU.md, раздел DNS-доктор.

Граница разделов

Network Cleaner — repair/backup/restore для состояния сети Windows целиком: адаптеры, маршруты, прокси, брандмауэр, Winsock.

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

Если сеть сломана системно — начинай с Network Cleaner. Если адреса пингуются, а сайты не открываются, или значок в трее спорит с действительностью — иди в DNS-доктор.

Первая поломка: имена не разрешаются

Программы вроде ControlD, YogaDNS, AdGuard и dnscrypt работают локальным резолвером: прописывают физическим адаптерам адрес 127.0.0.1 и разрешают имена сами, шифрованным каналом. Пока их служба идёт, всё хорошо. Стоит ей упасть или не подняться после перезагрузки — на 127.0.0.1 отвечать некому:

Снимок состояния показывает это одной картиной: какие адреса стоят на адаптерах, что предлагает роутер по DHCP, кто держит 53-й порт и разрешается ли имя.

Починить имена и значок поднимает службу резолвера, если она есть и лежит. Если резолвера в системе нет вовсе — возвращает адаптерам адреса от роутера: машина без имён хуже машины без выбранного резолвера.

Вторая поломка: «интернет как бы есть, но»

Значок сети рисует не сеть, а служба NlaSvc — «Сведения о расположении в сети». Она делает два запроса к Microsoft и решает, есть ли выход наружу:

строку Microsoft Connect Test.

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

Гасят это обычно «ускорители служб»: переводят NlaSvc в ручной запуск, а иногда и выключают активную пробу ключом EnableActiveProbing.

Починить значок сети возвращает всё три вещи к тому, как их держит сама Windows: включает пробу, ставит службе автозапуск, поднимает её. Если служба работает, а выхода «не видит», — перезапускает: оценку она считает при изменениях сети, а не по кругу, и может держать устаревшую.

Выбор резолвера

Операции Резолвер: ... прописывают адреса всем физическим адаптерам:

ОперацияАдресаНрав
От роутера (DHCP)выдаёт роутеркак задумано в этой сети
Сам роутерадрес шлюзаспрашиваем шлюз напрямую
Cloudflare1.1.1.1, 1.0.0.1быстрый, ничего не режет
Google8.8.8.8, 8.8.4.4самый известный
Quad99.9.9.9, 149.112.112.112режет вредоносные имена
Яндекс77.88.8.8, 77.88.8.1ближе прочих, свои фильтры
AdGuard94.140.14.14, 94.140.15.15режет рекламу и счётчики

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

Чего инструмент не делает

там DNS ставит сам туннель, и это его дело.

правила и профили ControlD или YogaDNS настраиваются в их собственных программах.

Network Cleaner.

Кто в итоге отвечает

Снимок состояния показывает не только адрес в поле «DNS», но и последнее звено цепочки — тот резолвер, который дошёл до авторитетного сервера. Роутер в поле «DNS» ещё ничего не значит: он сам кого-то спрашивает.

Узнаётся это служебным именем Google, отвечающим адресом спросившего, а обратная запись часто называет и хозяина:

asking outward: 8.8.8.8 (dns.google)
asking outward: 138.199.14.88 (unn-138-199-14-88.datapacket.com)

Второе — характерный вид, когда трафик идёт через VPN: наружу спрашивает узел провайдера VPN, а не машина.

Безопасный порядок

  1. Снимок состояния — ничего не меняет.
  2. Если имена не разрешаются — Починить имена и значок.
  3. Если имена в порядке, а в трее глобус — Починить значок сети.
  4. Резолвера меняй последним и осознанно: это касается всех программ на

машине разом.

Права администратора нужны всем операциям, кроме снимка: меняются службы и адреса адаптеров.

Из консоли

tools\dns_doctor\Run_Status.cmd
tools\dns_doctor\Run_Repair.cmd
tools\dns_doctor\Run_Fix_Icon.cmd
tools\dns_doctor\Run_Use_Cloudflare.cmd
tools\dns_doctor\Run_Help.cmd

Врапперы поднимают права сами. Движок — tools\dns_doctor\system_core\Audion_Dns_Doctor.ps1, ключ -Mode; вывод английский, как у остальных PowerShell-инструментов проекта.

Все проекты