Сеть работает, а Windows пишет «Нет доступа к интернету» — разбираем NCSI, DNS, прокси и VPN

· · Windows, Разработка под Windows, Сети, NCSI, DNS, Прокси, VPN, PowerShell

Веб-сайты открываются. Сообщения в чате доходят. И всё же только отображение Windows сообщает «Нет доступа к интернету».

«Сеть сейчас работает — почему же написано, что её нет?» Этот вопрос возникает сам собой, но причина есть. У Windows есть собственная проверка подключения, и её результат отделён от результата обмена данными того приложения, которым вы пользуетесь сейчас. Например, обычные веб-сайты могут быть доступны, а вот назначение проверки подключения Windows — нет.1

Поэтому, прежде чем удалять настройки Wi-Fi или сбрасывать сеть целиком, разделите вопрос: искажено только отображение или нужный вам обмен данными тоже не проходит?

В этой статье сначала объясняется механизм расхождения, а затем — частые ситуации, разбор по симптомам и практические шаги проверки. Кому нужен механизм — читайте до главы 3; кто занимается диагностикой — главы 4 и 5; разработчикам приложений для Windows стоит прочитать и главу 6. Основное внимание уделено Windows 11, рассмотрены и отличия от Windows 10, а в примерах используются Windows PowerShell 5.1 и curl.exe.

1. Windows смотрит не только на тот сайт, который вы открыли сейчас

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

А что, если сеть компании настроена так, что трафик к обычным сайтам пропускается, а к назначению проверки подключения — нет? Обмен данными браузера будет успешным, а проверочный трафик Windows — неудачным. Даже на одном и том же компьютере результат может расходиться, если проверяется что-то разное.1

Пример, когда сайт открывается, а проверка подключения не проходитГипотетический пример: браузер на том же компьютере достигает обычного сайта, тогда как проверочный запрос NCSI не доходит до другого назначения. Это не схема, которая определяет итоговое состояние NCSI по одному запросу.Тот же компьютерТрафик браузераПроверочный трафик WindowsОбычный сайтстраница открываетсяНазначение проверки подключенияне проходит только этот трафик

Рис. 1: Гипотетический пример для понимания механизма. Обычный трафик и проверка подключения обращаются к разным сторонам.

За это решение о связности отвечает NCSI (Network Connectivity Status Indicator). Он определяет, есть ли подключение к интернету или оно остаётся локальным, и предоставляет сведения, которые используют индикатор сети и приложения. Он не следит за доступностью отдельных веб-сайтов или корпоративных систем.1

Смотрите не на то, «что-то вернулось», а на то, вернулось ли содержимое проверки

Начиная с Windows 10 версии 1607 стандартное назначение HTTP-проверки — следующий URL. Ожидаемое тело ответа — Microsoft Connect Test. На компьютерах, которыми управляет организация, назначение проверки иногда меняют.2

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

Если вы запросили этот файл, а вернулся экран входа в гостиничную сеть или корпоративная страница блокировки, значит от назначения что-то пришло, но это не ожидаемый результат проверки. Даже при статусе HTTP 200 тело ответа не обязательно совпадает.3

Что проверяет HTTP-пробаПри запросе к назначению проверки смотрим, вернулись ли ожидаемый ответ и тело ответа.НетДаДаНетHTTP-запрос к назначению проверкиОтвет полученРазобраться с незавершённой передачей или сбоем связиЭто ожидаемый ответ и тело ответаОснование считать подключение установленнымРазобраться с проверкой подлинности, блокировкой или подменой содержимого

Рис. 2: Отделяйте факт получения ответа от назначения проверки от факта получения ожидаемого содержимого.

Заметим, что NCSI работает не только по этому проверочному трафику. Способ, при котором он проверяет связность по своей инициативе, называется активной пробой, а способ, при котором он судит по полученным пакетам и другим сведениям, — пассивной пробой; используются оба. Поэтому один неудачный HTTP-запрос из схемы не равнозначен тому, что итоговое состояние подключения стало «нет доступа».1

