В Windows есть встроенная служба NCSI (Network Connectivity Status Indicator), которая используется для определения состояния сетевого подключения и наличия доступа к Интернету. Если эта служба определяет, что сетевое подключение не может быть использовано для выхода в Интернет, то в трее и в панели управления сетями появятся уведомления вида «
Без подключения к Интернету, защищено
» (у беспроводных Wi-Fi подключений), «
Без доступа к Интернету
» и т.п. Однако случается, что Windows пишет о том, что нет подключения к Интернету по Ethernet или WiFi, но фактически интернет-доступ есть, сайты открываются и внешние ресурсы доступны.
Сначала разберемся, как Windows определяет наличие Интернет-подключения. Microsoft используется собственный веб ресурс для проверки интернет подключения на устройствах Windows http://www.msftconnecttest.com/. Для проверки устройство должно успешно отрезвить это DNS имя и проверить доступность текстового файла через HTTP GET. Служба NCSI по умолчанию выполняет следующие активные проверки доступности тестового сервера Microsoft
- DNS запрос для
dns.msftncsi.com
должен вернуть ответ в ответ IPv4 адрес131.107.255.255
(или IPv6 адресfd3e:4f5a:5b81::1
) - Проверяется доступность HTTP веб-сервера (код ответа
200
) и получается содержимое простого тестового файлаhttp://www.msftconnecttest.com/ncsi.txt
. Служба проверяет, содержит ли текстовый файлстроку Microsoft Connect Test - Проверяются как
IPv4
, так иIPv6
адреса (устройство будет считаться подключенным к Интернету, если внешние ресурсы доступны хотя бы по одному протоколу)
Если хотя бы одна их проверок не прошла, в трее появится уведомление об отсутствии соединения или ограниченном доступе в Интернет.
В каких случаях служба NCSI в Windows может показывать неправильное состояние сети на компьютере:
- Доступ к веб сайту http://www.msftconnecttest.com/ заблокирован в вашей сети (внешним межсетевым экраном, встроенным Windows Firewall, прокси сервером и т.д.)
- Проблемы с DNS сервером. Например: на компьютере указан недействительный или недоступный DNS сервер, используется DNS сервер с фильтрацией, или для NCSI сервера создана фейковая запись в DNS (включая сценарий с некорректной записью в локальном файле
%windir%\System32\drivers\etc\hosts
)
Параметры службы NCSI, связанные с проверкой Интернет подключения хранятся в ветке реестра HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet.
- EnableActiveProbing — значение 1 включает автоматическую проверку наличия доступа в Интернет службой NCSI (0 — отключить проверку)
- ActiveDnsProbeHost и ActiveDnsProbeHostV6 — DNS сервера, через которые служба выполняет запросы. По умолчанию и для IPv4 и для IPv6 это
dns.msftncsi.com
- ActiveDnsProbeContent и ActiveDnsProbeContentV6 — эталонные (ожидаемые) IPv4 и IPv6 адреса DNS серверов, которые должна вернуть первая проверка
- ActiveWebProbeHost и ActiveWebProbeHostV6 — веб сервера MSFT, доступность которых проверяется (
www.msftconnecttest.com
иipv6.msftconnecttest.com
) - ActiveWebProbePath и ActiveWebProbePathV6 — имя текстового файла на веб сервере для проверки (по умолчанию
connecttest.txt
) - ActiveWebProbeContent и ActiveWebProbeContentV6 – ожидаемое содержимое текстового файла (
Microsoft Connect Test
), с котором нужно сверить ответ
Остальные параметры задают таймауты и частоту выполнения проверки доступа в Интернет.
Через эту ветку реестра вы можете как полностью отключить проверку наличия Интернета на устройстве службой NCSI, так и перенаправить все запросы на альтернативной веб-сервер. Это позволит убрать уведомления о недоступности Интернета на клиентах, когда официальные адреса Microsoft недоступны (например, в корпоративных сетях).
Чтобы полностью отключить выполнение активных проверок NCSI, можно включить параметр групповых политик Turn off Windows Network Connectivity Status Indicator active tests / Отключить активное зондирование индикатора состояния сетевого подключения (находится в следующей ветке редактора локальной GPO: Computer Configuration -> Administrative Templates -> System -> Internet Communication Management -> Internet Communication settings). После включения этой политики Windows не будет выполнять проверки и уведомлять пользователя о наличии/отсутствии доступа в Интернет.
Если Интернет действительно не работает, выполните стандартные процедуры диагностики и восстановить работы сети в Windows: