AdguardTeam / AdGuardVPNForWindows

AdGuard VPN Windows app open bug tracker
https://adguard-vpn.com/
77 stars 6 forks source link

Not compatitble with OpenVPN Wireguard Wintun #661

Open shamarin opened 2 months ago

shamarin commented 2 months ago

Please answer the following questions for yourself before submitting an issue.

AdGuard VPN version

2

Operating mode

None

Environment

- OS:
- Other network-level software:

Issue Details

Steps to reproduce: 1. 2. 3.

Expected Behavior

No response

Actual Behavior

No response

Screenshots

Screenshot 1:

Additional Information

No response

shamarin commented 2 months ago

If to enable Wireguard in Adguard VPN client for Windows when Wireguard Wintun from OpenVPN stops working and connecting to vpn. Seams that the problem is in the same driver of Wireguard Wintun but different versions. Maybe it's better to make your self driver based on Wireguard Wintun as it is made in Kaspersky Secure Connection (Kasperskry-VPN driver name of network bu it using Wireguard Wintun).

AlexandrPkhm commented 2 months ago

Hi @shamarin

Could you please clarify which version of AdGuard VPN for Windows you are using on your device, and also if you are using the AdGuard WinTun implementation available in the application's Advanced settings section?

Please try to install the latest beta version of AdGuard VPN for Windows, available from the following link. If the issue still persists with the latest beta, please send us the exact steps to reproduce it as well as application logs.

Here's what you need to do to send us the application logs:

  1. Go to Settings → App settings → Logging level → Record everything;
  2. Reproduce the problem and remember the exact time it was reproduced at. We will need it to find the corresponding entries in the log file;
  3. Open Support tab → Export logs and system info;
  4. Send the archive to devteam@adguard.com and mention this issue number in the subject. Don't forget to include the time of reproduction.
  5. Set the logging level back to Record by default.
shamarin commented 2 months ago

I'm using Adguard implementation of the Wintun wich is available in settings (turn on Wintun in advanced settings section). To reproduce it - just turn on this setting in advanced settings of Adguard and connect to any VPN server. Then turn off VPN connection and after it try to connect to any OpenVPN server with turned on Wintun (Wintun in OpenVPN software) and you will get an error while trying to connect to OpenVPN server (Wintun error)

shamarin commented 2 months ago

Checked with the latest beta, the same. will collect log data today and send you.

shamarin commented 1 month ago

Sended with reproduction of this issue and also of AdguardTeam/AdGuardVPNForWindows#663

shamarin commented 1 month ago

Why not to make just as Kaspersky do - the separate adapter in device manager (Kaspersky VPN adapter)?

Снимок экрана 2024-04-26 203811
shamarin commented 1 month ago

Adguard doesn't do that even with Wintun turned on in settings.

northis commented 1 month ago

@shamarin Do you have this one when connected via WinTun? image

shamarin commented 1 month ago

@shamarin Do you have this one when connected via WinTun? image

Yes, but if to dissonect any connected VPN server via Adguard when this Wintun driver dissapear from device manager. And in this is the problem because OpenVPN using just the same name and the same Wintun. To resolve incompatibility Wintin tunnel must not dissapear each time when VPN is disconnected and it must use another name for example just as with Kaspersky "Adguard Wintun VPN" or something like this.

shamarin commented 1 month ago

Суть проблемы состоит в том, что OpenVPN и Adguard VPN используют одно и тоже имя драйвера wintun и Adguard как только отключаешь VPN соединение удаляет драйвер (адаптер) как на фото выше из списка адаптеров. Поэтому OpenVPN не может соединиться через Wintun. Поэтому необходимо сделать так чтобы Wintun не исчезал из списка адаптеров как только Adguard отключает VPN соединение и необходимо как у Касперского сделать свое уникальное имя адаптера, например "Adguard Wintun VPN" чтобы не было конфликтов с такими приложениями как OpenVPN

northis commented 1 month ago