Главное к этому моменту: подключение к Wi-Fi, доступность какого-то сайта и решение Windows «Internet» — это разные проверки. Само подключение к Wi-Fi ничего не говорит ни о маршруте наружу, ни о проверке подлинности для доступа, а доступность одного сайта не гарантирует работу другого назначения или другого приложения.

На схеме сплошная линия обозначает отношение, которое выполняется всегда, а пунктирная — условное отношение (условия указаны в пояснении к каждому отношению на странице сведений). Полный список отношений (всего 5, с доказательствами и степенью уверенности) и определения основных понятий собраны на странице сведений карты знаний (на японском). Данные: JSON-LD / Turtle

2. Три частые ситуации, когда отображение и трафик расходятся

В компании браузер и проверка подключения иногда идут разными путями

Сделаем пример компании из начала статьи конкретнее. В корпоративных сетях бывает схема, при которой наружу выходят не напрямую, а через промежуточный узел — прокси. Механизм, который выбирает этот узел по запрашиваемому URL и подобным критериям, — это PAC-файл. Иногда применяется и автоматическое определение.4

В такой схеме для обычных сайтов может выбираться подходящий прокси, а назначение проверки подключения остаётся вне правил. Случаи, когда определение прокси не успевает сработать или блокируется только HTTP-трафик к назначению проверки, тоже стоит рассматривать.1

Проверять путь браузера и путь NCSI отдельноУспех трафика браузера не гарантирует успех NCSI, который использует другое назначение и другой выбор прокси.Тот же компьютерЗапрос браузераПроверочный запрос NCSIПрокси и проверка подлинности для этого запросаПрокси и проверка подлинности для проверочного запросаИспользованный веб-сайтНазначение проверки подключения

Рис. 3: «Тот же компьютер» не значит «тот же путь». Для каждого запроса проверяйте назначение, прокси и проверку подлинности.

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

В гостинице после подключения к Wi-Fi может остаться вход в сеть

В Wi-Fi гостиниц и подобных мест после подключения к радиосети может потребоваться принять условия использования или войти. Этот шлюз проверки подлинности и есть captive portal (портал авторизации). Если проверочный запрос перенаправляется на страницу проверки подлинности или возвращается экран входа, это уже не обычный ответ проверки. То, что Windows открывает браузер и предлагает войти, тоже связано с этим механизмом.3

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

Рис. 4: Завершение подключения к Wi-Fi не означает, что пройдена проверка подлинности для использования этой сети.

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

С VPN меняется то, «из какого подключения получен результат»

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

В этом случае не рассматривайте компьютер как единое «подключён или не подключён», а разделите физический LAN или Wi-Fi и VPN. Например, если физическая сторона показывает LocalNetwork, а схема предполагает выход в интернет через VPN, одной строки о физической стороне недостаточно, чтобы считать что-то неисправным. Читайте профили подключений из главы 4 вместе с фактически использованным маршрутом.56

Разделять маршрут подключения и семейство IPРазделите физический LAN и VPN, IPv4 и IPv6 и сопоставьте использованный трафиком маршрут с каждым решением.Перечислить подключенияФизический LAN и Wi-FiVPN-адаптерРешения по IPv4 и IPv6Решения по IPv4 и IPv6Сопоставить с фактическим маршрутом трафика

Рис. 5: Сохраняя различие между физическим подключением и VPN, а также между IPv4 и IPv6, сравнивайте с фактическим маршрутом трафика.

С IPv4 и IPv6 так же. NCSI выполняет активные пробы для обоих параллельно, и успеха по одному из них достаточно, чтобы считать, что подключение к интернету есть. То, что один из них не Internet, само по себе не означает, что весь компьютер не подключён. Какое из них использовало конкретное приложение, выясняют отдельно, наблюдая за его трафиком.1

Если для сравнения вы отключаете VPN, делайте это на разрешённом организацией тестовом компьютере или в согласованное окно изменений. Не отключайте постоянно действующий VPN самовольно ради диагностики.

3. Сначала разделите: «только отображение или трафик тоже не проходит»

