Windows пишет «Нет доступа к интернету», но интернет работает. Что на самом деле сломалось

2369
Windows пишет «Нет доступа к интернету», но интернет работает. Что на самом деле сломалось

Браузер открывает сайты, Telegram получает сообщения, видео загружается, а Windows уверенно пишет «Нет доступа к интернету». В Windows 10 рядом может появиться глобус, в Windows 11 меняется статус сетевого подключения. В большинстве таких случаев интернет никуда не исчезал. Не прошла собственная проверка Windows под названием Network Connectivity Status Indicator, или NCSI.

Я в такой ситуации не начинаю со сброса Winsock, удаления драйвера сетевой карты и перезагрузки роутера. Сначала разделяю три вещи. Компьютер может быть подключён к Wi-Fi или Ethernet, иметь рабочий маршрут в интернет, но при этом не пройти контрольный тест Microsoft. Windows тогда считает сеть ограниченной, хотя браузер продолжает работать. Microsoft прямо предупреждает в инструкции по NCSI, что провал такой проверки сам по себе не доказывает отсутствие доступа в интернет.

Диагностируйте собственный компьютер или сеть, которой имеете право управлять. На корпоративном устройстве не меняйте групповые политики, прокси, DNS и правила межсетевого экрана без согласования с администратором.

Почему Windows имеет собственное мнение об интернете

NCSI нужен не только для картинки возле часов. Windows и программы могут спросить операционную систему, доступен ли интернет, вместо того чтобы каждая программа самостоятельно устраивала сетевую проверку. Поэтому неправильный статус иногда остаётся косметической проблемой, а иногда затрагивает Outlook, Microsoft 365, OneDrive, Windows Update и другой софт, который учитывает состояние подключения.

В современных версиях Windows NCSI использует активные сетевые проверки и пассивно анализирует сетевой трафик. Для активной проверки применяются заранее заданные DNS-имена и HTTP-узлы. Начиная с Windows 10 версии 1607 стандартный веб-тест обращается к http://www.msftconnecttest.com/connecttest.txt и ожидает код HTTP 200 вместе с текстом Microsoft Connect Test. В стандартной конфигурации также используется DNS-узел dns.msftncsi.com. Подробную механику Microsoft описывает в описании NCSI.

Windows NCSI DNS-проверка dns.msftncsi.com HTTP-проверка msftconnecttest.com Microsoft Connect Test Статус сети Internet / No Internet VPN / proxy

Схема объясняет главный парадокс. Браузер проверяет не NCSI, а нужный пользователю сайт. Браузер может применять собственный защищённый DNS, другой прокси или маршрут, тогда как системный контрольный запрос идёт иначе. Поэтому YouTube открывается, а один крошечный файл Microsoft оказывается недоступен.

Обратная ситуация тоже нормальна. Значок сети может показывать полноценный интернет, а конкретный сайт не открывается. NCSI подтверждает общую связность, а не доступность Google, банка, игрового сервера или любого другого домена.

Как за несколько минут понять, где проблема

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

Get-NetConnectionProfile | Format-Table Name,InterfaceAlias,IPv4Connectivity,IPv6Connectivity,NetworkCategory

Поле IPv4Connectivity или IPv6Connectivity со значением Internet означает, что Windows сейчас признаёт соответствующий протокол подключённым к интернету. Значения LocalNetwork, Subnet, NoTraffic или Disconnected помогают понять, что проблема находится ниже уровня браузера.

Следом проверяю DNS. Сначала основной веб-узел NCSI.

Resolve-DnsName www.msftconnecttest.com

Потом специальное DNS-имя NCSI.

Resolve-DnsName dns.msftncsi.com

Если остальные домены разрешаются, а имена Microsoft нет, подозрение падает на DNS-фильтр, локальный файл hosts, защитную программу, корпоративный резолвер или сетевую политику. Менять DNS вслепую я бы не стал. Сначала полезнее выяснить, кто именно блокирует запрос.

Теперь проверяем HTTP-узел.

curl.exe http://www.msftconnecttest.com/connecttest.txt

Нормальный ответ содержит

Microsoft Connect Test

Если приходит страница авторизации Wi-Fi, код 403, рекламная заглушка, редирект, сообщение фильтра или совершенно другой текст, Windows получает не тот результат, которого ждёт. Именно так часто ведут себя captive portal в гостиницах и аэропортах, корпоративные шлюзы и некоторые фильтры трафика.

Успешный curl.exe ещё не гарантирует, что NCSI проходит тем же сетевым путём. Команда полезна как контрольный тест конечного узла, а не как абсолютное доказательство исправности NCSI.

При наличии прокси проверяю системную конфигурацию WinHTTP.

netsh winhttp show proxy

Особенно подозрительна ситуация, когда браузер настроен правильно, а системные службы используют другой прокси или не могут получить PAC-файл. Microsoft отдельно описывает подобные конфликты. В корпоративных сетях NCSI иногда запускается раньше, чем VPN-клиент или защищённый веб-шлюз успевает подготовить маршрут.

При VPN я временно сравниваю состояние сети с включённым и выключенным туннелем. Если надпись «Нет доступа к интернету» появляется строго после подключения VPN, проблема почти наверняка находится в маршрутизации, DNS, kill switch или правилах раздельного туннелирования. Сам VPN при этом может прекрасно передавать обычный пользовательский трафик.

Что чаще всего ломает NCSI и как исправлять