Скорее всего дело не в конфликте имён, а в том, что установлен Kaspersky VPN и это каким-то образом ломает подключение. Обратите внимание на этот комментарий в соседней ветке, скорее всего у вас в исключениях не тот процесс Kaspersky VPN.

Поэтому необходимо сделать так чтобы Wintun не исчезал из списка адаптеров как только Adguard отключает VPN соединение

Такое поведение сделано намеренно, в том числе чтобы уменьшить риск конфликтов, когда AdGuard VPN отключён.

shamarin commented 1 month ago

Причем тут Касперский и Wintun OpenPVN??? Если я проверил поэкспериментировав и проблема как раз в одинаковых адаптерах (имя) от OpenVPN и Adguard VPN. Как я и написал выше Adguard как только отключаешь соединение, то Wintun адаптер пропадает из устройств сетевых. Если вручную добавить его через установку адаптера в ручную по типу, то тогда OpenVPN сразу и без проблем соединяется. Поэтому и написал, что надо сделать чтобы адаптер не пропадал при отключении и имя другое дать, чтобы если одновременно подключаешься чтобы IP адрес выдаваемый AdguardVPN не влиял на OpenVPN.

shamarin commented 1 month ago

Скорее всего дело не в конфликте имён, а в том, что установлен Kaspersky VPN и это каким-то образом ломает подключение. Обратите внимание на этот комментарий в соседней ветке, скорее всего у вас в исключениях не тот процесс Kaspersky VPN.

Поэтому необходимо сделать так чтобы Wintun не исчезал из списка адаптеров как только Adguard отключает VPN соединение

Такое поведение сделано намеренно, в том числе чтобы уменьшить риск конфликтов, когда AdGuard VPN отключён.

Так зато OpenVPN тот же самый адаптер использует когда в нём выбрано использовать Wintun (тоже имя и тот же драйвер)

northis commented 4 weeks ago

@shamarin Касперский тут при том, что он мог влиять на ситуацию неявным образом. Можно вас попросить сделать скриншот диспетчера при подключенном OpenVPN? Исчезание адаптера - это общая практика, можете проверить, исчезает ли из списка адаптер OpenVPN при дисконнекте.

shamarin commented 4 weeks ago

@shamarin Касперский тут при том, что он мог влиять на ситуацию неявным образом. Можно вас попросить сделать скриншот диспетчера при подключенном OpenVPN? Исчезание адаптера - это общая практика, можете проверить, исчезает ли из списка адаптер OpenVPN при дисконнекте.

Не исчезает. Я его не использую в конфиге. В конфиге прописано использовать адаптер Wintun, а он исчезает при дисконнекте Adguard VPN. От сюда и проблема, OpenVPN при соедиении и выдает ошибку как раз, что нет ни одного адаптера Wintun.

northis commented 4 weeks ago

OpenVPN должен создавать его каждый раз при подключении. Пожалуйста, пришлите скриншот диспетчера устройств при подключенном OpenVPN.

shamarin commented 4 weeks ago

OpenVPN должен создавать его каждый раз при подключении. Пожалуйста, пришлите скриншот диспетчера устройств при подключенном OpenVPN.

Не создает он, как и Касперский и все остальные. Он всегда остается в диспетчере задач. Исчезновение только у Adguard сделано зачем-то, отсюда и проблема выплывает. А скриншот диспетчера устройств я уже выше присылал.

northis commented 4 weeks ago

В вашем скриншоте выше нет адаптера, имя которого совпадало бы с тем, который использует AdGuardVPN.

shamarin commented 4 weeks ago

В вашем скриншоте выше нет адаптера, имя которого совпадало бы с тем, который использует AdGuardVPN.

Как же нет, я уже писал, что это wintun Tunnel. Adguard VPN его использует и OpenVPN если в OpenVPN конфиге указано использовать Wintun. Wintun так же у меня включен в настройках Adguard VPN, о чем тоже указано.

shamarin commented 4 weeks ago

Еще раз прикладываю скриншоты из диспетчера устройств

Снимок экрана 2024-05-20 155816