Когда причины-кандидаты известны, примерьте их к своим симптомам. Сначала проверьте, работает ли новый обмен данными прямо сейчас, например открыв новую страницу на разрешённом сайте. Экран, открытый с прошлого раза, ничего не говорит о текущем состоянии связи.

Вместо «сеть работает» добейтесь конкретности до формулировки «в это время, в этом приложении, к этому назначению, эта операция прошла успешно» — так круг поиска сузится.

Что происходит сейчас Где проверить в первую очередь
Не работает ни веб, ни бизнес-приложение Не ограничивайтесь NCSI: проверьте настройки IP, DNS, маршруты и проверку подлинности для доступа
Веб работает, но только Windows показывает «нет» Посмотрите назначение проверки NCSI и записи о сбое этого трафика
Отображение меняется только при подключении VPN Сравните адаптеры, IPv4/IPv6, DNS и маршруты до и после подключения
После подключения к Wi-Fi появляется экран проверки подлинности Пройдите официальную проверку подлинности и проверьте трафик и повторное решение
Ручной HTTP проходит, а NCSI — нет Ищите различия во времени, учётной записи запуска, прокси и маршруте
Windows показывает Internet, но одно приложение даёт сбой Проверьте назначение, проверку подлинности, TLS и тайм-ауты этого приложения

Это таблица не для установления причины, а для выбора места следующей проверки. Даже если поводом стало расхождение в отображении, при сбое нужного бизнес-приложения отдельно сохраните и результат его обмена данными.

Дальше идут шаги диагностики. Идите в таком порядке: зафиксировать состояние → прочитать настройки назначения проверки → сравнить с ручным трафиком → подтвердить по собственным записям NCSI. Не меняйте корпоративные настройки прокси, VPN и безопасности без разрешения; начните с чтения и нескольких проверок связи.

4. Прежде чем менять настройки, выясните, где произошёл сбой

4.1 Зафиксируйте время возникновения и состояние подключения

Сначала запишите время возникновения, сборку ОС, способ подключения, наличие VPN и приложение, в котором происходит сбой. Версию ОС можно посмотреть командой winver. Затем выведите профили подключений в PowerShell.5

Get-Date -Format o
Get-NetConnectionProfile |
    Select-Object Name, InterfaceAlias, InterfaceIndex,
        NetworkCategory, IPv4Connectivity, IPv6Connectivity |
    Format-Table -AutoSize

Читать нужно имя подключения, InterfaceAlias и InterfaceIndex, а также IPv4Connectivity и IPv6Connectivity. Если строк несколько, читайте их, сохраняя привязку каждого результата к своему подключению. Это нужно, чтобы сравнить результаты того же времени и того же подключения с последующими ручными тестами и журналами.

Значения Public / Private / DomainAuthenticated у NetworkCategory — это классификация, отдельная от решения о подключении к интернету. Смена Public на Private не является общим шагом восстановления при «Нет доступа к интернету». Вывод может содержать имена внутренних сетей, поэтому перед передачей третьим лицам скройте лишние идентифицирующие сведения.5

4.2 Прочитайте, на какое назначение настроен этот компьютер

Прежде чем пробовать стандартное назначение проверки, убедитесь, что на этом компьютере те же настройки. Приведённый код только выводит значения и не изменяет реестр. Он считывает назначения проверки для IPv4 и IPv6, ожидаемое тело ответа и политики, которые управляют, в частности, активной проверкой.17

$internetKey = 'HKLM:\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet'
Get-ItemProperty -LiteralPath $internetKey |
    Select-Object EnableActiveProbing, ActiveWebProbeHost,
        ActiveWebProbePath, ActiveWebProbeContent,
        ActiveWebProbeHostV6, ActiveWebProbePathV6,
        ActiveWebProbeContentV6 |
    Format-List

$policyKey = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\NetworkConnectivityStatusIndicator'
if (Test-Path -LiteralPath $policyKey) {
    Get-ItemProperty -LiteralPath $policyKey |
        Select-Object NoActiveProbe, DisablePassivePolling |
        Format-List
} else {
    'По этому пути реестра политика NCSI отсутствует.'
}

