- Вопрос или проблема
- Ответ или решение
- Решение проблемы "Не удалось создать сетевой адаптер" в WireGuard на Windows 10
- 1. Проверка конфликтов с другими VPN-программами
- 2. Настройка прав доступа в реестре
- 3. Удаление оставшихся драйверов Wintun
- 4. Перезагрузка службы
- 5. Обновление WireGuard
- 6. Дополнительные шаги диагностики
- Заключение
Вопрос или проблема
Я создал сервер Wireguard, но не могу запустить его на своем персональном ПК с Windows 10. Когда я пытаюсь активировать туннель с помощью приложения, я вижу, как в Диспетчере устройств на короткий период появляется адаптер сети Wireguard, а затем Wireguard выдает ошибку, говоря: “Не удалось создать сетевой адаптер“.
Что я сделал:
-
Я пытался подключаться с разных устройств (iOS, MacOS, ноутбук на Windows 10, ПК на Windows 8) и все мои конфигурации работали прекрасно, так что я довольно уверен, что проблема не в конфигурации клиент-сервер, а в моей ОС.
-
Я попытался проанализировать трафик с помощью Wireshark и даже не увидел рукопожатия, так что действительно Wireguard, видимо, не успевает создать соединение.
-
Я попытался сбросить настройки сети Windows.
-
Я удалил WAN miniport из сетевых адаптеров, который, однако, снова появился в списке вскоре после этого.
-
Я также попытался запустить wireguard из повышенной консоли с использованием >wireguard /installtunnelservice “C:\config_path.conf”, что привело к той же самой ошибке.
-
Конечно, я все пытался делать как администратор, при этом Wireguard также был установлен под администратором.
-
Я пробовал более старые версии Wireguard (4.x).
-
Я попытался очистить свой реестр с помощью Revo и Ccleaner.
-
В конце концов, я заметил странную ошибку при установке другого программного обеспечения (npcap, если это важно), что может указывать на что-то. При установке этого программного обеспечения у меня было удалено приложение Wireguard. Это программное обеспечение просматривало пакеты драйверов, доступные на моей системе. В какой-то момент оно нашло пакет драйвера, подписанный Wireguard LLC (что, к слову, я думал, что полностью удален), и выдало следующую ошибку:
Установка NpCap завершилась неудачей из-за пакета драйвера сетевого адаптера Wireguard
[00004D70] 2023-09-28 14:45:20 <-- executeCommand
[00004D70] 2023-09-28 14:45:20 --> getInfNamesFromPnpUtilOutput
[00004D70] 2023-09-28 14:45:20 <-- getInfNamesFromPnpUtilOutput
[00004D70] 2023-09-28 14:45:20 <-- ClearDriverStore
[00004D70] 2023-09-28 14:45:20 <-- _tmain: succeed, nStatus = 0.
[00001F88] 2023-09-28 14:45:20 --> wmain
[00001F88] 2023-09-28 14:45:20 _tmain: executing, argv[1] = -n.
[00001F88] 2023-09-28 14:45:20 _tmain: executing, argv[2] = -iw.
[00001F88] 2023-09-28 14:45:20 --> InstallWFPCallout
[00001F88] 2023-09-28 14:45:20 --> GetWFPCalloutInfFilePath
[00001F88] 2023-09-28 14:45:20 lpFilename = C:\Program Files\Npcap\NPCAP_wfp.inf
[00001F88] 2023-09-28 14:45:20 <-- GetWFPCalloutInfFilePath
[00001F88] 2023-09-28 14:45:20 --> isFileExist
[00001F88] 2023-09-28 14:45:20 FindFirstFile: succeed, szFileFullPath = C:\Program Files\Npcap\NPCAP_wfp.inf.
[00001F88] 2023-09-28 14:45:20 <-- isFileExist
[00001F88] 2023-09-28 14:45:20 LaunchINFSectionEx: executing, szCmd = C:\Program Files\Npcap\NPCAP_wfp.inf,DefaultInstall,,36,N.
[00001F88] 2023-09-28 14:45:20 <-- InstallWFPCallout
[00001F88] 2023-09-28 14:45:20 <-- _tmain: succeed, nStatus = 0.
[00002E4C] 2023-09-28 14:45:21 --> wmain
[00002E4C] 2023-09-28 14:45:21 _tmain: executing, argv[1] = -n.
[00002E4C] 2023-09-28 14:45:21 _tmain: executing, argv[2] = -i2.
[00002E4C] 2023-09-28 14:45:21 --> InstallDriver
[00002E4C] 2023-09-28 14:45:21 --> GetServiceInfFilePath
[00002E4C] 2023-09-28 14:45:21 lpFilename = C:\Program Files\Npcap\NPCAP.inf
[00002E4C] 2023-09-28 14:45:21 <-- GetServiceInfFilePath
[00002E4C] 2023-09-28 14:45:21 --> InstallSpecifiedComponent
[00002E4C] 2023-09-28 14:45:21 --> HrGetINetCfg
[00002E4C] 2023-09-28 14:45:21 CoCreateInstance: error, hr = 0x8007045a.
[00002E4C] 2023-09-28 14:45:21 <-- HrGetINetCfg
[00002E4C] 2023-09-28 14:45:21 Ошибка 0x8007045a: Не удалось получить интерфейс объекта уведомления.
Возможная причина:
Не удалось инициализировать DLL (DLL).
Помимо этого, я смог найти очень мало диагностических сообщений на своем компьютере, но вот они
Логи приложения Wireguard
2023-10-02 13:48:56.797: [TUN] [koldi-desktop] Запуск WireGuard/0.5.3 (Windows 10.0.19045; amd64)
2023-10-02 13:48:56.797: [TUN] [koldi-desktop] Наблюдение за сетевыми интерфейсами
2023-10-02 13:48:56.799: [TUN] [koldi-desktop] Разрешение DNS имен
2023-10-02 13:48:56.799: [TUN] [koldi-desktop] Создание сетевого адаптера
2023-10-02 13:48:56.876: [TUN] [koldi-desktop] Использование существующего драйвера 0.10
2023-10-02 13:48:56.883: [TUN] [koldi-desktop] Создание адаптера
2023-10-02 13:49:11.897: [TUN] [koldi-desktop] Время ожидания истекло при ожидании запроса устройства: время ожидания операции. (Код 0x00000102)
2023-10-02 13:49:11.897: [TUN] [koldi-desktop] Не удалось настроить адаптер (код проблемы: 0x38, ntstatus: 0x0): Устройство не готово. (Код 0x000010DF)
2023-10-02 13:49:11.910: [TUN] [koldi-desktop] Не удалось создать сетевой адаптер: Ошибка создания адаптера: Устройство не готово к использованию.
2023-10-02 13:49:11.910: [TUN] [koldi-desktop] Остановка
2023-10-02 13:49:11.911: [MGR] [koldi-desktop] Трекер службы туннеля завершил работу
Логи просмотра событий Windows
10/2/2023 1:48:56 PM - Информация Служба была установлена в системе.Название службы: WireGuard Tunnel: koldi-desktop
Имя файла службы: "C:\Program Files\WireGuard\wireguard.exe" /tunnelservice "C:\Program Files\WireGuard\Data\Configurations\koldi-desktop.conf.dpapi"
10/2/2023 1:48:56 PM - Ошибка Служба настройки сети неожиданно завершилась. Она сделала это 6 раз.
10/2/2023 1:49:11 PM - Ошибка Служба WireGuard Tunnel: koldi-desktop завершилась со следующей специфической ошибкой службы:
Система не может найти указанный путь.
Важное обновление, которое, похоже, приближает меня к корню проблемы. Я попытался установить более старую версию WireGuard, которая предоставила мне более полный лог в самом приложении, а также мне удалось отследить ту же ошибку в Windows/INF/setupapi.dev.log
Новый лог Wireguard
2023-10-05 14:55:45.568: [MGR] Запуск WireGuard/0.4 (Windows 10.0.19045; amd64)
2023-10-05 14:55:45.573: [MGR] Запуск UI процесса для пользователя ‘koldi@DESKTOP-TN3C3LQ’ для сеанса 1
2023-10-05 14:55:46.128: [MGR] Доступно обновление
2023-10-05 14:56:01.655: [TUN] [koldi-desktop] Запуск WireGuard/0.4 (Windows 10.0.19045; amd64)
2023-10-05 14:56:01.655: [TUN] [koldi-desktop] Наблюдение за сетевыми интерфейсами
2023-10-05 14:56:01.657: [TUN] [koldi-desktop] Разрешение DNS имен
2023-10-05 14:56:01.657: [TUN] [koldi-desktop] Создание сетевого адаптера
2023-10-05 14:56:01.660: [TUN] [koldi-desktop] [Wintun] WintunCreateAdapter: Создание адаптера
2023-10-05 14:56:01.751: [TUN] [koldi-desktop] [Wintun] SelectDriver: Установка драйвера 0.13
2023-10-05 14:56:01.751: [TUN] [koldi-desktop] [Wintun] SelectDriver: Извлечение драйвера
2023-10-05 14:56:01.752: [TUN] [koldi-desktop] [Wintun] SelectDriver: Установка драйвера
2023-10-05 14:56:12.010: [TUN] [koldi-desktop] [Wintun] RegistryQueryStringWait: Время ожидания истекло при ожидании значения реестра \REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0003\NetCfgInstanceId (статус: 0x102)
2023-10-05 14:56:12.010: [TUN] [koldi-desktop] [Wintun] WintunCreateAdapter: Не удалось получить \REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0003\NetCfgInstanceId
2023-10-05 14:56:12.020: [TUN] [koldi-desktop] Не удалось создать сетевой адаптер: Ошибка создания интерфейса: Система не может найти указанный файл.
2023-10-05 14:56:12.020: [TUN] [koldi-desktop] Остановка
2023-10-05 14:56:12.021: [MGR] [koldi-desktop] Трекер службы туннеля завершил работу
Windows/INF/setupapi.dev.log
>>> [SetupCopyOEMInf - C:\Windows\Temp\a8cedcbd9cbc2dde94b3b86485a8b9e4adf1ad930f68fbc0c50b62b55965774a\wintun.inf]
>>> Начало секции 2023/10/05 14:56:01.754
cmd: "C:\Program Files\WireGuard\wireguard.exe" /tunnelservice "C:\Program Files\WireGuard\Data\Configurations\koldi-desktop.conf.dpapi"
inf: Стиль копирования: 0x00000000
sto: {Установка драйвера пакета: C:\Windows\Temp\a8cedcbd9cbc2dde94b3b86485a8b9e4adf1ad930f68fbc0c50b62b55965774a\wintun.inf} 14:56:01.755
inf: Провайдер: WireGuard LLC
inf: GUID класса: {4D36E972-E325-11CE-BFC1-08002BE10318}
inf: Версия драйвера: 08/02/2021,0.13.0.0
inf: Файл каталога: wintun.cat
ump: Флаги импорта: 0x00000009
pol: {Проверка политики пакета драйвера} 14:56:01.774
pol: {Проверка политики пакета драйвера - выход(0x00000000)} 14:56:01.775
sto: {Этап установки пакета драйвера: C:\Windows\Temp\a8cedcbd9cbc2dde94b3b86485a8b9e4adf1ad930f68fbc0c50b62b55965774a\wintun.inf} 14:56:01.775
inf: {Запрос конфигурируемости: C:\Windows\Temp\a8cedcbd9cbc2dde94b3b86485a8b9e4adf1ad930f68fbc0c50b62b55965774a\wintun.inf} 14:56:01.781
inf: Пакет драйвера 'wintun.inf' конфигурируемый.
inf: {Запрос конфигурируемости: выход(0x00000000)} 14:56:01.782
flq: {FILE_QUEUE_COMMIT} 14:56:01.783
flq: Копирование 'C:\Windows\Temp\a8cedcbd9cbc2dde94b3b86485a8b9e4adf1ad930f68fbc0c50b62b55965774a\wintun.cat' в 'C:\Windows\System32\DriverStore\Temp\{64b59a7f-4019-b148-93f6-19c3178c14ce}\wintun.cat'.
flq: Копирование 'C:\Windows\Temp\a8cedcbd9cbc2dde94b3b86485a8b9e4adf1ad930f68fbc0c50b62b55965774a\wintun.inf' в 'C:\Windows\System32\DriverStore\Temp\{64b59a7f-4019-b148-93f6-19c3178c14ce}\wintun.inf'.
flq: Копирование 'C:\Windows\Temp\a8cedcbd9cbc2dde94b3b86485a8b9e4adf1ad930f68fbc0c50b62b55965774a\wintun.sys' в 'C:\Windows\System32\DriverStore\Temp\{64b59a7f-4019-b148-93f6-19c3178c14ce}\wintun.sys'.
flq: {FILE_QUEUE_COMMIT - выход(0x00000000)} 14:56:01.803
sto: {VALIDATION ИМПОРТА ДИСКА} 14:56:01.804
sig: Каталог пакета драйвера действителен.
sig: {_VERIFY_FILE_SIGNATURE} 14:56:01.819
sig: Ключ = wintun.inf
sig: Путь к файлу = C:\Windows\System32\DriverStore\Temp\{64b59a7f-4019-b148-93f6-19c3178c14ce}\wintun.inf
sig: Каталог = C:\Windows\System32\DriverStore\Temp\{64b59a7f-4019-b148-93f6-19c3178c14ce}\wintun.cat
sig: Успех: Файл подписан в каталоге.
sig: {_VERIFY_FILE_SIGNATURE выход(0x00000000)} 14:56:01.824
sto: {VALIDATION ИМПОРТА ДИСКА: выход(0x00000000)} 14:56:01.826
sig: Оценка подписчика = 0x0D000005 (WHQL)
sig: Имя подписчика = Microsoft Windows Hardware Compatibility Publisher
sig: Идентификатор отправки = 58177670_14147300089215136_1152921505693731132
sto: {Импорт основного пакета драйвера: wintun.inf_amd64_d97096a68f999890} 14:56:01.828
sto: {НАЧАЛО ИМПОРТА ДИСКА} 14:56:01.828
sto: {НАЧАЛО ИМПОРТА ДИСКА: выход(0x00000000)} 14:56:01.828
cpy: {Копирование директории: C:\Windows\System32\DriverStore\Temp\{64b59a7f-4019-b148-93f6-19c3178c14ce}} 14:56:01.828
cpy: Целевой путь = C:\Windows\System32\DriverStore\FileRepository\wintun.inf_amd64_d97096a68f999890
cpy: {Копирование директории: выход(0x00000000)} 14:56:01.830
idb: {Регистрация пакета драйвера: C:\Windows\System32\DriverStore\FileRepository\wintun.inf_amd64_d97096a68f999890\wintun.inf} 14:56:01.831
idb: Объект пакета драйвера 'wintun.inf_amd64_d97096a68f999890' создан в узле базы данных ДРАЙВЕРОВ.
idb: Объект INF файла драйвера 'oem11.inf' создан в узле базы данных ДРАЙВЕРОВ.
idb: Пакет драйвера 'wintun.inf_amd64_d97096a68f999890' зарегистрирован с 'oem11.inf'.
idb: {Регистрация пакета драйвера: выход(0x00000000)} 14:56:01.833
idb: {Публикация пакета драйвера: C:\Windows\System32\DriverStore\FileRepository\wintun.inf_amd64_d97096a68f999890\wintun.inf} 14:56:01.833
idb: Активация пакета драйвера 'wintun.inf_amd64_d97096a68f999890'.
cpy: Опубликовано 'wintun.inf_amd64_d97096a68f999890\wintun.inf' как 'oem11.inf'.
idb: Индексировано 2 идентификатора устройства для 'wintun.inf_amd64_d97096a68f999890'.
sto: Сброшен узел базы данных драйвера 'DRIVERS'. Время = 15 мс
sto: Сброшен узел базы данных драйвера 'SYSTEM'. Время = 16 мс
idb: {Публикация пакета драйвера: выход(0x00000000)} 14:56:01.857
sto: {ЗАВЕРШЕНИЕ ИМПОРТА ДИСКА} 14:56:01.858
dvi: Все файлы пакета драйвера сброшены на диск. Время = 0 мс
sig: Установлен каталог 'wintun.cat' как 'oem11.cat'.
sto: {ЗАВЕРШЕНИЕ ИМПОРТА ДИСКА: выход(0x00000000)} 14:56:01.873
sto: {Импорт основного пакета драйвера: выход(0x00000000)} 14:56:01.873
sto: {Этап установки пакета драйвера: выход(0x00000000)} 14:56:01.874
! dvi: Не удалось найти устройство 'ROOT\NET\0000'. cr = 0x0D
sto: {Setup Import Driver Package - выход (0x00000000)} 14:56:01.920
inf: Путь хранилища драйвера: C:\Windows\System32\DriverStore\FileRepository\wintun.inf_amd64_d97096a68f999890\wintun.inf
inf: Опубликованный путь Inf: C:\Windows\INF\oem11.inf
<<< Конец секции 2023/10/05 14:56:01.922
<<< [Выходной статус: УСПЕШНО]
>>> [Настройка пакета драйвера - c:\windows\system32\driverstore\filerepository\wintun.inf_amd64_d97096a68f999890\wintun.inf]
>>> Начало секции 2023/10/05 14:56:01.973
cmd: "C:\Program Files\WireGuard\wireguard.exe" /tunnelservice "C:\Program Files\WireGuard\Data\Configurations\koldi-desktop.conf.dpapi"
sto: Фильтр источника = Wintun.Install
sto: Фильтр назначения = ROOT\NET\0000
inf: GUID класса = {4d36e972-e325-11ce-bfc1-08002be10318}
inf: Опции класса = Конфигурируемый
inf: {Настройка драйвера: Wintun Userspace Tunnel}
inf: Название секции = Wintun.Install
inf: {Настройка устройства: ROOT\NET\0000}
inf: {Настройка устройства: выход(0x00000000)}
inf: {Настройка драйвера: выход(0x00000000)}
<<< Конец секции 2023/10/05 14:56:01.978
<<< [Выходной статус: УСПЕШНО]
>>> [Перезапуск устройства - ROOT\NET\0000]
>>> Начало секции 2023/10/05 14:56:01.979
cmd: "C:\Program Files\WireGuard\wireguard.exe" /tunnelservice "C:\Program Files\WireGuard\Data\Configurations\koldi-desktop.conf.dpapi"
dvi: Статус устройства: 0x01802001
dvi: {Перезапуск устройств} 14:56:01.979
dvi: Запуск: ROOT\NET\0000
! dvi: Устройство 'ROOT\NET\0000' ожидает запуска: У устройства есть проблема: 0x38 (CM_PROB_NEED_CLASS_CONFIG), статус проблемы: 0x00000000.
dvi: {Перезапуск устройств выход} 14:56:02.001
<<< Конец секции 2023/10/05 14:56:02.001
<<< [Выходной статус: УСПЕШНО]
>>> [Удаление устройства - ROOT\NET\0000]
>>> Начало секции 2023/10/05 14:56:12.010
cmd: "C:\Program Files\WireGuard\wireguard.exe" /tunnelservice "C:\Program Files\WireGuard\Data\Configurations\koldi-desktop.conf.dpapi"
dvi: Запрос и удаление успешно выполнены
<<< Конец секции 2023/10/05 14:56:12.019
<<< [Выходной статус: УСПЕШНО]
Как видите, похоже, что он успешно создает сетевой адаптер WinTun, но затем не может найти его в реестре (устройство ROOT\NET\0000
соответствует неизвестному устройству, насколько я знаю) или что-то в этом роде. Вероятно, возможно вручную переустановить wintun каким-то образом.
Я начинаю терять надежду, любая помощь будет очень ценна.
Необходимо войти в regedit, чтобы изменить разрешения. Вы можете посмотреть этот пост, он решает мою проблему:
https://www.reddit.com/r/WireGuard/comments/1161mvw/unable_to_configure_adapter_network_settings/
Что вызывает проблему: Nordvpn или другое VPN-приложение создают сетевой адаптер с типом Wireguard (NordLynx), и приложение Wireguard не может получить доступ к адаптеру.
Решение:
- Добавьте СЛУЖБЕ СЕТИ полные права на следующие ключи/папки реестра
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dhcp
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp6
- Перезагрузите ПК
- Иногда недостаточно просто изменить разрешения реестра, затем откройте Диспетчер устройств и удалите любой VPN или любой сетевой адаптер.
Ответ или решение
Решение проблемы "Не удалось создать сетевой адаптер" в WireGuard на Windows 10
Ошибка "Не удалось создать сетевой адаптер" при попытке активировать туннель в WireGuard на Windows 10 может быть вызвана несколькими факторами, связанными с конфигурацией операционной системы, другими установленными VPN-программами и настройками реестра. Для устранения этой проблемы можно предпринять следующие шаги.
1. Проверка конфликтов с другими VPN-программами
Часто проблемы с WireGuard могут возникать из-за конфликтов с другими VPN-программами, такими как NordVPN, которые могут создавать свои сетевые адаптеры, использующие технологии WireGuard (например, NordLynx). Если у вас установлены такие программы, рекомендуется:
- Полностью удалить их, чтобы исключить конфликты.
- Проверить диспетчер устройств на наличие оставшихся адаптеров, связанных с этими программами, и удалить их.
2. Настройка прав доступа в реестре
Неправильные разрешения в реестре могут стать причиной того, что WireGuard не имеет доступа к созданию адаптера. Чтобы исправить это:
- Запустите редактор реестра (regedit).
- Перейдите к следующим ключам и добавьте полные права для группы
NETWORK SERVICE
:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dhcp
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp6
- Для каждого из этих ключей:
- Щелкните правой кнопкой мыши и выберите "Разрешения".
- Нажмите "Добавить" и введите
NETWORK SERVICE
, затем предоставьте полные права.
После внесения изменений перезагрузите компьютер для применения новых настроек.
3. Удаление оставшихся драйверов Wintun
Проблема также может быть связана с некорректной установкой или оставшимися драйверами Wintun. Для их удаления:
- Откройте Диспетчер устройств.
- Найдите и удалите все адаптеры, связанные с WireGuard или Wintun.
- Убедитесь, что отображается сообщение об успешном удалении адаптера.
После удаления повторно установите WireGuard, чтобы запустить установку драйвера.
4. Перезагрузка службы
Если ошибка продолжается, проверьте состояние служб WireGuard:
- Откройте Управление компьютером и перейдите в "Службы".
- Найдите службы, связанные с WireGuard, и перезапустите их. Если служба не запускается, проверьте состояние событий в журнале Windows, чтобы выявить возможные причины.
5. Обновление WireGuard
Убедитесь, что у вас установлена последняя версия WireGuard. Обновления могут включать исправления ошибок и улучшения:
- Загрузите последнюю версию браузера с официального сайта WireGuard.
- Установите программу и протестируйте соединение.
6. Дополнительные шаги диагностики
Если ни один из вышеуказанных шагов не решил вашу проблему, вы можете рассмотреть дополнительные действия:
- Используйте инструменты для анализа трафика, такие как Wireshark, чтобы подтвердить отсутствие соединений при активации WireGuard.
- Откройте или проверьте журналы настройки Windows, чтобы выявить дополнительные ошибки.
Заключение
Решение проблемы "Не удалось создать сетевой адаптер" в WireGuard на Windows 10 требует тщательного проверки конфигураций сетевых адаптеров и прав доступа. Следуя описанным шагам, вы сможете устранить конфликтующие настройки и восстановить возможность использования WireGuard на вашем устройстве. Если проблема продолжает возникать, рекомендуется обратиться за помощью на форумы сообщества WireGuard или к технической поддержке.