Home » Полезные советы » Как сделать одновременно несколько openvpn подключений

Как сделать одновременно несколько openvpn подключений

Когда используешь openvpn клиент под windows существует ограничение на подключение только к одному серверу. Это связано с тем, что при установке openvpn создается только 1 tap адаптер, который обслуживает только одно vpn соединение.

Онлайн-курс по устройству компьютерных сетей

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Если при активном соединении попробовать подключиться к еще одному серверу, то получаешь ошибку:

TCP/UDP: Socket bind failed on local address [undef]: Address already in use (WSAEADDRINUSE)

суть которой сводится к тому, что сетевой интерфейс уже занят. Необходимо разорвать существующее соединение и только потом пробовать установить другое.

Как оказалось, обойти данное ограничение очень просто. После установки клиента openvpn  в windows создается папка:

C:\Program Files\TAP-Windows\bin

В этой папке в том числе есть файл addtap.bat. С помощью этого скрипта, запущенного с правами администратора, можно добавить еще один TAP адаптер в систему. Просто кликаете по нему и все. В сетевых подключениях создается еще один адаптер с названием - TAP-Windows Adapter V9 #2:

добавление tap адаптера openvpn

2 tap адаптера openvpn

Теперь нужно в папке

C:\Program Files\OpenVPN\config

Создать для каждого подключения отдельную папку и положить конфиг с сертификатами в нее. При подключении можно выбирать сервер к которому хотите подключиться. При этом подключений может быть столько, сколько вы добавили сетевых адаптеров openvpn:

несколько openvpn подключений

Вот так просто решается задача создания нескольких активных openvpn подключений в windows.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Рекомендую полезные материалы по схожей тематике:

Онлайн-курс по устройству компьютерных сетей.

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

