Клиент OpenVPN в Windows с настройками по-умолчанию поддерживает только одно активное VPN подключение. Если вы при активном VPN подключении попробуете запустить еще одно, появится ошибка:
OpenVPN GUI Connecting to VPNname has failed All TAP-Windows adapters on the system are currently in use TCP/UDP: Socket bind failed on local address [undef]: Address already in use (WSAEADDRINUSE)
При установке OpenVPN в Windows создается только один вертикаль адаптер типа TAP или Wintun. Если вы хотите одновременно подключаться к нескольким OpenVPN серверам, вам нужно создать дополнительные сетевые адаптер WinTAP или WinTUN.
Чтобы исправить эту проблему и разрешить одновременное подключение к двум VPN хостам, нужно добавить еще один виртуальный TAP сетевой адаптер. Каждое VPN подключение при этом будет использовать собственный TAP интерфейс.
Откройте командную строку с правами администратора и перейдите в каталог:
Cd “C:\Program Files\TAP-Windows\bin”
Запустите файл:
addtap.bat
BAT файл запустит программу tapinstall.exe с параметрами. Данная команда установит в Windows еще один сетевой адаптер c драйвером TAP-Windows Adapter V9. Запустите bat файл столько раз, сколько одновременных OpenVPN подключений вы хотите использовать.
Device node created. Install is complete when drivers are installed... Updating drivers for tap0901 from C:\Program Files\TAP-Windows\driver\OemVista.inf. Drivers installed successfully.
После этого в списке сетевых адаптеров Windows появится новое устройство типа TAP-Windows Adapter #2.
tapinstall.exe install “C:\Program Files\TAP-Windows\driver\OemVista.inf” tap0901
Начиная с версии OpenVPN 2.5 для управления TAP адаптерами в Windows нужно использовать утилиту tapctl.exe, которая заменила команду tapinstall.exe из предыдущих версий.
Чтобы добавить новый TAP адаптер, достаточно выполнить команду:
"c:\Program Files\OpenVPN\bin\tapctl.exe" create
Если нужно создать TUN адаптер, выполните:
"c:\Program Files\OpenVPN\bin\tapctl.exe” create --hwid wintun
Вывести список сетевых адаптеров OpenVPN:
tapctl.exe list
{1199219C-C5AD-4722-B195-C80332101710} OpenVPN Wintun {E91285C8-728F-4643-9485-114970074AF7} OpenVPN TAP-Windows {9C5FB378-505E-4F49-8E04-9E862D14024B} OpenVPN Wintun2
Вы можете вывести список сетевых TAP адаптеров, доступных клиенту OpenVPN с помощью команды:
“C:\Program Files\OpenVPN\bin\openvpn.exe” --show-adapters
Available TAP-WIN32 / Wintun adapters [name, GUID, driver]: 'OpenVPN Wintun' {1199219C-C5AD-4722-B195-C80332101710} wintun 'OpenVPN TAP-Windows2' {E91285C8-728F-4643-9485-114970074AF7} tap-windows6 'OpenVPN Wintun2' {9C5FB378-505E-4F49-8E04-9E862D14024B} wintun
Или воспользуйтесь командой:
tapctl.exe delete "OpenVPN TAP-Windows6"
Затем нужно внести изменения в конфигурационный файлы .ovpn ваших клиентских подключений OpenVPN (по умолчанию хранятся в каталоге C:\Program Files\OpenVPN\config). Добавьте в текстовые файлы, следующие параметры:
- nobind – использовать динамических UDP порт источника для каждой VPN сессии
- dev-node ‘OpenVPN TAP-Windows2’ – привязать OpenVPN подключение к конкретному сетевому интерфейсу (указывается имя сетевого адаптера в Window)
При подключении клиент OpenVPN будет привязываться к конкретному интерфейсу. Можно добавить команду подключения к OpenVPN в автозапуск Windows. Дополнительно вы можете назначить статический IP для OpenVPN клиента.
Если не привязать OVPN профили к конкретному сетевому адаптеру, то при попытке создать второе OpenVPN подключении может появится ошибка:
TCP/UDP: Socket bind failed on local address [undef]: Address already in use (WSAEADDRINUSE)
Обратите внимание, что при использовании нескольких OpenVPN подключений сервер должен отправлять вам маршрут к своим подсетям через параметр:
push "route 10.10.10.0 255.255.255.0 10.10.20.1"
Теперь ваш OpenVPN клиент на Windows позволит одновременно запускать два и более активных VPN-подключений. В Linux при подключении к OpenVPN из консоли, множественные подключения доступны по-умолчанию.
1 comment
Добрый день. Используя данный способ, могут ли одновременно несколько пользователей Windows Server подключаться к разным серверам VPN? Давно ищу варианты реализации данной возможности, но в сети мало про это информации((