Технология VPN имеет сразу два достоинства — во-первых, она позволяет обходить региональные ограничения, во-вторых, она повышает конфиденциальность пользователя. А если так, не станет ли соединение еще более безопасным, если VPN-трафик пропустить через другое VPN-соединение? Возможно, хотя на наш взгляд подобное решение является излишеством. К тому же для реализации двойного VPN-подключения вам придется использовать виртуальную машину.
Зачем?
Давайте разбираться.
На один компьютер вы можете установить сколько угодно VPN-клиентов, но если вы попробуете включить их одновременно или один за другим, порядок не имеет значения, то работать будет только первое соединение, тогда как второе скорее всего просто зависнет. Хотя не исключено, что проблемы начнутся уже после установки второго VPN, например, NordVPN может перестать подключаться к серверам, если вы установите на ПК еще один VPN-клиент, инсталлирующий в систему свою фоновую службу.
Причина невозможности установить двойное VPN-соединение проста и связана с тем, как работают VPN-клиенты. Когда вы устанавливаете на компьютер приложение-клиент VPN, в систему устанавливается специальное устройство, именуемое TAP-адаптером. В интерфейсе сетевых подключений такое устройство идентифицируется как сетевой адаптер, не являясь при этом физическим компонентом. TAP-адаптеры — виртуальные и служат они для создания туннелей, виртуальных сетей.
Перед другими адаптерами TAP-адаптеры имеют приоритет, более того, этот приоритет наивысший в системе, в чём легко можно убедиться, выполнив в запущенной от имени администратора консоли PowerShell команду:
Get-NetIPInterface
И посмотрев значение параметра InterfaceMetrix напротив виртуального VPN-адаптера. Поэтому, когда другая программа-клиент пытается создать второе VPN-подключение, возникает конфликт, в результате которого это второе соединение зависает в статусе «Подключение».
Как создать два одновременных VPN-подключения
Обойти это ограничение можно как минимум двумя путями.
Первый способ технически сложен для рядового пользователя, он подразумевает создание и настройку в рамках VPN-сети отдельной подсети с собственным портом и при условии, что в вашей VPN-сети используется протокол OpenVPN.
Второй способ гораздо более прост: используя Oracle VM VirtualBox или другой гипервизор, пользователь создает виртуальную машину с операционной системой и устанавливает на нее второй VPN-клиент, избегая тем самым конфликта ТАР-адаптеров.
Да, такой способ приведет к снижению производительности и сети, и хостового компьютера, но если вы считаете создание такого двойного подключения важным, с этим можно смириться.
А вообще, если хорошо разобраться, двойное туннелирование решение довольно сомнительное.
Если речь идет о безопасности, то что мешает отследить второе подключение, если можно отследить первое?
И если вы не доверяете одному VPN-провайдеру, то какие основания у вас доверять другому?
Впрочем, использование двойного VPN не так уже и бессмысленно. Если вы работаете в корпоративной VPN-сети и не хотите быть отслеживаемыми ее администраторами, создание второго «внутреннего» VPN-подключения наверняка решит вашу проблему.
Загрузка…
OpenVPN можно без преувеличения назвать «народной» технологией для организации виртуальных частных сетей, но мы не будем сейчас перечислять все достоинства данного решения, а поговорим о иных вещах. Очень часто возникает необходимость иметь одновременные соединения сразу с несколькими OpenVPN серверами и нужно это далеко не только админам и прочим техническим специалистам. Но, как оказалось, даже в этой среде не все знают как это сделать, не говоря уже о представителях иных, «мирных», профессий. Поэтому наша сегодняшняя заметка посвящена этому, на первый взгляд простому, вопросу.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
А в чем, собственно, проблема? А в том, что на платформе Windows при установке OpenVPN по умолчанию мы можем иметь только одно активное соединение в один момент времени, при попытке выполнить второе подключение мы получим ошибку:
Но в этом случае даже не нужно ничего искать, причина неудачного соединения написана красным по белому: все TAP-адаптеры в этой системе уже используются. Действительно, при установке OpenVPN в системе создается только один TAP-адаптер. Что делать? Добавить нужное количество адаптеров, по числу необходимых одновременных соединений.
Для этого перейдем в C:Program FilesTAP-Windowsbin, где обнаружим пакетный файл addtap.bat, для добавления в систему еще одного TAP-адаптера следует запустить его с правами Администратора.
Если вам нужно добавить более одного TAP-адаптера — запустите данный файл нужное количество раз. В данной директории также содержится файл deltapall.bat, который позволяет удалить из системы все установленные TAP-адаптеры.
В нашем случае мы добавили два адаптера, что позволило без проблем иметь три одновременных подключения к разным OpenVPN серверам:
Как видим — ничего сложного нет, поэтому надеемся, что данный материал окажется вам полезен и позволит использовать OpenVPN с полной отдачей.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Клиент 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 FilesTAP-Windowsbin”
Запустите файл:
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 FilesTAP-WindowsdriverOemVista.inf. Drivers installed successfully.
После этого в списке сетевых адаптеров Windows появится новое устройство типа TAP-Windows Adapter #2.
Для ручной установки TAP адаптера и драйвера можно использовать команду:
tapinstall.exe install “C:Program FilesTAP-WindowsdriverOemVista.inf” tap0901
Начиная с версии OpenVPN 2.5 для управления TAP адаптерами в Windows нужно использовать утилиту tapctl.exe, которая заменила команду tapinstall.exe из предыдущих версий.
Чтобы добавить новый TAP адаптер, достаточно выполнить команду:
"c:Program FilesOpenVPNbintapctl.exe" create
Если нужно создать TUN адаптер, выполните:
"c:Program FilesOpenVPNbintapctl.exe” create --hwid wintun
WinTun драйвер от разработчиков WireGuard появился в OpenVPN 2.5. Wintun драйвер работает быстрее чем классический OpenVPN драйвер WinTAP.
Вывести список сетевых адаптеров 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 FilesOpenVPNbinopenvpn.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
Чтобы удалить все установленные TAP адаптеры, запустите файл deltapall.bat в этом же каталоге.
Или воспользуйтесь командой:
tapctl.exe delete "OpenVPN TAP-Windows6"
Затем нужно внести изменения в конфигурационный файлы .ovpn ваших клиентских подключений OpenVPN (по умолчанию хранятся в каталоге C:Program FilesOpenVPNconfig). Добавьте в текстовые файлы, следующие параметры:
- 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 из консоли, множественные подключения доступны по-умолчанию.