На первом фото когда в Adguard VPN выбрана настройка использовать Wintun и после соединения с любым VPN сервером отключится, то драйвер wintun Tunnel исчезает из диспетчера устройств (действие по умолчанию программы Adguard). На втором фото окно соединения OpenVPN, когда в нём тоже стоит настройка использовать Wintun.

Снимок экрана 2024-05-20 155909
shamarin commented 4 weeks ago

Ошибка сама за себя говорит. Если теперь в диспетчере устройств выбрать установить старое устройства, выбрать в списке сетевых адаптеров wintun и установить, то OpenVPN соединится без проблем

Снимок экрана 2024-05-20 160340 Снимок экрана 2024-05-20 160517 Снимок экрана 2024-05-20 160554 Снимок экрана 2024-05-20 160629 Снимок экрана 2024-05-20 160751 Снимок экрана 2024-05-20 160837 Снимок экрана 2024-05-20 160837 Снимок экрана 2024-05-20 160905 Снимок экрана 2024-05-20 161008
shamarin commented 4 weeks ago

Так что никакой Касперский тут не причем, а проблема как я и описал в том что имя адаптера Wintun у Adguard и у OpenVPN одно и тоже, плюс Adguard после разрыва соединения с VPN сервером зачем то удаляет Wintun адаптер из диспетчера устройств, поэтому OpenVPN после этого подключится не может. Поэтому чтобы конфликтов не было предлагают в Adguard VPN для Wintun другое имя адаптера назначить (Adguard VPN wintun например как у Касперского) и не удалять адаптер из диспетчера устройств каждый раз при отключении соединения.

northis commented 4 weeks ago

Как же нет, я уже писал, что это wintun Tunnel.

То есть если подключить только OpenVPN (не включая AdGuard VPN), то адаптер с таким именем (wintun Tunnel) появится в диспетчере устройств? На вашем скриншоте нет адаптера с таким именем.

shamarin commented 4 weeks ago

Как же нет, я уже писал, что это wintun Tunnel.

То есть если подключить только OpenVPN (не включая AdGuard VPN), то адаптер с таким именем (wintun Tunnel) появится в диспетчере устройств? На вашем скриншоте нет адаптера с таким именем.

Я же написал, что его нет после отключения от Adguard VPN. OpenVPN он никогда не исчезает из диспетчера устройств. Если он там есть, то OpenVPN подключается, как только его нет там, то OpenVPN выдает ошибку как на изображении.

shamarin commented 4 weeks ago

Т.е я к тому, что установил я OpenVPN в диспетчере устройств появился адаптер wintun Tunnel. OpenVPN соединяется без проблем через wintun. Установил AdguardVPN, там по умолчанию использование Wintun отключено. Включаешь в Adguard Wintun, подключаешься к любому серверу, отключаешься от сервера. После отключения Wintun Tunnel адаптер исчезает из диспетчера задач. Пытаешься подключиться после этого к OpenVPN и там эта ошибка. Вот что на моих изображениях симметировано, с чем я столкнулся. Ну а далее вручную устанавливаешь через диспетчер устройств wintun Tunnel и сразу OpenVPN подключается. Так понятнее???

northis commented 4 weeks ago

При подключённом OpenVPN адаптер действительно не удаляется при дисконнекте, но имя у него не wintun Tunnel. image

shamarin commented 4 weeks ago

При подключённом OpenVPN адаптер действительно не удаляется при дисконнекте, но имя у него не wintun Tunnel. image

Опять не внимательно прочитали, я указал, что в конфиге подключения к серверу OpenVPN необходимо указать использование Wintun, доступно в OpenVPN начиная с версии 2.4.0 если не ошибаюсь. У вас сейчас используется стандартная схема подключения используя TAP драйвер OpenVPN. Но они советуют использовать Wireguard Wintun. В конфиге необходимо прописать следующее: windows-driver wintun

shamarin commented 4 weeks ago

В OpenVPN по умолчанию TAP драйвер используется для подключений (на скриншоте TAP-Windows Adapter V9)

northis commented 4 weeks ago