ActiveWebProbeHost и ActiveWebProbePath — это назначение проверки, а ActiveWebProbeContent — ожидаемое тело ответа. Значения с суффиксом V6 тоже сохраните. Если настроено собственное назначение проверки, согласуйте приведённые ниже ручные тесты с этой настройкой и политикой управления.

Вывод об отсутствии ключа политики означает, что по этому пути настроек нет. Это не доказательство того, что управляющих настроек нет вовсе, в том числе через MDM. Не создавайте ненайденный ключ по догадке — уточните у администратора.

Прокси проверяют на экранах настроек Windows и в политиках управления. Для настроек WinHTTP материалом для сравнения послужат netsh winhttp show advproxy в поддерживающих средах и netsh winhttp show proxy в более старых. Однако здесь видна только конфигурация. Маршрут, который NCSI фактически выбрал через PAC или автоматическое определение, нужно сопоставлять с записями трафика, описанными ниже.84

4.3 Разделите, разрешается ли имя и устанавливается ли соединение TCP

Дальше идут ручные сравнительные тесты к стандартному назначению проверки. Выяснить нужно, не разрешается ли имя назначения и не останавливается ли всё на соединении с ним. Сначала проверьте отдельно разрешение имён и соединение TCP.

Resolve-DnsName -Name 'www.msftconnecttest.com' -Type A -DnsOnly
Test-NetConnection -ComputerName 'www.msftconnecttest.com' -Port 80 -InformationLevel Detailed

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

Test-NetConnection -Port 80 показывает соединение TCP с указанным назначением. Он не проверяет ни тело HTTP, ни проверку подлинности на прокси. В среде, где прямые подключения запрещены и разрешён только трафик через HTTP-прокси, сбой этого TCP-теста может быть нормальным. Сохраните также InterfaceAlias и SourceAddress, чтобы понимать, по какому маршруту получен результат.6

На какие вопросы отвечают ручные тестыРазрешение имени, соединение TCP и ответ HTTP охватывают разное, поэтому не считайте успех на одном уровне гарантией для следующего.Разрешить имя через DNSПроверить соединение TCP с назначениемПроверить ответ HTTP и тело ответаСравнить с собственными записями NCSIДругой маршрут там, где прокси обязателен

Рис. 6: Разрешение имени, соединение TCP и ответ HTTP по порядку подтверждают разные вещи.

4.4 В HTTP смотрите не только на статус, но и на тело ответа

Теперь посмотрите, возвращается ли проверочное тело ответа, описанное в главе 1. На машине, где доступен curl.exe, выполните следующее несколько раз. Пишите .exe явно, чтобы не спутать с синонимом PowerShell.

curl.exe -q --connect-timeout 5 --max-time 15 --include 'http://www.msftconnecttest.com/connecttest.txt'

--include выводит и заголовки, и тело ответа. Тайм-ауты заданы и для соединения, и для всей операции, а поскольку -L не указан, автоматического перехода по перенаправлению не будет и вы увидите первый ответ. Ведущий -q говорит curl не читать файл конфигурации по умолчанию, но переменные среды, связанные с прокси, он не очищает.10

Минимальный пример ожидаемого содержимого приведён ниже. Он пояснительный и не является измеренным журналом из этой статьи. В реальности присутствуют и другие заголовки.2

HTTP/1.1 200 OK
...

Microsoft Connect Test
Что вернулось Что смотреть дальше
Ответа нет Где остановилось: разрешение имени, соединение или тайм-аут
Перенаправление, например 302 Куда перенаправляет и не осталась ли непройденной проверка подлинности для доступа
403 Кто вернул отказ и есть ли запись о блокировке трафика к назначению проверки
407 Не требует ли прокси проверки подлинности
200, но тело ответа — экран входа и подобное Кто возвращает содержимое, не являющееся проверочным файлом
Ожидаемый статус и тело ответа Этот ручной запрос успешен. Далее сравните с собственными записями NCSI

Важно здесь то, что ручной тест не заменяет NCSI, а служит материалом для сравнения. curl — это не тест, который так же наследует PAC-настройки Windows или состояние проверки подлинности браузера. Результат «браузер успешен, curl — нет» сам по себе не подтверждает неисправность NCSI.