45 комментариев

  1. Владимир

    Ну с подклчениями оно и понятно, а вот можно ли одновременно 2 службы опенвпн поднять на разных портах? udp и tcp

    • В Linux без проблем. Я постоянно это делаю. В Windows не знаю, не пробовал.

      • Николай

        а как на Linux Mint добавить второй тап-адаптер?

        • Его не надо отдельно добавлять. Достаточно в конфиге клиента openvpn указать другое имя, отличное от первого клиента. При подключении он будет сам создан.

  2. Валерий

    Так ( "c:\Program Files\OpenVPN\bin\tapctl.exe" create ) можно добавить адаптер в версии OpenVPN 2.5.3

  3. Ну лично в моем случае не получилось найти волшебный батник которые решает проблему добавления доп. адаптера.
    На сайте нашел инструкцию bit.ly/3bA6EI3

    > tapinstall.exe install
    Device node created. Install is complete when drivers are installed...
    Updating drivers for from C:\Program Files\TAP-Windows\driver\OemVista.inf.
    Drivers installed successfully.

    Notes:

    refers to the driver identifier which is tap0901 for OpenVPN 2.2+, but may be different in older/newer OpenVPN versions.
    is typically OemWin2k.inf (old tap-drivers) or OemVista.inf (newer tap-drivers). You need to specify the full path to this file, e.g.C:\Program Files\TAP-Windows\driver\OemVista.inf.

    By installing multiple times, you will create additional TAP-Windows adapter instances, which can be used for multiple concurrent VPN tunnels. It is also possible to install using Control Panel -> Add New Hardware, and it is possible to uninstall using Control Panel -> System -> Hardware -> Device Manager.

    Окей. Круто. Драйвера там были в папке, поэтому для меня команда вышла вот такая
    tapinstall.exe install ..\driver\OemVista.inf tap0901

    и вывод который говорил что все оке1
    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.

  4. Здравствуйте, уважаемый Zerox !

    Представляете, то о чём мы когда-то говорили, я имею в виду цепочку из нескольких включённых файлов конфигурации, это была самая настоящая цепочка. Я это понял только потом. И вот сегодня мне потребовалось сделать такую цепочку. Я взял Вашу Инструкцию и ...
    И увидел, что OpenVPN уже не версия 2.4, а версия 2.5. И в этой версии этот замечательный способ не работает.
    А как включить несколько файлов конфигурации в версии 2.5 я не знаю. Если Вы, уважаемый Zerox, что-нибудь об этом знаете, то дайте, пожалуйста,
    знать нам, пользователям.

    • Я тоже не знаю. Не пользуюсь этим.

    • Аноним

      Привет, при установке в пуск программы папка с опенвпн( сам запуск был) посмотри там раньше была возможность создать 2 адаптер.

  5. Автор, спасибо за статью. Много полезных разделов на вашем сайте.
    При попытке подключения с одного компа к двум разным pptp серверам подключение возможно только одно. Приходится отключаться и чередовать подключения. Проблема понял так же в отсутствии свободного адаптера - как вы и описали. Подскажите - возможно ли 2 pptp подключения одновременно ?

    • Для pptp такого ограничения нет. Я могу подключиться по двум pptp соединениям одновременно. Та возможны проблемы с маршрутами, если они пересекаются.

  6. Здравствуйте. Новый openvpn устанавливает в систему новое устройство - OpenVPN Wintun. Это устройство, как заявлено, способно увеличить скорость передачи шифрованных данных. Но, нигде не написано, как сделать так, чтобы openvpn использовало именно его, а не OpenVPN TUP, как сейчас. Не могли бы разместить на своем сайте информацию, если вы конечно разбираетесь в этом вопросе.

    Спасибо.

    • Пока еще не разбирался с этим вопросом, но надо будет заняться.

      • Здравствуйте. Я включил его. Скорость увеличилась в 2 раза. То есть, у меня 100 мегабит, openvpn максимум выжимал 30 мегабит. Сейчас с этим wintun поднимается выше 60 мегабит. К сожалению, я не могу написать здесь решение. Причина - отказ в помощи с вашей стороны. Все мои вопросы оставались без ответа. Прощайте.

        • А я, когда писал материалы сайта, в том числе и эту статью, которую вы комментируете и свободно читаете, ничего не требовал от читателей. Это так, информация к размышлению.

  7. Здравствуйте. А как объединить несколько VPN серверов в один? То есть, клиент на ПК 1, но он подключается к нескольким серверам одновременно? Аналогичным способом пытался, но второй не подключается. Что-то с tap проблемы.

    • Так в этом и смысл добавления нескольких сетевых интерфейсов для openvpn. Вы должны получить возможность подключаться к нескольким vpn серверам одновременно. Если этого не происходит, разбирайтесь с ошибкой.

      • Попробую разобраться. Но сейчас проблема - отсутствует папка Tap-Windows. Была, но после установки новой версии openvpn исчезла. Есть другой способ добавления еще одного tap?

      • В общем, новая версия openvpn не создает папку Tap-Windows. Пришлось поставить старую версию. Но в любом случае два одновременно подключения не удалось реализовать. Вот такая ошибка -

        Thu Nov 05 13:31:07 2020 TAP-Windows Adapter V9 #5
        Thu Nov 05 13:31:07 2020 Index = 42
        Thu Nov 05 13:31:07 2020 GUID = {C078CCEE-516F-4CB1-81B9-15D577C70F71}
        Thu Nov 05 13:31:07 2020 IP = 0.0.0.0/0.0.0.0
        Thu Nov 05 13:31:07 2020 MAC = xxxxxxxxxxxxxxxx
        Thu Nov 05 13:31:07 2020 GATEWAY = 0.0.0.0/255.255.255.255
        Thu Nov 05 13:31:07 2020 DHCP SERV =
        Thu Nov 05 13:31:07 2020 DHCP LEASE OBTAINED = Thu Nov 05 13:31:07 2020
        Thu Nov 05 13:31:07 2020 DHCP LEASE EXPIRES = Thu Nov 05 13:31:07 2020
        Thu Nov 05 13:31:07 2020 DNS SERV =
        Thu Nov 05 13:31:07 2020 Initialization Sequence Completed With Errors ( see http://openvpn.net/faq.html#dhcpclientserv )
        Thu Nov 05 13:31:07 2020 MANAGEMENT: >STATE:1604575867,CONNECTED,ERROR,10.8.0.2,xxxxxxxxxxxx,1194,,

        Можете помочь?

  8. А вот такой вопрос возник. Допустим есть у меня 2 tap-адаптера и два конфига. Как указать что вот этот конфиг к этому адаптеру, а вон тот конфиг - вон к тому? Потому как со стороны операционки и дальнейших сервисов настройки этих адаптеров сильно различаются

  9. Александр

    Разобрался , накосячил в сертификатах клиентов, но ONO выдавло одинаковый адрес! Вот в чем прикол

  10. Александр

    Так и я уверен, что не должен. Тем не менее выдает и ничто не ругается. Зщ крайней мере пингуется с обеих и шлюз и сервер

  11. Александр

    Извините, но вопрос такой: клиенты получают один адрес? то есть сервер Openvpn выдает одинаковый адрес , как минимум 2 тестовым клиентам тоже openvpn под Windows. Пробовла менять диапазон в тоннеле, из другого диапазона все равно выдает идентичный. Как с этим бороться ?

    • Не понимаю вопроса. Разным пользователям сервер не должен выдавать один и тот же адрес. Я даже не знаю, как это принудительно сделать. Если только самому в конфигах пользователей указать одинаковые адреса. Но очевидно, что в этом случае работать нормально не будут эти клиенты.

  12. Аноним

    Спасибо чел!!!

  13. Макисм

    а как сделать что бы любой пользователь рдп мог поднять свое личное соеденение? заблокировано все кроме одного впн сервера. нужно что бы каждый пользователь rdp мог прокинуть свой rdp, TAPинтерфейсов на всех хватает. на данный момент елси один пробрасывает то все работают через него, если кто то поднимает второй впн, то все идут через второй, но и тот кто поднимал первый, тоже весь трафик идет через второй.
    очень нужно разделить пользователям vpn

    • Не уверен, что это возможно технически. Я не слышал, чтобы можно было дефолтный маршрут системы каждому пользователю ставить свой.

  14. Андрей

    Поэтому и написал, а то всю голову сломал, где только не искал, а оказалось на поверхности

  15. Андрей

    Подскажите пожалуйста как решить задачку - две OpenVPN client службы на Windows?
    Сейчас на виндовом серваке отлично автоматически поднимается один туннель, но возникла необходимость во втором, никак не могу это реализовать. Вручную поднять два соединения при помощи дополнительного TAP-интерфейса никаких проблем не вызывает, оба поднимаются, но это не вариант, т.к. нужно чтобы служба сама запускала их, а тут проблема - второй конфиг она не принимает.

    • Андрей

      Отвечаю сам себе, т.к. мне на другой площадке уже помогли - все что нужно, это поместить обе конфигурации с ключами в папку config без подпапок, а также ес-но необходимое количество TAP-интерфейсов, при запуске службы автоматически запускаются все конфигурации и их должно быть меньше или равно количеству интерфейсов.

      • Спасибо за информацию. Так и думал, что это как-то просто должно решаться, как и все в openvpn.

      • можете немного развернуть ответ для ламера?
        создал второй tap-win-adapter
        добавил в папку config вторую группу файлов с ключами. но при этом часть файлов имеет разные имена, а часть одинаковые, как быть?
        может быть надо эту часть файлов переименовать и где-то руками прописать? подскажите плз если не трудно

        • Да, все повторяющиеся названия переименуйте в уникальные и не забудьте потом эти же названия файлов переименовать в самих файлах конфигурации.

          То есть у вас для подключения идет комплект в виде файла конфигурации и файлов сертификатов. Имена файлов сертификатов прописаны в конфигурации. Сделайте все имена уникальные.

  16. Здравствуйте !

    Статья хорошая. Спасибо автору. Сделал всё, как Вы написали. Всё получилось. Но я до конца не понял, как два подключения OpenVPN соединяются между собой. Мне бы хотелось, чтобы из этих подключений получилась цепочка, как в Tor Browser-е.
    Когда я проверяю своё подключение из двух файлов конфигурации на сайте: https://whoer.net/ru
    Я вижу, что один файл конфигурации показывает IP-адрес страны, на которую он настроен, а другой файл конфигурации показывает DNS. Но это на цепочку мало похоже. Это больше напоминает винегрет
    из разных огрызков. А как получить цепочку ?

    С уважением, spb304

    • Я даже не знаю, как создать цепочку. Данное руководство к цепочке не имеет никакого отношения и ее не построит. Оно решает другую задачу. Для построения цепочки vpn подключений, надо продумать и организовать правильно маршруты на своем компьютере. Я никогда не пробовал это сделать.

      • Здравствуйте, Zerox !

        Вы пишете "Оно решает другую задачу".
        А какую задачу оно решает ?
        Допустим, я создал два TAP-адаптера и вставил в папку "config"
        два файла конфигурации. Я пробовал файлы конфигурации вставлять
        по разному. Пробовал оба файла вставлять в общую папку "config".
        Пробовал в общей папке "config" делать две папки: "config 1" и "config 2".
        Результат всегда один и тот же. Всё прекрасно подключается.
        Но я никак не могу взять в толк, как эти два соединения подключаются между собой.
        Если Вы, уважаемый Zerox знаете, то подскажите пожалуйста.
        Если сможете сделать рисунок, это будет совсем замечательно.
        Заранее благодарю.

        • Я до конца не понимаю, что вы хотите сделать. Говорите о цепочке vpn подключений, но при этом остаетесь в рамках одного компьютера и пытаетесь как-то конфигурации менять местами.

          Как я понимаю, чтобы получилась цепочка vpn соединений, вы должны своим компьютером подключиться по vpn к серверу, на котором выход в интернет будет настроен через другое vpn соединение.

          В таком случае у вас получится цепочка выхода в интернет через 2 vpn соединения. Как это вы себе представляете цепочку в рамках одного компьютера, я не понимаю.

          • Недавно я научился делать цепочки из Прокси. Я хочу использовать VPN, Тор, Прокси, в общем всё то, что в Интернете обеспечивает честному человеку максимальную безопасность.
            Хочу создать такой запутанный клубок соединений, который распутать смог бы только я.
            А если это попытается сделать кто-то другой, то у него должно на распутывание уйти столько времени, что он сам откажется от этой затеи.
            У меня на компьютере ещё установлена Виртуальная машина VirtualBox. Может быть и её как-то задействовать ? Думаю она в таком деле будет нелишней.
            Так что, если Вы Zerox, в этом можете мне помочь, буду Вам очень признателен.

  17. Огромаднейшее спасибо автору!!! Долгых лет жизни и процветания Вам, добрый человек. Вы себе даже не представляете как выручила меня ваша статья.

    З.Ы. Несколько ремарок:
    1) даже если разкидать фали .ovpn по разным подпапкам у них всеравно должны быть разные имена.
    2) "Создать для каждого подключения отдельную папку и положить конфиг с сертификатами в нее." Справедливо только для ручного подключения. Если иcпользуется служба OpenVPN Service все файлы конфигурации и сертификати должны лежать в одной папке .\OpenVPN\config. Даная служба с подпапками работать не умеет.

    Ещё раз огромное спасибо автору!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar