Відсутні мережеві протоколи - помилка Windows Sockets в Windows 10

У колеги на домашньому комп'ютері з Windows 10 став періодично (раз в 2-3 дня) пропадати доступ в інтернет (статус "Обмежено" у підключення), а після запуску майстра діагностики мереж Windows (запускається при натисканні миші по значку з помилкою мережевого підключення або через Параметри -> Оновлення та безпека -> усунення неполадок -> Запустити засіб усунення неполадок підключення до Інтернету) з'являється характерна помилка:

На цьому комп'ютері відсутні один або кілька мережних протоколів.

У реєстрі відсутні записи для Windows Sockets, необхідні для зв'язку по мережі.

One or more network protocols are missing on this computer.

Windows Sockets registry entries required for network connectivity are missing.

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

При такій плаваючою проблеми зазвичай рекомендується почати з самого простого - скинути поточні настройки TCP / IP і Windows Sockets. Якщо у вас на комп'ютері IP адреса налаштований вручну, а не через DHCP, такі команди скинуть ваші мережеві настройки. Тому попередньо потрібно записати поточні настройки IP адреси, маски, шлюзу і DNS серверів для ваших мережевих підключень.

netsh winsock reset

Sucessfully reset the Winsock Catalog. You must restart the computer in order to complete the reset.

netsh interface ipv4 reset

Resetting Compartment Forwarding, OK! Resetting Compartment, OK! Resetting Control Protocol, OK! Resetting Echo Sequence Request, OK! Resetting Global, OK! Resetting Interface, OK! Resetting Anycast Address, OK! Resetting Multicast Address, OK! Resetting Unicast Address, OK! Resetting Neighbor, OK! Resetting Path, OK! Resetting Potential, OK! Resetting Prefix Policy, OK! Resetting Proxy Neighbor, OK! Resetting Route, OK! Resetting Site Prefix, OK! Resetting Subinterface, OK! Resetting Wakeup Pattern, OK! Resetting Resolve Neighbor, OK! Resetting, OK!

Дані команди скинуть настройки протоколу TCP / IP для всіх мережевих адаптерів і все обробники (Winsock Layered Service Providers) до початкового, чистому станом. В результаті ви видалите всі сторонні обробники, які були вбудовані в ваш стек Winsock сторонніми програмами. Найчастіше в стек Winsock вбудовують свої бібліотеки-обробники антивіруси, сніфери, файерволами і навіть деякі віруси :).

Після виконання всіх команду потрібно перезавантажити комп'ютер і перевірити інтернет-підключення.

Якщо проблема не вирішилася, потрібно через реєстр видалити поточні настройки Windows Sockets.

  1. Відкрийте редактор реєстру і перейдіть до ключа HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ WinSock. Створіть резервну копію гілки реєстру, експортувавши її в reg файл (ПКМ -> Export);
  2. Видаліть гілку (ПКМ -> Delete);
  3. Виконайте ці ж дії для гілки HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Winsock2;

Після цього вам потрібно вручну перевстановити компоненти протоколу TCP / IP.

  1. В панелі управління мережевими підключеннями (ncpa.cpl) Відкрийте властивості вашого мережевого адаптера і натисніть кнопку Install;
  2. Виберіть Protocol в списку компонентів для установки (Select Network Feature Type);
  3. Потім виберіть, що ви хочете встановити компонент з диска і вкажіть шлях до каталогу C: \ Windows \ INF;
  4. У список перевстановлювати мережевих протоколів виберіть Internet Protocol version 4 (TCP / IPv4) і перезавантажте комп'ютер. .
У моєму випадку при перевстановлення компонентів TCP / IP з'явилася помилка:

Network Connections Could not add the requested feature. The error is: This program is blocked by group policy. For more information, contact your system administrator.

Щоб виправити помилку потрібно вручну імпортувати з іншого комп'ютера з тієї ж версій ОС і застосувати на проблемному ПК такі гілки реєстру: HKLM \ SYSTEM \ CurrentControlSet \ Services \ Winsock і HKLM \ SYSTEM \ CurrentControlSet \ Services \ Winsock2.

Можете скачати готові файли для чистої Windows 10 x64 LTSC по посиланнях нижче:

  • Winsock.reg
  • Winsock2.reg

Після імпорту reg файлів потрібно перезавантажити комп'ютер і спробувати ще раз перевстановити протокол TCP / IP (в самому крайньому випадком воспользуютесь своїми гілками ресстра winsock, збереженими раніше, але краще використовувати чисті).

Тепер у властивостях вашого мережного підключень перевірте, що він налаштований на отримання динамічного IP адреси і налаштувань DNS серверів, або вкажіть IP адресу і DNS сервера вручну (в моєму випадку після скидання статичні настройки IP просто очистилися). Для домашнього комп'ютера можна вказати використовувати такі статичні адреси DNS серверів Google: 8.8.8.8 і 8.8.4.4.

Тут же натисніть на кнопку Advanced і на вкладці WINS відключіть перегляд LMHOSTS і NetBIOS через TCP / IP. Ці мережеві ротоколи є застарілими і не потрібні в сучасних мережах .

Після цього проблема з періодичним відключенням інтернету з помилкою "відсутні один або кілька мережних протоколів" в Windows 10 зникла. Якщо вам і це не допомогло, я б спробував додатково перевстановити (оновити) драйвера ваших мережевих адаптерів. Можливо проблема ще і з ними.