Я бы шёл от конкретного провалившегося теста, а не применял десять универсальных команд подряд.

  • Не разрешается msftconnecttest.com. Проверить настроенный DNS, фильтры доменов, файл hosts, защитный шлюз и корпоративные политики.
  • DNS работает, но HTTP-запрос блокируется. Проверить межсетевой экран, прокси, веб-фильтр и VPN. NCSI использует обычный HTTP-запрос, поэтому перехват или запрет такого трафика легко ломает проверку.
  • Вместо контрольного текста приходит другая страница. Скорее всего, запрос перехватывает captive portal, прокси или фильтр. В публичной сети сначала нужно пройти авторизацию.
  • Проблема появляется только с VPN. Проверить маршруты, DNS внутри туннеля, режим полного или раздельного туннелирования и правила блокировки трафика вне VPN.
  • Проблема только в корпоративной сети. Не обходить защиту самостоятельно. Администратору полезнее проверить доступность NCSI-узлов через корпоративный прокси и настройки групповой политики.

Есть ещё одна причина, которая часто появляется после «твиков конфиденциальности». Активные проверки NCSI можно отключить политикой или параметром реестра. Текущее значение удобно посмотреть так.

Get-ItemProperty 'HKLM:SYSTEMCurrentControlSetServices
laSvcParametersInternet' | Select-Object EnableActiveProbing,ActiveWebProbeHost,ActiveWebProbePath,ActiveWebProbeContent,ActiveDnsProbeHost

Для стандартной конфигурации EnableActiveProbing должен иметь значение 1. Политика NoActiveProbe также способна запретить активные проверки. Microsoft не рекомендует отключать NCSI как способ «починить» статус сети, потому что от результата могут зависеть другие компоненты Windows. На рабочем компьютере менять подобные параметры самостоятельно тем более не стоит.

Если простых тестов мало, открываю «Просмотр событий» и перехожу в Applications and Services Logs → Microsoft → Windows → NCSI. По журналу можно увидеть, какая именно проверка выполнялась и где возникла ошибка. Такой подход намного информативнее очередного netsh winsock reset.

Почему я не советую сразу сбрасывать всю сеть

Поисковая выдача по запросу «Windows пишет нет интернета» обычно предлагает один и тот же ритуал. Очистить DNS-кэш, сбросить Winsock, сбросить TCP/IP, удалить сетевой адаптер, перезагрузить роутер и надеяться на лучшее. Иногда ритуал помогает, но почти ничего не объясняет.

Если браузер уже открывает сайты, DHCP выдал адрес, шлюз доступен и DNS в целом работает, тотальный сброс сети выглядит слишком грубым первым шагом. Сначала достаточно проверить NCSI. Три команды часто дают больше информации, чем десять перезагрузок.

Get-NetConnectionProfile
 Resolve-DnsName www.msftconnecttest.com
 curl.exe http://www.msftconnecttest.com/connecttest.txt

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

ipconfig /flushdns

Сброс сетевого стека я оставляю на случай, когда ломается уже сама связь, а не только индикатор NCSI. Например, компьютер не получает адрес, отсутствует маршрут, не работает DNS для любых программ или сетевой адаптер ведёт себя нестабильно.

Главный вывод простой. Надпись «Нет доступа к интернету» не является прямым измерением всего интернета. Windows проверяет несколько конкретных признаков и строит по ним системный статус. Если обычный трафик проходит, а контрольный запрос NCSI блокирует VPN, DNS-фильтр, прокси или корпоративный шлюз, значок может врать вполне последовательно.

Поэтому мой порядок такой. Сначала Get-NetConnectionProfile, затем DNS-проверка и запрос к msftconnecttest.com. После найденного сбоя уже имеет смысл разбираться с конкретным VPN, прокси, фильтром или политикой. Такой подход быстрее и безопаснее, чем сносить сетевые настройки только потому, что Windows нарисовала неправильный значок.

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

Почему браузер работает, а Office считает, что интернета нет?

Браузер может самостоятельно установить соединение с сайтом, тогда как часть программ учитывает системный статус подключения Windows. Если NCSI ошибочно определил сеть как локальную, программа может решить, что обращаться к облачному сервису бессмысленно.

Можно ли просто заблокировать msftconnecttest.com?

Технически можно, но Windows тогда может перестать корректно определять доступ к интернету и captive portal. Если цель связана с корпоративной безопасностью или приватностью, лучше настраивать NCSI централизованно, а не случайно блокировать контрольный домен.

Почему проблема появляется только после включения VPN?

VPN меняет маршруты, DNS и правила выхода в сеть. Контрольный запрос NCSI может попасть в туннель, который его блокирует, либо остаться вне туннеля и попасть под kill switch. Обычные сайты при другой схеме маршрутизации продолжат работать.

Поможет ли смена DNS-сервера?

Только если диагностика показывает проблему с разрешением имён NCSI. Если DNS уже возвращает адрес, а HTTP-запрос блокирует прокси или межсетевой экран, смена DNS ничего не исправит.

Почему Windows показывает интернет, хотя один сайт не открывается?

NCSI проверяет общую сетевую связность, а не каждый сайт. Конкретный ресурс может быть недоступен из-за собственного сбоя, DNS, маршрутизации, блокировки или проблем CDN, пока системная проверка Windows успешно проходит.

Нужно ли переустанавливать драйвер сетевой карты?

Не при одном лишь неправильном статусе NCSI. Если сайты и приложения получают данные, сетевой адаптер явно способен передавать трафик. Драйвер стоит проверять, когда соединение действительно обрывается, адаптер исчезает, появляются ошибки устройства или компьютер вообще не получает сетевую конфигурацию.

Windows интернет NCSI сеть DNS VPN
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

Юрий Кочетов

Здесь я делюсь своими не самыми полезными, но крайне забавными мыслями о том, как устроен этот мир. Если вы устали от скучных советов и правильных решений, то вам точно сюда.

Рекламодатель
Реклама. АО «Позитив Текнолоджиз». ИНН 7718668887. 18+
Сайт рекламодателя: ptsecurity.com↗️
АО «Позитив Текнолоджиз»