Уточните у администратора, как следует использовать прокси, и не записывайте учётные данные прямо в историю команд. И даже если эта проверка HTTP успешна, это не гарантия того, что пройдут HTTPS и проверка подлинности бизнес-API.

4.5 И последнее: найдите записи о том, где NCSI действительно дал сбой

Когда ручные тесты обозначили кандидатов, проверьте поведение самого NCSI. Точка входа — просмотр событий, раздел «Журналы приложений и служб → Microsoft → Windows → NCSI». Проверьте операционный журнал (Operational) вблизи времени возникновения.11

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

Порядок чтения журналов NCSIСвяжите начало, завершение, причину сбоя и изменение состояния по времени и интерфейсу.По какому маршруту началосьЗавершилось лиКод результата и причина сбояСостояние подключения после этогоСопоставить с записями трафика того же времени

Рис. 7: Связав начало и изменение состояния, легче проследить, чем ручной тест отличался от NCSI.

Если код результата — ошибка WinHTTP, посмотрите её значение в таблице WinHTTP. Например, 12007 означает, что имя не удалось разрешить, а 12002 — тайм-аут. Однако это лишь подсказка о том, на каком этапе произошёл сбой; сам по себе он не доказывает отказ DNS-сервера или обрыв линии.12

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

Кроме того, переподключение Wi-Fi или отключение адаптера для воспроизведения может разорвать и служебные подключения, например RDP. Не выполняйте это без предупреждения на рабочей машине или на машине, которой управляете удалённо. Записи трафика могут содержать имена узлов, IP-адреса и сведения, связанные с проверкой подлинности, поэтому ограничьте и место хранения, и круг лиц.

В примере с компанией из начала статьи здесь сопоставляют 403 от ручного HTTP, журнал NCSI за то же время и записи об отказах прокси, доступные администратору. Если отклонялось только назначение проверки — исправьте это правило и проверьте снова. Если другой маршрут был только у ручного теста — пересмотрите условия сравнения. Не решайте по одной лишь цифре 403, что это «ошибка NCSI» или «проблема нашего прокси»; выбирайте следующее действие по записям. Это гипотетический пример диагностики, а не результаты реального проекта.

5. Не пытайтесь исправить только отображение старыми способами

Не путайте DNS-трафик Windows 11 с DNS-пробой старых версий

В старых руководствах встречается DNS-проба к dns.msftncsi.com. Однако официальный FAQ по NCSI объясняет, что начиная с Windows 11 активная проба использует HTTP. Даже если в записи Windows 11 есть DNS-трафик, это может быть разрешение имени для HTTP-назначения.2

Различать роль DNS-трафикаЧитайте разрешение имени для HTTP-назначения в Windows 11 и DNS-пробу старых версий как разные вещи.В записи есть DNS-трафикДля чего этот трафикРазрешение имени HTTP-назначенияDNS-проба старых версийМожет потребоваться и в Windows 11Проверить версию ОС и фактические журналы

Рис. 8: DNS-трафик, который ищет HTTP-назначение, и сама DNS-проба — разные вещи.

Поэтому старое объяснение «все DNS-запросы, отдельные от HTTP, должны проходить» нельзя сделать правилом, общим для всех версий Windows. Читайте версию исследуемой ОС вместе с фактическими журналами.

Ещё одна путаница — название места настройки. В Windows 11 компонент, выполняющий NCSI, перешёл от традиционного NLA на сторону Network List Manager, но для настроек вроде назначения проверки по-прежнему используется путь реестра с NlaSvc из главы 4. Не определяйте выполняющую службу только по тому, что в пути указан NlaSvc.1

Остановка проверки не восстанавливает трафик, который не проходил

Установка EnableActiveProbing в 0 или запрет активной проверки политикой — это настройки, ограничивающие проверку подключения. Это не операции, восстанавливающие сбой DNS или маршрут через прокси. Отделяйте принятие этого как политики управления для изолированной сети от изменения, цель которого — убрать предупреждение. Microsoft также не рекомендует отключать активную пробу как решение проблем NCSI.71

