Forum Replies Created
-
AuthorPosts
-
I was able to determine the cause, and I sketched out a little instruction.
Uninstall all antiviruses.
Uninstall all VPN clients.
Uninstall WireSock.
Сheck manually that the folders with the location of the files have been cleared or deleted by the uninstallers.
Remove all virtual TUN, TAP, DCO(OpenVPN Data Channel Offload) network adapters.
Examle remove wiresock adapter:
(netcfg.exe -v -u nt_ndiswgc)
(“C:\Program Files\WireSock VPN Client\wiresock-adapter\devcon.exe” remove wiresock)!! Restart your computer !!
Check if all the virtual network adapters have been removed.
Snap-in computer management, device manager, show hidden devices.
If the virtual network adapters remain, check and delete them manually.
Run the command prompt with the escalation of rights to the administrator (“cmd.exe”, “powershell” or “windows terminal”)Manual check status Openvpn services:
sc query | findstr /I vpnManual check status devices “WireSock VPN Client Filter”, “WireSock”, “WireGuard”:
sc query ndiswgc
sc query wiresock
sc query wireguard
sc query ovpn-dcoStopping all:
sc stop ndiswgc
sc stop wiresock
sc stop wireguard
sc stop ovpn-dcoRemoving all:
sc delete ndiswgc
sc delete wiresock
sc delete wireguard
sc delete ovpn-dco!! Restart your computer !!
Check status WireSock VPN Client Filter, WireSock, WireGuard:
sc query ndiswgc
sc query wiresock
sc query wireguard
sc query ovpn-dcoIf the virtual network adapters remain, check and delete them manually and restart your computer.
After we have removed all installed vpn clients, all virtual network adapters, all services and drivers
we install WireSock alternately, wireguard?
if necessary – your favorite antivirus, other vpn clients, for example openvpn.А теперь вкратце о проблеме по русски.
Первоначально по симптоматике, я думал что нам мешает один из модулей антивируса касперского 12, который мониторит весь проходящий через сетевые адаптеры траффик,
подобное у меня уже случалось, симптоматика очень похожа, однако ни вирусов, ни зловредного контента антивирус не обнаруживал ни в программе ни в драйверах.
Модуль “ndiswgc.sys” устанавливался, но не стартовал, а при попытке его запуска система радостно рапортовала что не может найти работоспособное устройство.
Сам адаптер, при ручной регистрации устанавливался, и вроде как был доступен в системе, не было связи между “WireSock Virtual Adapter” и “WireSock VPN Client Filter”.
“C:\Program Files\WireSock VPN Client\wiresock-adapter\devcon.exe” install “C:\Program Files\WireSock VPN Client\wiresock-adapter\win10\wiresock.inf” wiresock
Часть ветки реестра предназначенной для данных “WireSock VPN Client” была пуста.
Антивирус первым пошел на заклание, однако после его деинсталляции, проблема с корректной регистрацией в системе “WireSock VPN Client Filter” (\SystemRoot\system32\DRIVERS\ndiswgc.sys),
после которой модуль был бы работоспособен – осталась.
“netcfg.exe -v -l ndiswgc_lwf.inf -c s -i nt_ndiswgc”Вторым подозрением у меня были разнообразные VPN клиенты, третьим пунктом шли системы виртуализации (которые как мы помним, тоже создают виртуальные сетевые адаптеры в системе)
т.е. все, что касалось любым боком сетевой подсистемы.
Я начал поочередно подчищать сетевую подсистему, в которой по воле случая, было много как сейчас инсталлированных VPN программ,
так и остатки от уже деинсталлированных (Cisco\Citrix\Vmware\Xen) программ удаленного доступа.
В некий момент времени, после удаления OpenVPN, я увидел что в системе остался его виртуальный адаптер “OpenVPN Data Channel Offload”.
“ovpn-dco” (\SystemRoot\System32\drivers\ovpn-dco.sys)
Удаление из списка сетевых адаптеров “сетевые подключения” не увенчалось успехом.
Удаление “вручную” через разрегистрацию + перезагрузка помогли.
После удаления сбойного DCO адаптера установка “WireSock VPN Client” из инсталлятора прошла без ошибок (“вручную” компоненты тоже регистрировались без ошибок).
Похоже нам мешал именно этот сбойный адаптер.
После этого я установил все свои любимые программы и клиенты – и все работало!Выводы:
При деинсталляции клиентов VPN (и последующей перезагрузке компьютера) всегда надо проверять,
что адаптер, зависимые службы и драйвера удалены из системы, а не подвисли в неопределенном статусе.
“OpenVPN Data Channel Offload” – это новый тип сетевого адаптера OpenVPN, появившийся с версии OpenVPN 2.6
(перевод расчетов в кернель спейс, вместо двойного кидания данных в ядро из юзер спейс в tun0, что положительно сказывается на производительности)
В Windows клиенте предпочитается к использованию DCO, если не указать “–disable-dco” при старте програмы.
Ошибка с DCO адаптером OpenVPN произошла примерно где то весной 2023 года,
возможно это проблемы с какой нибудь конкретно версией DCO, но в отсутствии повторяемости эксперимента, у меня нет точных доказательств.
Версия 2.6.5 на сейчас работает стабильно и я полностью пеняю на себя.Инсталляция каждой новой версии OpenVPN происходила путем запуска инсталлятора обновленной версии, поверх предыдущей,
без удаления старой версии программы и ее адаптеров и перезагрузки (что конечно, было бы более правильно).
Надеюсь, если мой опыт поможет хоть одному человеку – этого уже будет достаточно.
Из минусов – отсутствие под рукой “портабельной” *.zip сборки WireSock, так что мне пришлось потратить некоторое время на вскрытие MSI пакета
и анализа последовательности действий инсталлятора вручную повторяя действия установки – выясняя на каком этапе установки происходил сбойСбой был где то между “SetinstallWinpkFilterDriver Target: “[System64Folder]netcfg.exe” -v -l “[DRIVERS]ndiswgc_lwf.inf” -c s -i nt_ndiswgc”
и “SetinstallWiresockAdapterDriver Target: “[WIRESOCKADAPTER]devcon.exe” install “[WIRESOCKADAPTER]wiresock.inf” wiresock”Спасибо автору за оперативную помощь в решении проблем и за программу.
отправил 2 сообщения на форум но оба ушли “в никуда” (из-за картинок – премодерация?)
C:\TEMP\mdiswgc_amd64\ndisrdlwf.2017>sc query ndiswgc
[SC] EnumQueryServicesStatus:OpenService: ошибка: 1060: Указанная служба не установлена.
C:\TEMP\mdiswgc_amd64\ndisrdlwf.2017>netcfg.exe -v -l ndiswgc_lwf.inf -c s -i nt_ndiswgc
Попытка установки nt_ndiswgc …
… ndiswgc_lwf.inf скопирован в C:\WINDOWS\INF\oem218.inf.
… завершилось со сбоем. Код ошибки: 0x80070005.
C:\TEMP\mdiswgc_amd64\ndisrdlwf.2017>sc query ndiswgc SERVICE_NAME: ndiswgc
TYPE : 1 KERNEL_DRIVER
STATE : 1 STOPPED
WIN32_EXIT_CODE : 1077 (0x435)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
Подниму тему, ошибка ровно такая же как и у пользователя выше, причем на нескольких машинах.
Дистрибутив “wiresock-vpn-client-x64-1.2.27.1.msi” , операционная система Win10_x64, антивирус касперcкий12 включал-отключал, запуск cmd-консоли из под пользователя с административными правами.
Разворачивание *.MSI пакета прерывается вероятно на пункте регистрации в системе драйвера “ndiswgc”.
Ручная регистрация приводит к созданию “WireSock VPN Client Filter”(ndiswgc) \SystemRoot\system32\DRIVERS\ndiswgc.sys в неадекватном состоянии и при попытке его старта сообщает что “Присоединенное к системе устройство не работает”.
C:\Program Files\WireSock VPN Client>netcfg.exe -v -l “C:\Program Files\WireSock VPN Client\drivers\win10\ndiswgc_lwf.inf” -c s -i nt_ndiswgc
Попытка установки nt_ndiswgc …
… C:\Program Files\WireSock VPN Client\drivers\win10\ndiswgc_lwf.inf скопирован в C:\WINDOWS\INF\oem218.inf.
… завершилось со сбоем. Код ошибки: 0x80070005.sc query ndiswgc
SERVICE_NAME: ndiswgc
TYPE : 1 KERNEL_DRIVER
STATE : 1 STOPPED
WIN32_EXIT_CODE : 1077 (0x435)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0а без установленного “пакет фильтра”, как мы понимаем, все остальное не работает от слова “совсем”, ни “в ручном режиме”, ни как “службы”.
Не работающий драйвер удалить все же дает:
C:\Program Files\WireSock VPN Client>sc delete ndiswgc
[SC] DeleteService: успех
Может в “роллбеке” msi, при неудачной инсталляции указывать именно удаление через sc? Потому что через “‘C:\WINDOWS\system32\netcfg.exe” -v -u nt_ndisrd’ не отработало и в системе остался не запускающийся драйвер:
C:\Program Files\WireSock VPN Client>“C:\WINDOWS\system32\netcfg.exe” -v -u nt_ndiswgc
Попытка удаления nt_ndiswgc …
… nt_ndiswgc не установлен.
Еще смутил в логах установки факт инсталляции адаптера из пути
Property(S): installWiresockAdapterDriver = “C:\Program Files\WireSock VPN Client\wiresock-adapter\devcon.exe” install “C:\Program Files\WireSock VPN Client\wiresock-adapter\wiresock.inf” wiresock
хотя распаковываются файлы в директорию:
C:\Program Files\WireSock VPN Client\wiresock-adapter\win10\Да, я заметил переменные “WSWIN10” и “WSLEGACY” с корректными в них путями, но применяются ли они при разворачивании – пока ответить не могу.
“Ручная” регистрация адаптера с правильными путями – отрабатывает корректно – адаптер в списке появляется.
Не совсем понял, как тут присоединить аттачи, но если что, логи MSI инсталляций у меня в наличии.
Попробовал так же ставить отдельный пакет Windows Packet Filter – результат тот же, инсталляция завершается с ошибкой и оставлением в системе не работающиего драйвера “WinpkFilter LightWeight Filter” (ndisrd).
Спасибо.
-
AuthorPosts