Адаптеры OVPN и AG VPN разные image. Проверили отключение AdGuard VPN - пропадает wintun Tunnel, OpenVPN потом нормально подключается, адаптер Wintun Userspace Tunnel на месте. Однако если по какой-то причине Wintun Userspace Tunnel пропадает, то повторяются симптомы, описанные вами. Мы поисследуем на предмет возможной связи с AdGuard VPN. Как временное решение, вы можете принудительно добавить wintun-адаптер Open VPN через ярлык Add a new Wintun virtual network adapter

shamarin commented 3 weeks ago

Адаптеры OVPN и AG VPN разные image. Проверили отключение AdGuard VPN - пропадает wintun Tunnel, OpenVPN потом нормально подключается, адаптер Wintun Userspace Tunnel на месте. Однако если по какой-то причине Wintun Userspace Tunnel пропадает, то повторяются симптомы, описанные вами. Мы поисследуем на предмет возможной связи с AdGuard VPN. Как временное решение, вы можете принудительно добавить wintun-адаптер Open VPN через ярлык Add a new Wintun virtual network adapter

Да, действительно так. Вчера присутствовал Wintun Userspace Tunnel, прописал использовать его в конфиге OpenVPN, но он почему то потом один раз исчез после подключения и отключения Adguard VPN, добавил его опять, пока вроде всё нормально.

shamarin commented 3 weeks ago

После перезагрузки системы при запуске сервера VPN в Adguard он удаляет первый попавшийся wintun адаптер в диспетчере устройств, свой wintun Tunnel не создает. И так несколько раз пока все Wintun userspace Tunnel не удалит. Все видимо лучше реализовать чтобы при отключении Adguard VPN он не удалял wintun адаптер из диспетчера устройств. В обще проблема не решена и сохраняется каждый раз после перезагрузки системы.

shamarin commented 3 weeks ago

И еще в такой ситуации при попытке отключить VPN приложение показывает Отключение, а отключения не происходит. Приходится приложение удалять принудительно через Диспетчер задач

northis commented 2 weeks ago

свой wintun Tunnel не создает

это происходит только при подключении

VPN в Adguard он удаляет первый попавшийся wintun адаптер в диспетчере устройств

если это так, то это баг, проверим

shamarin commented 2 weeks ago

свой wintun Tunnel не создает

это происходит только при подключении

VPN в Adguard он удаляет первый попавшийся wintun адаптер в диспетчере устройств

если это так, то это баг, проверим

свой wintun Tunnel не создает

это происходит только при подключении

VPN в Adguard он удаляет первый попавшийся wintun адаптер в диспетчере устройств

если это так, то это баг, проверим

Это так, проверил несколько раз. Как и писал выше, что создаешь в OpenVPN через консоль несколько Wintun туннелей, в диспетчере устройств они появляются. Сразу после этого если подключать Adguard то он соединяется без проблем и свой включает Wintun в диспетчере. Стоит только перезагрузить систему и сразу потом попробовать соединиться в Adguard с любым VPN, то Adguard удаляет сначала первый Wintun адаптер из диспетчера устройств, который был создан в OpenVPN, потом при попытке отсоединиться от сервера VPN в Adguard он выдает что идет отключение и ничего не происходит. Удаляешь из диспетчера задач его и запускаешь заново и потом он при попытке соединиться опять удаляет последний адаптер Wintun, потом так же зависает при попытке отключится от сервера VPN и вот только после еще одного перезапуска Adguard он соединяется как нужно, но уже только свой адаптер Wintun создает. И тогда уже OpenVPN не может соединиться. Плюс по Wintun соединение очень не стабильное у Adguard, показывает часто что есть соединение спустя какое то время, но на любой веб ресурс не зайди, ошибку браузер соединения выдает. Плюс по Wintun скорость соединения в разы ниже (20-30 Мбит вместо 80-90 Мбит), плюс скорость совсем низкая становится если при этом еще торрент клиент запущен и он активно раздает и принимает данные на раздачах активно. В AdguardTeam/VpnLibs#54 указал об этом. Задумка хорошая, но реализация пока слишком сырая и не пригодна для практического использования.