По той же причине поддельный ответ об успехе, полное отключение брандмауэра или отключение IPv6 без оснований не становятся первыми шагами. Изменение отображения и улучшение нужного вам трафика — разные вещи.

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

Рис. 9: Даже после обоснованного изменения проверяйте и проверочный трафик, и нужный вам трафик.

Когда исправляют правила разрешений в организации, тоже не заканчивают статической регистрацией IP-адресов из старой статьи. Инфраструктура доставки публичного назначения проверки NCSI может меняться, и Microsoft рекомендует избегать правил разрешения, зависящих от конкретных IP-адресов. Согласуйте с администратором правила, соответствующие фактическому назначению проверки, сервису и маршруту.2

6. Разработчикам: не решайте, что «связи нет», только по NCSI

Всё сказанное выше касается и проектирования приложений для Windows. Если ОС показывает «Нет доступа к интернету» и вы, не попробовав ни разу нужный запрос, помечаете приложение как «офлайн», вы можете остановить трафик, который на самом деле проходил бы. И наоборот, ошибочно считать, что бизнес-API обязательно ответит успехом раз ОС сообщает Internet.

INetworkListManager::get_IsConnectedToInternet, который возвращает решение о связности всей ОС, — это API, возвращающий состояние подключения к интернету локальной машины. Он не гарантирует, что отдельный API или общая папка работают, что проверка подлинности проходит и что у вас есть права на их использование.13

В терминах проектирования это можно сформулировать так: состояние подключения ОС используйте как подсказку для отображения и переподключения, а успех или сбой нужного трафика ведите отдельно. Цель — уметь одновременно держать два факта: «решение Windows — локальное подключение, а бизнес-API был доступен».

Вести решение ОС и результат бизнес-трафика раздельноСостояние подключения ОС используйте как подсказку, а для нужного трафика предусмотрите независимую обработку успеха и сбоя.Состояние подключения ОСПодсказка для отображения и переподключенияНужный запросФактический результатОбработать как успехЗафиксировать причину сбояПовторить, убедившись в безопасности

Рис. 10: Используйте решение ОС как подсказку, а для бизнес-трафика предусмотрите отдельную обработку успеха и сбоя.

Журнал тоже не сводите к одному слову «офлайн»: фиксируйте наблюдённый этап сбоя — DNS, соединение, TLS, проверку подлинности, ответ HTTP и подобное. Для запросов задавайте тайм-ауты и отмену, чтобы интерфейс не оставался в ожидании.

Однако у повторной попытки после тайм-аута есть отдельная оговорка. Обновляющая операция, например оформление заказа или перевод денег, может быть уже выполнена на другой стороне, даже если ответ не успел прийти. Не решайте «раз тайм-аут, значит не выполнено» и не отправляйте снова; определите как часть спецификации приложения, допустима ли повторная попытка, какой механизм предотвращает дублирование и как уточнить результат. Это не та проблема, которую NCSI решит за вас.

7. Итог: читайте отображение и трафик как отдельные факты

«Сеть работает, но написано, что интернета нет» — не обязательно противоречие. Подключение к Wi-Fi, обмен данными с нужной стороной и собственное решение Windows по NCSI подтверждают разные вещи.

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

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

Похожие статьи

Источники

