OpenVPN – это набор open source программ, который заслуженно является одним из самых популярных и легких решений для реализации защищенной VPN сети. OpenVPN позволяет объединить в единую сеть сервер и клиентов (даже находящиеся за NAT или файерволами), или объединить сети удаленных офисов. Серверную часть OpenVPN можно развернуть практически на всех доступных операционных системах (пример настройки OpenVPN на Linux). Вы можете установить OpenVPN сервер даже на обычный компьютер с десктопной редакцией Windows 10.
В этой статье, мы покажем, как установить OpenVPN сервер на компьютер с Windows 10, настроить OpenVPN клиент на другом Windows хосте и установить защищенное VPN подключение.
Содержание:
- Установка службы OpenVPN сервера в Windows
- Создаем ключи шифрования и сертификаты для OpenVPN
- Конфигурационный файл OpenVPN сервера в Windows
- Настройка OpenVPN клиента в Windows
Установка службы OpenVPN сервера в Windows
Скачайте MSI установщик OpenVPN для вашей версии Windows с официального сайта (https://openvpn.net/community-downloads/). В нашем случае это OpenVPN-2.5.5-I602-amd64.msi (https://swupdate.openvpn.org/community/releases/OpenVPN-2.5.5-I602-amd64.msi).
Запустите установку.
Если вы планируете, OpenVPN сервер работал в автоматическом режиме, можно не устанавливать OpenVPN GUI. Обязательно установите OpenVPN Services.
Начиная с версии OpenVPN 2.5, поддерживается драйвер WinTun от разработчиков WireGuard. Считается, что этот драйвер работает быстрее чем классический OpenVPN драйвер TAP. Установите драйвер Wintun, откажитесь от установки TAP-Windows6.
Установите OpenSSL утилиту EasyRSA Certificate Management Scripts.
Запустите установку.
По умолчанию OpenVPN устаналивается в каталог C:\Program Files\OpenVPN.
После окончания установки появится новый сетевой адаптер типа Wintun Userspace Tunnel. Этот адаптер отключен, если служба OpenVPN не запущена.
Создаем ключи шифрования и сертификаты для OpenVPN
OpenVPN основан на шифровании OpenSSL. Это означает, что для обмена трафиком между клиентом и серверов VPN нужно сгенерировать ключи и сертификаты с использованием RSA3.
Откройте командную строку и перейдите в каталог easy-rsa:
cd C:\Program Files\OpenVPN\easy-rsa
Создайте копию файла:
copy vars.example vars
Откройте файл vars с помощью любого текстового редактора. Проверьте пути к рабочим директориям.
Обязательно поправьте переменную EASYRSA_TEMP_DIR следующим образом:
set_var EASYRSA_TEMP_DIR "$EASYRSA_PKI/temp"
Можете заполнить поля для сертификатов (опционально)
set_var EASYRSA_REQ_COUNTRY "RU" set_var EASYRSA_REQ_PROVINCE "MSK" set_var EASYRSA_REQ_CITY "MSK" set_var EASYRSA_REQ_ORG "IT-Company" set_var EASYRSA_REQ_EMAIL " [email protected] " set_var EASYRSA_REQ_OU " IT department "
Срок действия сертификатов задается с помощью:
#set_var EASYRSA_CA_EXPIRE 3650 #set_var EASYRSA_CERT_EXPIRE 825
Сохраните файл и выполните команду:
EasyRSA-Start.bat
Следующие команды выполняются в среде EasyRSA Shell:
Инициализация PKI:
./easyrsa init-pki
Должна появится надпись:
init-pki complete; you may now create a CA or requests. Your newly created PKI dir is: C:/Program Files/OpenVPN/easy-rsa/pki
Теперь нужно сгенерировать корневой CA:
./easyrsa build-ca
Задайте дважды пароль для CA:
CA creation complete and you may now import and sign cert requests.
Данная команда сформировала:
- Корневой сертификат центра сертификации: «C:\Program Files\OpenVPN\easy-rsa\pki\ca.crt»
- Ключ центра сертификации «C:\Program Files\OpenVPN\easy-rsa\pki\private\ca.key»
Теперь нужно сгенерировать запрос сертификата и ключ для вашего сервера OpenVPN:
./easyrsa gen-req server nopass
Утилита сгенерирует два файла:
req: C:/Program Files/OpenVPN/easy-rsa/pki/reqs/server.req key: C:/Program Files/OpenVPN/easy-rsa/pki/private/server.key
Подпишем запрос на выпуск сертификата сервера с помощью нашего CA:
./easyrsa sign-req server server
Подтвердите правильность данных, набрав yes.
Затем введите пароль CA от корневого CA.
В каталоге issued появится сертификат сервера («C:\Program Files\OpenVPN\easy-rsa\pki\issued\server.crt»)
Теперь можно создать ключи Диффи-Хеллмана (займет длительное время):
./easyrsa gen-dh
Для дополнительной защиты VPN сервера желательно включить tls-auth. Данная технология позволяет использовать подписи HMAC к handshake-пакетам SSL/TLS, инициируя дополнительную проверку целостности. Пакеты без такой подписи будут отбрасываться VPN сервером. Это защитит вас от сканирования порта VPN сервера, DoS атак, переполнения буфера SSL/TLS.
Сгенерируйте ключ tls-auth:
cd C:\Program Files\OpenVPN\bin
openvpn --genkey secret ta.key
Должен появиться файл «C:\Program Files\OpenVPN\bin\ta.key». Переместите его в каталог C:\Program Files\OpenVPN\easy-rsa\pki
Теперь можно сформировать ключи для клиентов OpenVPN. Для каждого клиента, который будет подключаться к вашему серверу нужно создать собственные ключи.
Есть несколько способов генерации ключей и передачи их клиентам. В следующем примере, мы создадим на сервере ключ клиента и защитим его паролем:
./easyrsa gen-req kbuldogov
./easyrsa sign-req client kbuldogov
Данный ключ («C:\Program Files\OpenVPN\easy-rsa\pki\private\kbuldogov.key») нужно передать клиенту и сообщить пароль. Клиент может снять защиту паролем для ключа:
openssl rsa -in "C:\Program Files\OpenVPN\easy-rsa\pki\private\kbuldogov.key"-out "C:\Program Files\OpenVPN\easy-rsa\pki\private\kbuldogov_use.key"
Если вы хотите сгенерировать ключ, не защищенный паролем, нужно выполнить команду:
./easyrsa gen-req имяклиента nopass
На сервере с OpenVPN вы можете создать неограниченное количество ключей и сертификатов для пользователей. Аналогичным образом сформируйте ключи и сертфикаты для других клиентов.
Вы можете отохвать скомпрометированные сертификаты клиентов:
cd C:\Program Files\OpenVPN\easy-rsa
EasyRSA-Start.bat
./easyrsa revoke kbuldogov
Итак, мы сгенерировали набор ключей и сертификатов для OpenVPN сервера. Теперь можно настроить и запустить службу OpenVPN.
Конфигурационный файл OpenVPN сервера в Windows
Скопируйте типовой конфигурационный файл OpenVPN сервера:
copy "C:\Program Files\OpenVPN\sample-config\server.ovpn" "C:\Program Files\OpenVPN\config-auto\server.ovpn"
Откройте файл server.ovpn в любом текстовом редакторе и внесите свои настройки. Я использую следующий конфиг для OpenVPN:
# Указываем порт, протокол и устройство port 1194 proto udp dev tun # Указываем пути к сертификатам сервера ca "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\ca.crt" cert "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\issued\\server.crt" key "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\private\\server.key" dh "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\dh.pem" # Указываем настройки IP сети, адреса из которой будет будут получать VPN клиенты server 10.24.1.0 255.255.255.0 #если нужно разрешить клиентам подключаться под одним ключом, нужвно включить опцию duplicate-cn (не рекомендуется) #duplicate-cn # TLS защита tls-auth "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\ta.key" 0 cipher AES-256-GCM # Другая параметры keepalive 20 60 persist-key persist-tun status "C:\\Program Files\\OpenVPN\\log\\status.log" log "C:\\Program Files\\OpenVPN\\log\\openvpn.log" verb 3 mute 20 windows-driver wintun
Сохраните файл.
OpenVPN позволяет использовать как TCP, так и UDP для подключения. В этом примере я запустил OpenVPN на 1194 UDP. Рекомендуется использовать протокол UDP, это оптимально как с точки зрения производительности, так и безопасности.
Не забудьте открыть на файерволе порты для указанного вами порта OpenVPN на клиенте и на сервере. Можно открыть порты в Windows Defender с помощью PowerShell.
Правило для сервера:
New-NetFirewallRule -DisplayName "AllowOpenVPN-In" -Direction Inbound -Protocol UDP –LocalPort 1194 -Action Allow
Правило для клиента:
New-NetFirewallRule -DisplayName "AllowOpenVPN-Out" -Direction Outbound -Protocol UDP –LocalPort 1194 -Action Allow
Теперь нужно запустить службу OpenVPN и изменить тип ее запуска на автоматический. Воспользуйтесь таким командами PowerShell, чтобы включить службу:
Set-Service OpenVPNService –startuptype automatic –passthru
Get-Service OpenVPNService| Start-Service
Откройте панель управления, и убедитесь, что виртуальный сетевой адаптер OpenVPN Wintun теперь активен. Если нет, смотрите лог «C:\Program Files\OpenVPN\log\server.log»
Если при запуске OpenVPN вы видите в логе ошибку:
Options error: In C:\Program Files\OpenVPN\config-auto\server.ovpn:1: Maximum option line length (256) exceeded, line starts with..
Смените в файле server.ovpn символы переноса строки на Windows CRLF (в notepad++ нужно выбрать Edit -> EOL Conversion -> Windows CR LF). Сохраните файл, перезапустите службу OpevVPNService.
Данный конфиг позволит удаленным клиентам получить доступ только к серверу, но другие компьютеры и сервисы в локальной сети сервера для них недоступны. Чтобы разрешить клиентам OpenVPN получить доступ к внутренней сети нужно:
Включить опцию IPEnableRouter в реестре (включает IP маршрутизацию в Windows, в том числе включает маршрутизацию меду сетями Hyper-V): reg add «HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters» /v IPEnableRouter /t REG_DWORD /d 1 /f
Добавьте в конфгурационный файл сервера OpenVPN маршруты до внутренней IP сети:
push "route 10.24.1.0 255.255.255.0" push "route 192.168.100.0 255.255.255.0"
Если нужно, назначьте клиенту адреса DNS серверов:
push "dhcp-option DNS 192.168.100.11" push "dhcp-option DNS 192.168.100.12"
Если нужно завернуть все запросы клиента (в том числе Интернет трафик) на ваш OpenVPN сервер, добавьте опцию:
push "redirect-gateway def1"
Настройка OpenVPN клиента в Windows
Создайте на сервере шаблонный конфигурационный файла для клиента VPN (на базе iшаблона client.ovpn) со следующими параметрами (имя файла kbuldovov.ovpn)
client dev tun proto udp remote your_vpn_server_address 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert kbuldogov.crt key kbuldogov.key remote-cert-tls server tls-auth ta.key 1 cipher AES-256-GCM connect-retry-max 25 verb 3
В директиве remote указывается публичный IP адрес или DNS имя вашего сервера OpenVPN.
Скачайте и установите клиент OpenVPN Connect для Windows (https://openvpn.net/downloads/openvpn-connect-v3-windows.msi).
Теперь на компьютер с клиентом OpenVPN нужно с сервера скопировать файлы:
- ca.crt
- kbuldogov.crt
- kbuldogov.key
- dh.pem
- ta.key
- kbuldogov.ovpn
Теперь импортируйте файл с профилем *.ovpn и попробуйте подключиться к вашему VPN серверу.
Если все настроено правильно, появится такая картинка.
Проверьте теперь лог OpenVPN на клиенте «C:\Program Files\OpenVPN Connect\agent.log»
Mon Dec 27 08:09:30 2021 proxy_auto_config_url Mon Dec 27 08:09:31 2021 TUN SETUP TAP ADAPTERS: guid='{25EE4A55-BE90-45A0-88A1-8FA8FEF24C42}' index=22 name='Local Area Connection' Open TAP device "Local Area Connection" PATH="\\.\Global\{25EE4A55-BE90-45A0-88A1-8FA8FEF24C42}.tap" SUCCEEDED TAP-Windows Driver Version 9.24 ActionDeleteAllRoutesOnInterface iface_index=22 netsh interface ip set interface 22 metric=1 Ok. netsh interface ip set address 22 static 10.24.1.6 255.255.255.252 gateway=10.24.1.5 store=active IPHelper: add route 10.24.1.1/32 22 10.24.1.5 metric=-1
Клиент успешно подключится к OpenVPN серверу и получил IP адрес 10.24.1.6.
Проверьте теперь лог на сервере («C:\Program Files\OpenVPN\log\openvpn.log»). Здесь также видно, что клиент с сертификатом kbuldogov успешно подключится к вашему серверу.
2021-12-27 08:09:35 192.168.13.202:55648 [kbuldogov] Peer Connection Initiated with [AF_INET6]::ffff:192.168.13.202:55648 2021-12-27 08:09:35 kbuldogov/192.168.13.202:55648 MULTI_sva: pool returned IPv4=10.24.1.6, IPv6=(Not enabled) 2021-12-27 08:09:35 kbuldogov/192.168.13.202:55648 MULTI: Learn: 10.24.1.6 -> kbuldogov/192.168.13.202:55648 2021-12-27 08:09:35 kbuldogov/192.168.13.202:55648 MULTI: primary virtual IP for kbuldogov/192.168.13.202:55648: 10.24.1.6
Tap Windows Adapter V9 является виртуальным сетевым адаптером, который часто используется при установке и настройке VPN-подключений. Он позволяет обеспечить безопасное и зашифрованное соединение с интернетом, обходя преграды и ограничения, накладываемые провайдерами и государственными органами.
Настройка TAP Windows Adapter V9 может показаться сложной задачей для тех, кто впервые сталкивается с таким виртуальным адаптером. Однако с помощью данной подробной инструкции вы сможете быстро и легко настроить Tap Windows Adapter V9 на своем устройстве.
Шаг первый: скачайте и установите последнюю версию TAP Windows Adapter V9 с официального сайта разработчика. Проверьте, совместима ли эта версия с вашей операционной системой. Установите драйвер, следуя инструкциям на экране. После завершения установки перезагрузите компьютер.
Шаг второй: откройте панель управления Windows и найдите раздел «Сеть и интернет». Затем перейдите в «Центр управления сетями и общим доступом». В открывшемся окне выберите «Изменить настройки адаптера». В появившемся списке найдите Tap Windows Adapter V9 и кликните правой кнопкой мыши по его значку. Выберите «Свойства» и перейдите на вкладку «Сеть».
Шаг третий: настройте свойства Tap Windows Adapter V9. Если вы используете VPN-сервис, укажите IP-адрес сервера и порт, а также другие необходимые настройки. Если вы не знакомы с адресами серверов, обратитесь к поставщику VPN или найдите их в его документации. Если же вы используете этот адаптер для других целей, убедитесь, что все необходимые опции включены. Нажмите «ОК», чтобы сохранить изменения.
После завершения этих трех простых шагов ваш Tap Windows Adapter V9 будет настроен и готов к использованию. В случае возникновения проблем с подключением или настройкой, обратитесь за помощью к специалистам или воспользуйтесь документацией, предоставленной разработчиками программы или VPN-сервиса.
Содержание
- Установка Tap Windows Adapter V9: шаг за шагом
- Настройка Tap Windows Adapter V9: основные моменты
- Ответы на часто задаваемые вопросы о настройке Tap Windows Adapter V9
- Преимущества и возможности Tap Windows Adapter V9
- Типичные проблемы при настройке Tap Windows Adapter V9: решение
Установка Tap Windows Adapter V9: шаг за шагом
Следуйте этим простым инструкциям, чтобы установить Tap Windows Adapter V9:
- Откройте веб-браузер и перейдите на сайт разработчика OpenVPN.
- На главной странице найдите и нажмите на ссылку «Загрузки».
- На странице загрузок найдите раздел «OpenVPN GUI», выберите соответствующую операционную систему и нажмите на ссылку «Скачать».
- Дождитесь окончания загрузки файлов инсталляции.
- Запустите установщик OpenVPN GUI и следуйте инструкциям мастера установки. Убедитесь, что опция «Установить TAP Virtual Ethernet Adapter» выбрана.
- Дождитесь завершения установки. После этого Tap Windows Adapter V9 будет установлен на ваш компьютер.
Теперь у вас должна быть установлена последняя версия Tap Windows Adapter V9. Вы готовы использовать его вместе с OpenVPN для безопасного подключения к сети VPN.
Настройка Tap Windows Adapter V9: основные моменты
Ниже мы рассмотрим основные моменты настройки Tap Windows Adapter V9:
1. Открытие окна «Сетевые подключения». Нажмите на кнопку «Пуск» в левом нижнем углу экрана, введите «Сетевые подключения» в поле поиска и выберите соответствующий пункт в списке результатов поиска.
2. Настройка свойств адаптера. Найдите в списке адаптеров «Tap Windows Adapter V9» и щелкните правой кнопкой мыши на него. В контекстном меню выберите опцию «Свойства».
3. Изменение настроек безопасности. В открывшемся окне «Свойства Tap Windows Adapter V9» перейдите на вкладку «Безопасность». Здесь вы можете настроить уровень шифрования, ключи безопасности и другие параметры. Убедитесь, что выбранные настройки соответствуют требованиям вашей виртуальной сети.
4. Переустановка драйвера адаптера. Если вы столкнулись с проблемами при использовании Tap Windows Adapter V9, попробуйте переустановить его драйвер. Для этого вернитесь в окно «Свойства Tap Windows Adapter V9», перейдите на вкладку «Драйвер» и нажмите кнопку «Обновить драйвер».
5. Перезапуск компьютера. После завершения настройки и изменения настроек Tap Windows Adapter V9 рекомендуется перезапустить компьютер, чтобы изменения вступили в силу.
Следуя вышеуказанным шагам, вы сможете настроить Tap Windows Adapter V9 и решить возникшие проблемы. Помните, что изменение настроек сетевых адаптеров требует тщательного подхода и соблюдения рекомендаций производителей программного обеспечения.
Ответы на часто задаваемые вопросы о настройке Tap Windows Adapter V9
Вопрос 1: Зачем мне настраивать Tap Windows Adapter V9?
Ответ: Tap Windows Adapter V9 является виртуальным сетевым адаптером, который используется для работы с VPN-подключениями. Настройка Tap Windows Adapter V9 позволяет корректно использовать VPN-соединение и обеспечивает защищенное подключение к интернету.
Вопрос 2: Как настроить Tap Windows Adapter V9?
Ответ: Для начала настройки Tap Windows Adapter V9 необходимо открыть меню «Пуск» и выбрать «Панель управления». Затем выберите «Устройства и принтеры» и найдите в списке «Tap Windows Adapter V9». Щелкните правой кнопкой мыши по адаптеру и выберите «Свойства». В открывшемся окне выберите вкладку «Драйвер» и кликните на кнопку «Обновить драйвер». Следуйте инструкциям на экране для завершения настройки.
Вопрос 3: Мне понадобится лицензионный ключ для настройки Tap Windows Adapter V9?
Ответ: Нет, для настройки Tap Windows Adapter V9 не требуется лицензионный ключ. Этот адаптер является частью общесистемного программного обеспечения и доступен бесплатно.
Вопрос 4: Как узнать, что Tap Windows Adapter V9 настроен правильно?
Ответ: После завершения настройки и обновления драйверов Tap Windows Adapter V9, вы можете проверить его правильную работу. Для этого откройте «Панель управления» и перейдите в раздел «Сеть и интернет». В этом разделе выберите «Центр управления сетями и общим доступом» и убедитесь, что Tap Windows Adapter V9 отображается в списке активных сетевых подключений. Если адаптер присутствует и отображается как «Подключено», значит, настройка Tap Windows Adapter V9 прошла успешно.
Вопрос 5: Что делать, если Tap Windows Adapter V9 не работает после настройки?
Ответ: Если Tap Windows Adapter V9 не работает после настройки, попробуйте следующие действия:
— Перезапустите компьютер и проверьте, работает ли адаптер после перезагрузки.
— Проверьте, что вы используете последнюю версию драйверов для Tap Windows Adapter V9. Если необходимо, обновите драйверы.
— Проверьте наличие конфликтов с другими сетевыми адаптерами или программами VPN, и при необходимости отключите или удалите их.
— Свяжитесь с поддержкой программы VPN, если проблема сохраняется. Они могут помочь вам с дополнительными инструкциями и решением проблемы с Tap Windows Adapter V9.
Преимущества и возможности Tap Windows Adapter V9
1. Безопасное подключение к интернету: Tap Windows Adapter V9 позволяет устанавливать защищенное подключение к интернету с использованием VPN-сервера. Это обеспечивает конфиденциальность и безопасность для пользователей, позволяя им общаться и обмениваться данными в надежной среде.
2. Обход географических ограничений: Tap Windows Adapter V9 позволяет пользователям обходить географические ограничения и получать доступ к содержимому, которое в противном случае было бы недоступно. Это особенно полезно для доступа к заблокированным сайтам или сервисам, а также для потокового просмотра видео или музыки.
3. Анонимность в сети: При подключении к интернету через Tap Windows Adapter V9 пользователи получают анонимный IP-адрес, который позволяет им скрыть свою реальную локацию и личную информацию. Это защищает их от нежелательного отслеживания, мониторинга активности и неправомерного доступа к их данным.
4. Защита от шпионажа: Использование Tap Windows Adapter V9 помогает предотвратить шпионаж и перехват информации. VPN-сервер шифрует все данные перед отправкой через интернет, что делает их недоступными для третьих лиц, в том числе злоумышленников и хакеров.
5. Повышение безопасности Wi-Fi: Так как Tap Windows Adapter V9 создает защищенное подключение, оно также помогает повысить безопасность Wi-Fi соединений. Это особенно важно при использовании общедоступных Wi-Fi сетей, таких как в аэропортах, кафе или гостиницах, где возможно большее воздействие со стороны злоумышленников.
Все эти преимущества и возможности делают Tap Windows Adapter V9 замечательным инструментом для обеспечения безопасности и конфиденциальности при подключении к интернету через VPN-сервер в операционной системе Windows.
Типичные проблемы при настройке Tap Windows Adapter V9: решение
При настройке Tap Windows Adapter V9 могут возникать некоторые распространенные проблемы, но большинство из них можно легко решить. Вот некоторые из них:
- Отсутствует драйвер Tap Windows Adapter V9
- Перейдите на официальный веб-сайт разработчика и загрузите последнюю версию драйвера Tap Windows Adapter V9.
- Установите драйвер, следуя инструкциям на экране.
- Перезагрузите компьютер после установки драйвера.
- Неправильные настройки Tap Windows Adapter V9
- Перейдите в «Панель управления» и выберите «Сеть и интернет».
- Нажмите на «Адаптеры» и найдите Tap Windows Adapter V9 в списке адаптеров.
- Щелкните правой кнопкой мыши на Tap Windows Adapter V9 и выберите «Свойства».
- Убедитесь, что все параметры настройки Tap Windows Adapter V9 установлены правильно.
- Ошибки при подключении к Tap Windows Adapter V9
- Перезапустите вашу сетевую связь, отключив и снова включив ее.
- Удалите Tap Windows Adapter V9 и повторно установите драйвер.
- Проверьте, что ваша операционная система и все программное обеспечение обновлены до последних версий.
- Проверьте настройки вашего брандмауэра и антивирусного программного обеспечения, чтобы убедиться, что они не блокируют подключение к Tap Windows Adapter V9.
- Tap Windows Adapter V9 не работает после обновления системы
- Посетите веб-сайт разработчика и загрузите последнюю версию драйвера Tap Windows Adapter V9, совместимую с вашей операционной системой.
- Установите новый драйвер, следуя инструкциям на экране.
- Перезагрузите компьютер после установки драйвера.
Если вы обнаружили, что у вас отсутствует драйвер Tap Windows Adapter V9, вам нужно выполнить следующие действия:
Если у вас возникли проблемы с настройками Tap Windows Adapter V9, вам следует проверить следующее:
Если вы столкнулись с ошибками при подключении к Tap Windows Adapter V9, вот что можно попробовать:
Если Tap Windows Adapter V9 перестал работать после обновления вашей операционной системы, вам может потребоваться обновить драйвер:
Если после выполнения этих решений проблемы с Tap Windows Adapter V9 не исчезли, вам может потребоваться обратиться в службу поддержки производителя для получения более подробной помощи.
Время на прочтение
14 мин
Количество просмотров 29K
В этой статье я хочу рассказать о полученном опыте организации удалённого доступа к промышленному программируемому логическому контроллеру (далее — ПЛК) посредством бюджетного решения на базе интернет-центра KEENETIC 4G.
Данная статья будет особенно интересна специалистам в области АСУТП, которые задались вопросом организации удалённого доступа, но не знали с чего начать.
Итак, начнём!
В данном примере рассмотрим наиболее часто встречающийся вариант, а именно:
- Локальный компьютер, который будет являться OpenVPN сервером с установленным пакетом TIA Portal для программирования ПЛК. (локальная сеть 192.168.1.0)
- Маршрутизатор предприятия с внешним белым IP — адресом (например, 217.196.58.128).
- Интернет-центр KEENETIC 4G с установленным клиентом OpenVPN подключенный к мобильной связи.
- Программируемый логический контроллер SIMATIC S7-1500 (локальная сеть 192.168.112.0).
Наличие внешнего белого IP — адреса на одной из сторон является необходимым условием работы OpenVPN сервера (сервер OpenVPN должен быть расположен на стороне белого IP — адреса).
Для организации VPN соединения между Интернет-центром KEENETIC и рабочем местом нам необходимо установить следующее ПО:
- OpenVPN — программа для создания безопасных виртуальных частных сетей, удаленного подключения к серверу
- XCA — программа для лёгкого создания сертификатов с графическим интерфейсом
- Notepad++ — текстовый редактор (необязательно)
Установка пакета OpenVPN на Windows.
Устанавливаем компонент EasyRSA (для создания сертификатов встроенными средствами (необязательно).
В случае вывода сообщения об установке драйвера, нажимаем «установить».
В случае, если требуется установить несколько виртуальных адаптеров или если виртуальный адаптер был некорректно установлен, то переходим по нижеприведённому адресу и запускаем «addtab.bat» скрипт:
C:\Program Files\TAP-Windows\bin
Создание X.509 сертификатов
1. Устанавливаем XCA
XCA — программа для лёгкого создания сертификатов с графическим интерфейсом
2. Создаём БД
«Файл» -> «Новая база данных», далее программа запросит ввод пароля, вводим пароль или оставляем поля пустыми и нажимаем «ОК».
3. Создаём сертификат удостоверяющего центра (CA)
Для этого переключаемся на вкладку «Сертификаты» и нажимаем на кнопку «Новый сертификат»
Далее переключаемся на вкладку «Субъект» и заполняем необходимые поля (то, что выделено красным должно иметь уникальное имя).
Нажимаем «Сгенерировать новый ключ» и подтверждаем действие нажатием кнопки «создать».
Переключаемся на вкладку «Расширения», выбираем тип сертификата «Центр Сертификации» и настраиваем срок действия сертификата (сертификат CA должен иметь более длительный срок действия, чем сертификаты компьютера, которые будут созданы позже.)
Нажимаем «ОК» и теперь мы можем приступить к настройке сертификатов компьютера.
4. Создание шаблонов сертификатов компьютера
Для упрощения создания машинных сертификатов будем использовать заранее приготовленный шаблон. Переключаемся на вкладку «Шаблоны» и нажимаем на кнопку «Новый шаблон».
Выбираем «Пустой шаблон» и переходим к редактированию нашего шаблона, имена в угловых скобках в будущем должны быть уникальными.
Переходим на вкладку «Расширения», задаём тип «Конечный субъект» и настраиваем период действия сертификата компьютера (должен быть не больше чем у сертификата удостоверяющего центра).
Нажимаем «Ок» для создания шаблона.
Данный шаблон теперь может быть использован как базовый в качестве создания машинных сертификатов, подписанных нашим удостоверяющим центром.
5. Создания сертификатов компьютера с использованием шаблона
Переключаемся на вкладку «сертификаты» и нажимаем на кнопку «Новый сертификат», выбираем опцию «Использовать этот сертификат для подписи», в качестве шаблона выбираем наш шаблон <My_Machine> и нажимаем на кнопку «Применить всё».
Далее переходим на вкладку «Субъект» вводим уникальное имя, например, «My_Server», генерируем ключ.
Таким образом мы создали сертификат сервера. Проделываем туже самую процедуру для сертификата клиента (My_Client).
6. Экспорт машинных сертификатов и ключей
Для создания конфигурационного файла OpenVPN клиента (KEENETIC) и сервера (ПК Windows) нам потребуется экспортировать сертификат удостоверяющего центра, сертификат сервера, сертификат клиента, закрытый ключ сервера, закрытый ключ клиента.
Для этого переходим на вкладку «Сертификаты» выбираем сертификат удостоверяющего центра My_CA нажимаем на кнопку «Экспорт» и выгружаем в заранее созданную папку, например My_Keys, расположенную на рабочем столе.
Проделываем тоже самое для сертификата клиента (My_Client) и сертификата сервера (My_Server).
Переключаемся на вкладку «Закрытые ключи» выбираем ключ My_Client, нажимаем экспорт и выгружаем в нашу папку.
Проделываем туже самую процедуру для ключа сервера.
7. Создания параметра Диффи-Хэллмана
Для конфигурации параметров сервера нам также потребуется параметр Диффи-Хэллмана
Для создания параметра нажимаем на вкладку «Дополнительно» и выбираем пункт «Сгенерировать параметры Дифии-Хэллмана».
Далее выбираем длину параметра, например, 2048. Далее выгружаем наш параметр в папку с ключами.
В итоге в нашей папке должны находиться следующее файлы:
- Сертификат удостоверяющего центра My_CA.crt
- Сертификат клиента My_Client.crt
- Сертификат сервера My_Server.crt
- Закрытый ключ клиента My_Client.pem
- Закрытый ключ сервера My_Server.pem
- Параметр Дифии-Хэллмана dh2048.pem
Создание файлов конфигурации клиента и сервера
Т.к. протоколом промышленной связи S7-1500 является Profinet, то для установления соединения с ПЛК нам потребуется организовать L2 соединение, которым в данном случае является TAP-интерфейс.
Настройка конфигурации OpenVPN сервера
Для создания файла конфигурации сервера перейдите в папку с конфигурационными файлами OpenVPN [ C:\Program Files\OpenVPN\config ] и создайте файл TAP_Server с расширением .ovpn
Откройте файл TAP_Server.ovpn программой просмотра текстовых файлов (например, Notepad++) и скопируйте следующий текст:
# Указываем работу на L2 уровне
dev tap
# Параметр, используемый в Windows системах
# Указываем имя нашего TAP-Windows адаптера
dev-node MyTap
# Конфигурируем сервер в режиме моста для TAP устройств
server-bridge
# Указываем протокол работы сервера и версию IP
proto udp4
# Указываем номер порта, на котором будет работать OpenVPN
port 50501
# Пинговать каждые 10 секунд сервер и если в течение 120 секунд
# не будут получены ответные пакеты, перезапустить подключение.
keepalive 10 120
# Указывает алгоритм шифрования
cipher AES-256-CBC
# Уровень детализации лога
verb 3
# Во внутрь копируем сертификат удостоверяющего центра
<ca>
</ca>
# Во внутрь копируем сертификат ключа
<cert>
</cert>
# Во внутрь копируем закрытый ключ
<key>
</key>
# Во внутрь копируем параметр (ключ) Diffie-Hellman (Диффи-Хеллмана).
<dh>
</dh>
Затем откройте программой просмотра текстовых файлов My_CA.crt, My_Server.crt, My_Server.pem, dh2048.pem и скопируйте текст из:
My_CA.crt в <ca> </ca>
My_Server.crt в <cert> </cert>
My_Server.pem в <key> </key>
dh2048.pem в <dh> </dh>
в результате получим следующее:
dev tap
dev-node MyTap
server-bridge
proto udp4
port 50501
keepalive 10 120
cipher AES-256-CBC
verb 3
<ca>
-----BEGIN CERTIFICATE-----
MIIDqjCCApKgAwIBAgIIJJ8tf67Csf4wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNV
BAYTAlJVMRQwEgYDVQQIEwtLUkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFS
U0sxDjAMBgNVBAoTBU15T1JHMQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlf
Q0ExIDAeBgkqhkiG9w0BCQEWEW15ZW1haWxAbXlob3N0Lnh4MB4XDTE5MTIxMzAw
MDAwMFoXDTQ5MTIxMjIzNTk1OVowgYsxCzAJBgNVBAYTAlJVMRQwEgYDVQQIEwtL
UkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFSU0sxDjAMBgNVBAoTBU15T1JH
MQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlfQ0ExIDAeBgkqhkiG9w0BCQEW
EW15ZW1haWxAbXlob3N0Lnh4MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEA3dJoAVl7foXZMavZIr9RTB59h+El26OYll7KMBHritf+x8DEVjcg86uyDSf0
yzLtAR+8J013W3SRDVpl3gqdk3t1qb7Paz1OUrV2Hu3N5Ws1s4elpENTQAe1HFZS
u0NRhXBCxTTyToNdb1pKcIJziVNLXdTL+pud0T8FNs6q37t14XFkfDOw85m7y3py
vU8+ucmQEd5vOKPjcY1jklVZkQJKcGTI77x/R2k6HK7ryul5uIepi/RrVrgTNe5W
rYWuk6wlmmFLvgdzoVaBJO8edo89M7oJIQFMNN9x3cpbths6/3ZummBktfgVa7xy
3fs//M5v1pjnYeJ5wd5tiCXkpQIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqG
SIb3DQEBCwUAA4IBAQDbNhPy3IftjPVNyaUH/5AW6R0Fjqoct/55ZMDrdWlLY1mo
iTTxhFPv1DbilUE/nr+SwGvZV2MQs4G1hi9PgGqY5a+lJCSios8BJ7zlrt/LLQQ/
st0r2wzpCYROxoi+zu9YNGZJPP9GI3KdcVye9Rt3vbLbL8LQ8kKKwn3Ju5i1SUMy
gzvGTNUPtqOKVJid39IIdva3iMUBspfMGv2EcaGaRWekW9Pni/gBS2eHkBH1/X6n
KiopjtZw7A4RPHzC58jp+ypT/X63tPwf5+kWsMDeLG1XTKnLoPeAVNtszMhGsgzE
DoZUuL4pb8XbpcnrPlgp0WSkrf1RJrJGuArvUDLu
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
MIIDyzCCArOgAwIBAgIIINPrUqBedY8wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNV
BAYTAlJVMRQwEgYDVQQIEwtLUkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFS
U0sxDjAMBgNVBAoTBU15T1JHMQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlf
Q0ExIDAeBgkqhkiG9w0BCQEWEW15ZW1haWxAbXlob3N0Lnh4MB4XDTE5MTIxMzAw
MDAwMFoXDTQ5MTIxMjIzNTk1OVowgY8xCzAJBgNVBAYTAlJVMRQwEgYDVQQIEwtL
UkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFSU0sxDjAMBgNVBAoTBU15T1JH
MQ4wDAYDVQQLEwVNeU9SRzESMBAGA1UEAwwJTXlfU2VydmVyMSAwHgYJKoZIhvcN
AQkBFhFNeUVtYWlsQE15SG9zdC54eDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAJhJYVC8WJneQTTO9p7NJvS803W1lq/8Z78Vx8J5jejVhXXZa0NYfXX8
iiXUr26vdhXN5htSNgktz9Tr5zUHwKhzpq+yYICPS44AmzMJByPBhjHUq7/HjnOA
e78k80OTzqL5XH8olrQc7690K1GW3b0PduH+bYykDGijQ8vlkwBKQhgxeo7zkTrm
VWsgmFJEbrdGoZPnwyHrStMHM0f6UMkEWqooughphaxtJWzS4GJES09z3VSN/3CV
FuV2Jn3UGyoEHKrZUa/kFgRx9j9AqRx3//WFusm2KPUim+IA4SLoXP5M6pZXaxvA
Z4y5b2xIc/OFFX5DfaCSpAMFwzZFYXkCAwEAAaMtMCswCQYDVR0TBAIwADAeBglg
hkgBhvhCAQ0EERYPeGNhIGNlcnRpZmljYXRlMA0GCSqGSIb3DQEBCwUAA4IBAQAZ
EXHnqu9Ilz6+w4SB/wfl5HG3UyS2n8oNpTHbFkX1Sn2+2FFuSCZlxhQYyhZKUjRq
NsbWMMcwRDST9V6cPw6iaTPfz2G8zaBFjsemnyYD6YttNmdqXgv5wiik3btP2Jk2
3msmg8MlA/EgeZWSFe0ee4yE+L145JgtEQeg0xb7t8J9OOt3W1GVnoX1hQa2GePH
PlKqc5ooPAuzIW4kWzxQefqcV5j1Rof98/dQJwJwCatRYgFciOZe26rcsu0R1iKF
yS6NB+HwJxZY1ExPcSDmiVu5cyeasSLp1bxcqb9V7a3e9YxNZ8AVmjh/NfOcb2a/
/Mx8QxPEP7g+B6tWfF/Q
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAmElhULxYmd5BNM72ns0m9LzTdbWWr/xnvxXHwnmN6NWFddlr
Q1h9dfyKJdSvbq92Fc3mG1I2CS3P1OvnNQfAqHOmr7JggI9LjgCbMwkHI8GGMdSr
v8eOc4B7vyTzQ5POovlcfyiWtBzvr3QrUZbdvQ924f5tjKQMaKNDy+WTAEpCGDF6
jvOROuZVayCYUkRut0ahk+fDIetK0wczR/pQyQRaqii6CGmFrG0lbNLgYkRLT3Pd
VI3/cJUW5XYmfdQbKgQcqtlRr+QWBHH2P0CpHHf/9YW6ybYo9SKb4gDhIuhc/kzq
lldrG8BnjLlvbEhz84UVfkN9oJKkAwXDNkVheQIDAQABAoIBAGZFmapr4yDqx2Xc
vHmnk0r3aRf7LMjhvRbyXKZ5ldlRVIDx0/x1eER9ppWDgZHXGnnIPooIqyt87b+z
8iGGJFe826vRIsgT9AzY0WHz5SyZMjNS/Ukdjsh4+CJFgW3X3QVMbFclfhhV+o4d
eV4g8KegtBlQEmhKX98CDmznr9KYAxBtiMODkG3gi523+8qgOH5Nqgr+0CGxwcJU
4fDHadjbSj7+12ZrY3TVZm451fEzgh2nPAseyAoNYe0CM9hExmq4jeNxjZFQHNBv
refghZaPmyuRWSOfzNbEwRsLCZeLUHDdrNvsPRnFvmLcFhtFKwctngvkGK5lPs1w
dCgs8pUCgYEAyJOsi+ZTAWTjJC1pCr3FRJEjoqfqZGw/OLCKV7PBF8Yf2DIB+LDD
gfgoMi39sK/HkaH1H6CqD1Gter8WE67gAURvo5UjK4vFAGhmQSbiwhRUCRKRljwT
zB4k649XpD8fiOzd9S12uKyr8EvvDbOz9x1XcxQELcqURIunTuDH4CsCgYEAwl3F
twSkSOPYG2AeLnuwf8sYtFbcvSYL/8cGovOuZ0GlSLpHO2k1qhUzl6HrpIhEyVom
IQRJW9S5lB7z5lU/CVcbGmYLwu4y5/tl4MeG8NOEj1o8FR9RzUw92dSSKoMfCMad
lz/RmOrBnX4pwqICs7r7h7VsnOsr/AYn5H04zusCgYEAwHHv+8rhmVTTGsL3Jfcu
brtTFZ1Gp1O01Q+NrNgrTEQsCaLxgUsYSntvFbZK0lvVf0WFivL8N/aGHF97Lyd6
hbzD4JAXTpCsU9fXRGuq5cvbVVkblqnN1OqXQewmitCF0TpzO+qDHm2OCuDQXLUu
1sqwPRnXaJgV6i6UOHozTEECgYEAgmguFqxrmWgdf8iOl3tvoV5f1eeNtO7JEDS1
1DEQ68CUp+YrksX1NoeBFRSTqNGw7TOp728T1SQ12xalZ/38DEVALwcWjxQIXbND
2HumowAXqaLOOxHHbangub0w0IsnEFlKNMeh1ipz+zpBxI+0pmgnCReFpwb2fOKY
c2o86j8CgYAWTWn/Y1/bNgtStzya6fbxpc4Mc2nCZu6bTQpAgA44r+nRJuHpVm0T
cGDKj4NZ8H4wqMmk58GoOreAVsX4qXeN9QkdfAR5dA8eWVz42faC328W3G4VA5cc
GvTqDMzq0j3bz+4csHMn3BHatHymjgsg0sgc8FshuD6dQk0NNruk9A==
-----END RSA PRIVATE KEY-----
</key>
<dh>
-----BEGIN DH PARAMETERS-----
MIIBCAKCAQEAlpVUnvCTJ1XF9mnwhf+P+QZhVWsNyRaqEgLuO2a/fGUqPESU9KRo
bDa489awzJs6j/JCKh1xR5H5JLE+Ho6XdgIXH9LTr03BV3PsPQiA28ZiluekBGGY
ps7dTLr0Ex4V6Ae3+E+Z7lM/Yhsa4w6fl+GNRkastD42Nx4g4iN+cIerLMFCRPl1
P7Go36VbEtO/aNX/zNExmcDsYSqiLkBeGrNxXen2Loqex5AlwE9WOliUbak6Ra/W
vf21Wi03TvBBfjEDKtM/Bsyo8Ar2lgBYIrANvylU/0Gg8OyRWqcIoQjwPyjavAHd
v14V1igYDa1xP9WQ262DMHfHLhqwjOW2GwIBAg==
-----END DH PARAMETERS-----
</dh>
Настройка конфигурации OpenVPN клиента
Для создания файла конфигурации клиента перейдите в папку с конфигурационными файлами OpenVPN [ C:\Program Files\OpenVPN\config ] и создайте файл TAP_Client с расширением .ovpn
Откройте файл TAP_Server.ovpn программой просмотра текстовых файлов (например Notepad++) и скопируйте следующий текст:
# Указываем, что мы используем клиентское подключение
client
# Указываем работу на L2 уровне
dev tap0
# Указываем протокол работы сервера и версию IP
proto udp4
# Указываем номер порта, на котором будет работать OpenVPN
port 50501
# Задает сервер, к которому должен подключаться клиент
# могут использоваться записи IP и DNS.
remote 217.196.58.128
# Указывает алгоритм шифрования
cipher AES-256-CBC
# Уровень детализации лога
verb 3
# Во внутрь копируем сертификат удостоверяющего центра
<ca>
</ca>
# Во внутрь копируем сертификат клиента
<cert>
</cert>
# Во внутрь копируем закрытый ключ клиента
<key>
</key>
Затем откройте программой просмотра текстовых файлов My_CA.crt, My_Client.crt, My_Client.pem и скопируйте текст из:
My_CA.crt в <ca> </ca>
My_Client.crt в <cert> </cert>
My_Client.pem в <key> </key>
в результате получим следующее:
client
dev tap0
proto udp4
port 50501
remote 217.196.58.128
cipher AES-256-CBC
verb 3
<ca>
-----BEGIN CERTIFICATE-----
MIIDqjCCApKgAwIBAgIIJJ8tf67Csf4wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNV
BAYTAlJVMRQwEgYDVQQIEwtLUkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFS
U0sxDjAMBgNVBAoTBU15T1JHMQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlf
Q0ExIDAeBgkqhkiG9w0BCQEWEW15ZW1haWxAbXlob3N0Lnh4MB4XDTE5MTIxMzAw
MDAwMFoXDTQ5MTIxMjIzNTk1OVowgYsxCzAJBgNVBAYTAlJVMRQwEgYDVQQIEwtL
UkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFSU0sxDjAMBgNVBAoTBU15T1JH
MQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlfQ0ExIDAeBgkqhkiG9w0BCQEW
EW15ZW1haWxAbXlob3N0Lnh4MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEA3dJoAVl7foXZMavZIr9RTB59h+El26OYll7KMBHritf+x8DEVjcg86uyDSf0
yzLtAR+8J013W3SRDVpl3gqdk3t1qb7Paz1OUrV2Hu3N5Ws1s4elpENTQAe1HFZS
u0NRhXBCxTTyToNdb1pKcIJziVNLXdTL+pud0T8FNs6q37t14XFkfDOw85m7y3py
vU8+ucmQEd5vOKPjcY1jklVZkQJKcGTI77x/R2k6HK7ryul5uIepi/RrVrgTNe5W
rYWuk6wlmmFLvgdzoVaBJO8edo89M7oJIQFMNN9x3cpbths6/3ZummBktfgVa7xy
3fs//M5v1pjnYeJ5wd5tiCXkpQIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqG
SIb3DQEBCwUAA4IBAQDbNhPy3IftjPVNyaUH/5AW6R0Fjqoct/55ZMDrdWlLY1mo
iTTxhFPv1DbilUE/nr+SwGvZV2MQs4G1hi9PgGqY5a+lJCSios8BJ7zlrt/LLQQ/
st0r2wzpCYROxoi+zu9YNGZJPP9GI3KdcVye9Rt3vbLbL8LQ8kKKwn3Ju5i1SUMy
gzvGTNUPtqOKVJid39IIdva3iMUBspfMGv2EcaGaRWekW9Pni/gBS2eHkBH1/X6n
KiopjtZw7A4RPHzC58jp+ypT/X63tPwf5+kWsMDeLG1XTKnLoPeAVNtszMhGsgzE
DoZUuL4pb8XbpcnrPlgp0WSkrf1RJrJGuArvUDLu
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
MIIDyzCCArOgAwIBAgIII6a7Y3h+sS0wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNV
BAYTAlJVMRQwEgYDVQQIEwtLUkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFS
U0sxDjAMBgNVBAoTBU15T1JHMQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlf
Q0ExIDAeBgkqhkiG9w0BCQEWEW15ZW1haWxAbXlob3N0Lnh4MB4XDTE5MTIxMzAw
MDAwMFoXDTQ5MTIxMjIzNTk1OVowgY8xCzAJBgNVBAYTAlJVMRQwEgYDVQQIEwtL
UkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFSU0sxDjAMBgNVBAoTBU15T1JH
MQ4wDAYDVQQLEwVNeU9SRzESMBAGA1UEAwwJTXlfQ2xpZW50MSAwHgYJKoZIhvcN
AQkBFhFNeUVtYWlsQE15SG9zdC54eDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAM1xGkTl0fTge3jacEgSkrMoN3wgIr94Y1uD574XqxKYdH11hEdldTLa
gx8MGLIYaXN/HQTEYuhxpk+EX0Mqns9TazGouvE2/poP4KiO8iSHVO9PaaKO0OKq
Y7ctt4TVBdnD2UjiHCq5DfQ/T6UGv4bOR61RCqymyBnnVQ/KyR0DX4/U+jLx9wxS
d5OLD0SSqOjdLTnI1gBpEphRuPo6705I+eM7cATyoL17GMgAQ1W4zLzq3ojNPCo3
U/P0tPvQi6hHoJv5Rj8EfgK7eID7kUqvCrG4Vvg+iKjC7m1ABweOjBXVpk7UsKin
97I/Gz0PGOwnsh3a3J/WNZu1DuPfw9UCAwEAAaMtMCswCQYDVR0TBAIwADAeBglg
hkgBhvhCAQ0EERYPeGNhIGNlcnRpZmljYXRlMA0GCSqGSIb3DQEBCwUAA4IBAQDd
v4iq13jCqRI6yeFlB8ouMVtuVpI+p7w6KBYyc+phbDuzqI4iFkMyhj0H+cx/760M
ziQMuLR/pRrSPKPI03JgFI5dFh1txnNFkelQutZ+6qe4c1y9OhKhwg3n6jS2PevG
Tvlrl1utoiNOVXhcvH0CxuD5AJEyQa9SH/vO3TRQC9g5zbfULTgOhpUmaVPYBkX/
tBnvnKFdmsLqwgrKvdqfJF3WqJuQSdHtyp4MVZN1d/T+HoQ5YfN5nGXpLLgLdGaq
KvtAtFACkltO0A7R2WeLw1WNiXGHNxd3OFuVedapub1zXCSiYZNC+8MX7PkQnV9e
p1JB/AWXg/Z7uQSua3+c
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAzXEaROXR9OB7eNpwSBKSsyg3fCAiv3hjW4PnvherEph0fXWE
R2V1MtqDHwwYshhpc38dBMRi6HGmT4RfQyqez1NrMai68Tb+mg/gqI7yJIdU709p
oo7Q4qpjty23hNUF2cPZSOIcKrkN9D9PpQa/hs5HrVEKrKbIGedVD8rJHQNfj9T6
MvH3DFJ3k4sPRJKo6N0tOcjWAGkSmFG4+jrvTkj54ztwBPKgvXsYyABDVbjMvOre
iM08KjdT8/S0+9CLqEegm/lGPwR+Art4gPuRSq8KsbhW+D6IqMLubUAHB46MFdWm
TtSwqKf3sj8bPQ8Y7CeyHdrcn9Y1m7UO49/D1QIDAQABAoIBAQC6dsyL+jf9VX5b
6497qvfhikAJ9jTzqjYsCuXcwCiygRNCB9ae4rRkCrZ2CImlo8iaXqYc/I51QSnd
BF1eXiG0NZeWg/nhE7Q0avLSqqOWigqKBn7vX0ayZEqLKQBnnN1pkHv3zdoY4MuM
g6YrN5vApBukcGkK2XnHIRMweTLek9/qAeDgcE4ZVXIgHkNjqAc9y/kd5Sx+fL+N
k/dGQeTne2xgzJZsiu4uoS9jnBE7g1hQpfLpbyoREaRjWob/KP2IDFIjInjnHrb9
mO5Xuqsv8mHp4+67Ium8IN5jDldoObayEd8giE6x3r/3x60RSmV8IDHKPIs507qD
2hoCXz8hAoGBAObhKqowjp5TuqPt9Nrm+cVZKroDvz8bXb8ejOMn22Wj171cdNy3
gxbt5ksLXsHmjPWm9fK5ZL8m33U+uMwcgqIUbHILo40AQK9FtwkjyeTQne1OBjJa
2tjCc3ySo0icEswRFJrCu9Rcszehj56WlJzmvE0CiM2QGG3ExOxl8LNtAoGBAOPL
Zv5nkG0RAuOg5w+tLi2H14BcD1ICpPcq232mXdqzEeeXSysvgpwDaOWPGXtgWvIK
ScIw9xqW7tonk5EjKnsgPajV8OvG+vAqC2liHy00IxZ+YB+vzE66uUEpYXUpzI2n
F+pb+rQDSQo3beyamjeL1wYEjntDyWqfRmQfQSkJAoGAMP1CIk6fVHULu1D4jaJJ
CVj8OfAlmmxiHfWLi3+fjBeR5XpCybqetDTSksXc22PiMRW2RkSUXgMPkz810wmR
pnaS9DgIAhk1oHs4dVYEtuqVOA9APVsN6MSJ4Lr0rql/S5GsP5JmbI8m7/z2Dn6B
FjHXbrfE82lJ5bDE4CxZQJkCgYAvmtJrWDlWkbeI2pdvL0H3QexHZvXMrcDL5qj4
GUyD5+hV/cg3vjYNZKkHUGCC6CAZdQz1CEabx+8iqCKusiqukI5SOmOe4naOujqo
S1k4mSy8Bq0P8i1ARsVwWLWFRrb443KcB5zdAdLBz9OpHqYb9Z16JHmiSQhOv/p1
8hIsAQKBgQCvHQu6NKsdNDogXCiwEt52jlqBRs4NEjspupOKzV+HlEfek6ijKMce
P9o4U+vpiG5ZmIYPzgTfAlaWxoMi5ynRZhiMA8dFzX53uyJiYJetXm+zb71l9BW8
kmsch0B5z5yAjEA+CWIqDJ05O7QTLMLC69QU4UICswbyJy1MFUfrbg==
-----END RSA PRIVATE KEY-----
</key>
На этом создание файлов конфигурации клиента и сервера будем считать завершенным.
Настройка маршрутизатора предприятия
Т.к. наш персональный компьютер подключен не напрямую к линии с внешним белым IP, а через маршрутизатор предприятия, то для доступа к компьютеру с локальным IP-адресом из внешней сети необходимо пробросить порт, который мы указали в конфигурации сервера (50501).
В зависимости от модели маршрутизатора процедура проброса портов может отличаться.
На скриншоте ниже приведён пример по настройке маршрутизатора предприятия (не нашего KEENETIC 4G).
Запуск OpenVPN сервера на персональном компьютере
Наши файлы конфигурации готовы, осталось перейти к нюансам по настройке OpenVPN на системе под управлением Windows, для этого перейдём к настройке параметров адаптера и переименуем TAP-Windows Adapter V9 как MyTap (в соответствии с именем dev-node).
А также настроим локальный адрес нашему адаптеру (должен быть назначен на
не занятый IP адрес
нашей локальной сети контроллера, например 192.168.112.230)
Далее запускаем в работу сервер OpenVPN:
1. Запускаем приложение, расположенное по адресу C:\Program Files\OpenVPN\bin\openvpn-gui.exe (или нажимаем на ярлык на рабочем столе)
2. Переходим в трей, выбираем созданный файл конфигурации «TAP_Server» и нажимаем «подключиться»
3. Убедимся, что наш сервер работает и перейдём к настройке интернет-центра KEENETIC 4G
Настройка интернет-центра KEENETIC 4G
По-умолчанию в KEENETIC 4G не входит клиент OpenVPN, поэтому сначала нам следует его установить. Для этого подключаем KEENETIC 4G к интернету различным способом (по кабелю, по Wi-Fi или с помощью 4G модема), далее переходим в «Общие настройки» и нажимаем кнопку «Изменить набор компонентов».
Выбираем нужные нам компоненты (в данном случае Клиент OpenVPN уже был установлен, поэтому для примера показывается другой компонент) и нажимаем кнопку «Установить обновление».
Далее перейдём к настройке нашей сети, для этого выбираем «Домашняя сеть» и настраиваем IP-адрес нашего маршрутизатора, например 192.168.112.101 (так же должен быть свободным).
Далее нам следует настроить наше OpenVPN подключение, для этого выбираем «Другие подключения», нажимаем кнопку «добавить подключение».
Вводим имя подключения (произвольное, например, TAP_Client_PLC), выбираем тип подключения (OpenVPN), в конфигурацию OpenVPN копируем текст из нашего созданного файла для клиента (TAP_Client.ovpn) и нажимаем кнопку сохранить для применения изменений.
Далее нам следует включить интерфейс OpenVPN в основной мост, но прежде чем сделать данную процедуру нам придётся установить клиент telnet. Для этого перейдём в панель управления, далее «Включение или отключение компонентов Windows», выберем Telnet Client и нажмём «ОК».
После того, как telnet клиент будет установлен — подключаемся к нашему KEENETIC 4G: на клавиатуре жмём сочетание клавиш WIN+R, вводим cmd
Вводим команду telnet [IP_нашего_KEENETIC] (например, telnet 192.168.112.101)
Пройдём процесс авторизации (введём логин и пароль (если он был настроен)) и введём следующие команды:
interface Bridge0
include OpenVPN0
system configuration save
Проверим правильность нашей конфигурации:
show
running-config
В итоге мы должны увидеть нечто подобное:
Отмечу, что интерфейс OpenVPN0 создаётся только после создания OpenVPN подключения.
Включаем в работу наш OpenVPN клиент.
Видим, что KEENETIC 4G осуществил подключение к нашему серверу и переходим к настройке нашего контроллера S7-1500.
Настройка программируемого логического контроллера S7-1500
В настройках нашего контроллера достаточно установить локальный адрес нашего маршрутизатора:
- Устанавливаем галочку «Use router»
- Вбиваем адрес домашней сети нашего KEENETIC 4G (192.168.112.101)
После прогрузки конфигурации, контроллер станет доступен для доступа по удалённому подключению.
На этом настройка нашего удалённого подключения завершена.
Благодарю за внимание!
Установим и настроим OpenVPN сервер. На сервере используется операционная система Windows Server 2019.
OpenVPN — бесплатная реализация технологии виртуальной частной сети (VPN) для создания зашифрованных каналов связи между компьютерами типа точка-точка или сервер-клиенты за NAT и Firewall.
Установка OpenVPN Server
Скачиваем дистрибутив для установки OpenVPN:
Прокручиваем вниз, выбираем стабильную версию. Я буду использовать версию 2.4.9.
Для операционной системы Windows доступны два пакета:
- WINDOWS 7/8/8.1/SERVER 2012R2 INSTALLER (NSIS)
- WINDOWS 10/SERVER 2016/SERVER 2019 INSTALLER (NSIS)
Для Windows Server 2019 подходит второй вариант, скачиваю.
Запускаем инсталлятор OpenVPN.
Открывается мастер установки. Next.
Принимаем лицензионное соглашение. I Agree.
Выбираем компоненты. Выделите EasyRSA 2 Certificate Management Scripts. Для сервера OpenVPN GUI можно не устанавливать, если вы планируете запускать OpenVPN в качестве службы. Next.
Выбираем путь установки, я оставляю по умолчанию C:\Program Files\OpenVPN. Install.
Начинается процесс установки OpenVPN.
Установка успешно завершена. Next.
Finish.
Установка выполнена в директорию C:\Program Files\OpenVPN.
После установки у нас появляется новый сетевой адаптер TAP-Windows Adapter V9.
Адаптер отключён. Если по каким-то причинам нужно добавить несколько таких адаптеров, то загляните в папку C:\Program Files\TAP-Windows\bin.
Здесь есть скрипты для установки адаптера, добавления адаптера и удаления всех адаптеров.
Пример установки адаптера. В командной строке под администратором:
cd "C:\Program Files\TAP-Windows\bin"
"C:\Program Files\TAP-Windows\bin\tapinstall.exe" install "C:\Program Files\TAP-Windows\driver\OemVista.inf" tap0901
В большинстве случаев дополнительно настраивать сетевой адаптер не требуется.
Создание ключей и сертификатов
Запускаем командную строку под администратором и переходим в рабочую директорию C:\Program Files\OpenVPN\easy-rsa.
cd C:\Program Files\OpenVPN\easy-rsa
В этой папке есть всё необходимое для генерации сертификатов.
Выполняем:
init-config.bat
copy vars.bat.sample vars.bat
Создаётся файл vars.bat с настройками и примером готовых параметров для создания CSR запроса сертификатов. Заполним его. Открываем vars.bat блокнотом.
notepad vars.bat
Открывается vars.bat.
Здесь стоит обратить внимание на пути к рабочим директориям. Например, вы можете указать свой путь к openssl.exe, если установили OpenVPN в другую директорию. Здесь же можно изменить длину ключей шифрования.
Заполняем переменные в нижней части файла, указываем:
- KEY_COUNTRY — страна
- KEY_PROVINCE — область
- KEY_CITY — город
- KEY_ORG — организация
- KEY_EMAIL — e-mail
- KEY_CN — (Common Name) имя сервера
- KEY_NAME — (Name) имя сервера
- KEY_OU — (Organization Unit) отдел
- PKCS11_MODULE_PATH — для токенов двухфакторной аутентификации, нам не требуется, укажу имя сервера
- PKC11_PIN — ПИН для токенов двухфакторной аутентификации, нам не требуется, укажу 1234
Для каждого сертификата нужно будет указывать свои NAME и COMMON NAME, можно их не указывать в vars.bat, потому как при генерации все параметры будут запрашивать.
Обращаем внимание на строку:
set KEY_KONFIG=openssl-1.0.0.cnf
Это имя конфигурационного файла. Находим его в рабочей директории.
Откроем блокнотом.
Внутри есть параметр default_days, в котором можно указать срок действия будущих сертификатов. По умолчанию у меня стоит 3650 дней, это 10 лет. Меня устраивает. Вероятно, кому-то при генерации клиентских сертификатов может понадобиться уменьшить этот срок.
Сохраняем все изменения и возвращаемся к командной строке. Подгружаем утверждённые нами переменные:
vars.bat
Очищаем директорию с ключами:
clean-all.bat
Сертификаты, которые мы будем создавать, появятся в папке C:\Program Files\OpenVPN\easy-rsa\keys. Сейчас эта папка очистилась, в ней два файла: index.txt и serial.
Генерируем ключ и сертификат центра сертификации:
build-ca.bat
В процессе генерации сертификата нас будут спрашивать все те же параметры, которые мы указали в vars.bat. Если параметр нас устраивает (а он нас устраивает), просто нажимаем ввод и переходим к следующему вопросу. После завершения работы скрипта в папке C:\Program Files\OpenVPN\easy-rsa\keys появляется два файла:
- ca.crt — сертификат центра сертификации
- ca.key — ключ центра сертификации
Ключ секретный, никому не передавайте, он будет храниться на сервере.
Генерируем ключ Диффи-Хеллмана:
build-dh.bat
В папке C:\Program Files\OpenVPN\easy-rsa\keys появляется файл:
- dh2048.pem
Генерируем ключ и сертификат сервера, назовём сервер именем «server«:
build-key-server.bat server
В процессе генерации серверного сертификата нас будут спрашивать те же параметры, которые мы указали в vars.bat. Если параметр нас устраивает (а он нас снова устраивает), просто нажимаем ввод и переходим к следующему вопросу. На вопрос Sign the certificate отвечаем y. На вопрос 1 out of 1 certificate requests certified, commit отвечаем y.
После завершения работы скрипта в папке C:\Program Files\OpenVPN\easy-rsa\keys появляется четыре файла:
- 01.pem — не понадобится
- server.crt — сертификат сервера
- server.csr — запрос сертификата сервера, не понадобится
- server.key — ключ сервера
Ключ секретный, никому не передавайте, он будет храниться на сервере.
Генерируем ключ и сертификат первого клиента. Для каждого клиента нужно указывать своё имя файла, Name и Common Name. Назовём первого клиента именем «client«:
build-key.bat client
В процессе генерации клиентского сертификата нас будут спрашивать те же параметры, которые мы указали в vars.bat. Нас устраивают все параметры кроме NAME и COMMON NAME, на них отвечаем client. Помним, что для другого клиента имя должно быть другим. На вопрос Sign the certificate отвечаем y. На вопрос 1 out of 1 certificate requests certified, commit отвечаем y.
После завершения работы скрипта в папке C:\Program Files\OpenVPN\easy-rsa\keys появляется четыре файла:
- 02.pem — не понадобится
- client.crt — сертификат первого клиента
- client.csr — запрос сертификата первого клиента, не понадобится
- client.key — ключ первого клиента
Для каждого нового клиента, который будет подключаться к серверу OpenVPN необходимо сгенерировать свой клиентский сертификат. Но это можно сделать позже, пока добьёмся подключения хотя бы одного клиента.
В настройках сервера можно потом включить настройку duplicate-cn, которая позволяет подключаться всем клиентам по одному общему сертификату, но это небезопасно и не рекомендуется. Используйте только в тестовых целях.
# Uncomment this directive if multiple clients
# might connect with the same certificate/key
# files or common names. This is recommended
# only for testing purposes. For production use,
# each client should have its own certificate/key
# pair.
#
# IF YOU HAVE NOT GENERATED INDIVIDUAL
# CERTIFICATE/KEY PAIRS FOR EACH CLIENT,
# EACH HAVING ITS OWN UNIQUE «COMMON NAME»,
# UNCOMMENT THIS LINE OUT.
;duplicate-cn
Я на сервере собираюсь использовать tls-auth для дополнительной проверки целостности, это обеспечит дополнительный уровень безопасности протокола SSL/TLS при создании соединения:
- Сканирование прослушиваемых VPN-сервером портов
- Инициация SSL/TLS-соединения несанкционированной машиной на раннем этапе
- DoS-атаки и флуд на порты OpenVPN
- Переполнение буфера SSL/TLS
При использовании tls-auth на клиенте не понадобится ключ Диффи-Хеллмана, но пусть будет. Генерируем ключ tls-auth:
openvpn --genkey --secret keys/ta.key
В папке C:\Program Files\OpenVPN\easy-rsa\keys появляется файл:
- ta.key
Минимальный набор сертификатов сгенерирован.
Настройка OpenVPN сервера
Чтобы случайно всё не удалить, создадим папку C:\Program Files\OpenVPN\ssl и скопируем в неё сертификаты. Это будет рабочая папка сервера.
mkdir "C:\Program Files\OpenVPN\ssl"
copy "C:\Program Files\OpenVPN\easy-rsa\keys" "C:\Program Files\OpenVPN\ssl"
Создадим конфигурационный файл сервера C:\Program Files\OpenVPN\config\server.ovpn:
copy "C:\Program Files\OpenVPN\sample-config\server.ovpn" "C:\Program Files\OpenVPN\config\server.ovpn"
Открываем блокнотом и редактируем:
notepad "C:\Program Files\OpenVPN\config\server.ovpn"
Лучше изучить конфигурационный файл, я предлагаю свой вариант конфига:
port 1194
proto udp
dev tun
ca "C:\\Program Files\\OpenVPN\\ssl\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\ssl\\server.crt"
key "C:\\Program Files\\OpenVPN\\ssl\\server.key" # This file should be kept secret
dh "C:\\Program Files\\OpenVPN\\ssl\\dh2048.pem"
server 10.8.0.0 255.255.255.0
tls-auth "C:\\Program Files\\OpenVPN\\ssl\\ta.key" 0 # This file is secret
keepalive 10 120
comp-lzo
persist-key
persist-tun
cipher AES-256-CBC
status "C:\\Program Files\\OpenVPN\\log\\status.log"
log "C:\\Program Files\\OpenVPN\\log\\openvpn.log"
verb 4
mute 20
Указываем параметры сервера, пути к ключам и сертификатам. Здесь же пути к логам. Для тестирования можно использовать tcp протокол:
proto tcp
Переходим к службам:
services.msc
Находим службу OpenVPNService.
Настраиваем на автоматический запуск при загрузке сервера.
Запускаем службу.
Согласно настройкам сервера в папке C:\Program Files\OpenVPN\log должны появиться логи. Это один из инструментов администратора OpenVPN сервера.
Активировался сетевой адаптер TAP-Windows Adapter V9.
Согласно настройкам сервера IP адрес 10.8.0.1.
Проверяем поднялся ли порт tcp 1194:
netstat -tan | find "1194"
Порт должен прослушиваться.
Теперь нужно настроить firewall. Открываем Windows Defender Firewall with Advanced Security.
Переходим в Inbound Rules.
Создаём правило — New Rule…
Тип правила — Port. Next.
Протоколы и порты — UDP 1194. Как в настройках сервера. Next.
Действия — Allow the connection. Next.
Для всех сетей. Next.
Указываем название правила — OpenVPN. Next.
Правило создано, теперь firewall не блокирует входящие UDP соединения на 1194 порту.
Настройка OpenVPN клиента
На компьютере клиента устанавливаем OpenVPN точно также как на сервер. Галку EasyRSA 2 Certificate Management Scripts не указываем. Галку OpenVPN GUI указываем.
Я устанавливаю OpenVPN на клиенте в папку по умолчанию. C:\Program Files\OpenVPN.
Копируем в отдельную папку for_client (её содержимое отправим потом на компьютер клиента) на сервере файлы для клиента:
- ca.crt
- client.crt
- client.key
- dh2048.pem
- ta.key
Туда же из папки C:\Program Files\OpenVPN\sample-config копируем client.ovpn
Переименовываю client.ovpn в config.ovpn. Можно использовать любое имя, лучше созвучное с названием организации. Вот такой получился набор.
Редактируем файл config.ovpn.
client
dev tun
proto udp
remote internet-lab.ru 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\client.crt"
key "C:\\Program Files\\OpenVPN\\config\\client.key"
tls-auth "C:\\Program Files\\OpenVPN\\config\\ta.key" 1
#dh "C:\\Program Files\\OpenVPN\\config\\dh2048.pem"
cipher AES-256-CBC
comp-lzo
verb 0
connect-retry-max 25
Здесь указываем пути к ключам и сертификатам клиента. Не забываем про адрес и порт сервера, куда подключаться, для примера я указал internet-lab.ru UDP 1194.
Отправляем подготовленные файлы на компьютер клиента и копируем в C:\Program Files\OpenVPN\config.
На клиента запускаем OpenVPN GUI.
В трее появляется значок OpenVPN.
Правой кнопкой — подключиться.
Устанавливается соединение.
Значок позеленел, назначен адрес 10.8.0.6.
Можно подключаться к серверу, если есть доступы.
Для второго и последующего клиента генерируем свой набор клиентских сертификатов.
Отзыв сертификата
Иногда нужно отозвать сертификат, выданный клиенту. Кто-то увольняется, кто-то палит сертификаты.
cd "C:\Program Files\OpenVPN\easy-rsa"
vars.bat
revoke-full client
Где client — это имя клиента.
В папке C:\Program Files\OpenVPN\keys появляется файл:
- crl.pem
Копируем его с заменой в рабочую директорию сервера C:\Program Files\OpenVPN\ssl.
Добавляем строчку в конфигурационный файл сервера:
crl-verify "C:\\Program Files\\OpenVPN\\keys\\crl.pem"
Перезапускаем службу OpenVPN сервера.
net stop OpenVPNService
net start OpenVPNService
Если в конфигурационном файле уже был ранее указан путь к crl.pem, то службу можно не перезапускать, OpenVPN перечитывает CRL один раз в час. Но в течении этого часа клиенты с отозванными сертификатами смогут продолжать подключаться и работать.
Для клиента с отозванным сертификатом процесс подключения будет «зависать». В логе можно увидеть:
TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity) TLS Error: TLS handshake failed
Чтобы клиент не стучался постоянно на сервер, у него в конфиге есть опция:
connect-retry-max 25
Передать эту опцию при отзыве сертификата нельзя, поэтому указывайте её всем клиентам заранее.
Ссылки
OpenVPN 2.5.1 сервер на Windows
Клиент 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.
Для ручной установки TAP адаптера и драйвера можно использовать команду:
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
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 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
Чтобы удалить все установленные TAP адаптеры, запустите файл deltapall.bat в этом же каталоге.
Или воспользуйтесь командой:
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 из консоли, множественные подключения доступны по-умолчанию.