Дата проверки: 11 сентября 2026 года. При расхождениях между версиями ОС приоритет отдаётся официальному FAQ по NCSI, а процедуры из старых руководств для прежних клиентов не рассматриваются как фиксированная спецификация Windows 11. Названия журналов в интерфейсе и доступные команды тоже сверяйте со своей фактической сборкой ОС и настройками управления.

  1. Microsoft Learn, NCSI overview. Активная и пассивная пробы, компонент, выполняющий NCSI в Windows 11, места настройки, IPv4 и IPv6, а также предостережения об отключении.  2 3 4 5 6 7 8 9

  2. Microsoft Learn, Answers to common questions about NCSI. HTTP-проба в Windows 11, назначение проверки, кандидаты на сбой вроде VPN и DNS, а также предостережения о правилах разрешения по фиксированным IP-адресам.  2 3 4 5

  3. Microsoft Learn, An Internet Explorer or Edge window opens when your computer connects to a corporate network or a public network. Портал проверки подлинности и открывающийся браузер, а также HTTP-ответ для проверки. Приведено как объяснение, охватывающее и старые версии.  2

  4. Microsoft Learn, WinHTTP AutoProxy Support. Место PAC и автоматического определения прокси.  2

  5. Microsoft Learn, Get-NetConnectionProfile. Профили подключений, NetworkCategory и состояния IPv4 и IPv6.  2 3

  6. Microsoft Learn, Test-NetConnection. Диагностика соединения TCP, маршрута и адреса источника.  2

  7. Microsoft Learn, Connectivity Policy CSP. Политика управления, управляющая активными проверками NCSI.  2

  8. Microsoft Learn, Netsh.exe commands. Отображение настроек прокси WinHTTP. В поддерживающих средах используйте show advproxy. 

  9. Microsoft Learn, Resolve-DnsName. Область DNS-запроса и его параметры. 

  10. curl project, curl man page. Подавление файла конфигурации, тайм-ауты, вывод заголовков, обработка перенаправлений и прокси. 

  11. Microsoft Learn, How to collect data to diagnose NCSI issues. Сопоставление журналов Operational и Analytic с записями трафика.  2 3

  12. Microsoft Learn, Error Messages (Winhttp.h). Значение кодов результата WinHTTP. 

  13. Microsoft Learn, INetworkListManager::get_IsConnectedToInternet. API, возвращающий состояние подключения ОС к интернету. 

Недавние статьи с теми же тегами помогут подробнее изучить близкие темы.

Эти страницы показывают тему статьи в более широком контексте услуг и решений.

Статья напрямую связана со следующими услугами.

Разработка приложений для Windows

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

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

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

Почему Windows показывает «Нет доступа к интернету», хотя Wi-Fi подключён?
Потому что подключение к Wi-Fi, обмен данными с нужным сервисом и решение о связности, которое Windows принимает через NCSI, — это три разные вещи. Показания могут расходиться не только при аварии на самой линии, но и из-за проблем с DNS, прокси, VPN или captive portal, которые влияют на проверочный трафик. Сначала выясните, что действительно может обмениваться данными.
Если сайт открывается в браузере, можно ли считать, что и NCSI в порядке?
Нельзя. Назначение, выбранный прокси, состояние проверки подлинности, IPv4 или IPv6, а также время запроса могут различаться. Ручной доступ используйте как материал для сравнения, а подтверждайте по журналам событий самого NCSI и, при необходимости, по записи пакетов.
Требуется ли в Windows 11 DNS-проба к dns.msftncsi.com?
В официальном FAQ по NCSI объясняется, что начиная с Windows 11 активная проба использует HTTP. Различайте DNS-трафик, который разрешает имя HTTP-назначения, и DNS-пробу, применявшуюся в старых версиях. Важно не считать, что все запросы из старой инструкции обязательны.
Поможет ли установка EnableActiveProbing в 0?
Этот параметр останавливает проверочный трафик, а не устраняет причину вроде сбоя DNS или маршрутизации. Кроме случаев, когда его принимают как политику управления, например для изолированной сети, не меняйте его ради того, чтобы убрать предупреждение, — сначала выясните, где происходит сбой.
Если NCSI сообщает Internet, гарантирован ли доступ к корпоративным системам?
Не обязательно. Решение ОС о связности не гарантирует, что отдельный API или общая папка работают, что проверка подлинности проходит и что у вас есть права на их использование. Приложение должно отправлять действительно нужный ему трафик и обрабатывать тайм-ауты, отмену, вид сбоя и безопасность повторной попытки.

Об авторе

Страница с профилем автора статьи.

Го Комура

Представитель KomuraSoft LLC

Специализируется на разработке программного обеспечения для Windows, техническом консалтинге и расследовании сбоев, особенно в проектах с унаследованными системами и трудно воспроизводимыми ошибками.

Публичные ссылки

Вернуться в блог