Для включения драйвера wintun необходимо в файле конфигурации сервера включить параметр
This Windows-specific guide walks you through the steps for connecting to our servers using OpenVPN.
Installation instructions
- Download and install OpenVPN (Community Download).
- Navigate to our OpenVPN configuration file generator.
- Select the following:
1. Platform: Make sure that Windows is selected.
2. Location: Select a country and (if available) a city.
3. Avanced settings > Port: TCP 443 (if required by Wi-Fi).
4. Avanced settings >Use IP addresses (if DNS resolution fails)
5. Tap on the Download zip archive button. - Open/extract the downloaded archive.
- Place the extracted files in C:\Program Files\OpenVPN\config .
- Start OpenVPN GUI from the Start menu.
- Right-click on the OpenVPN icon in the system tray and click Connect.
Enabling wintun
If you use OpenVPN version 2.5.0 or later you can enable wintun for faster speeds. This uses a wintun adapter instead of the old TAP adapter.
Add windows-driver wintun on a new line in your downloaded OpenVPN configuration file.
Auto-connect OpenVPN on login
Follow these steps to set OpenVPN to start when you log in to your computer.
- Click on the Windows Start button. Type "tasks" and then click on Schedule tasks.
- Under Actions, click on Create Basic Task.
- Fill out a name for the task and click Next.
- Select When I log on and click Next.
- Select Start a program and click Next.
- Click on Browse, then navigate to C:\program files\OpenVPN\bin\ and select openvpn-gui.exe. Then click Open.
- In the Add arguments field, type --connect "mullvad_se.ovpn" (with quotation marks) and then click Next (replace the file name with that of the configuration file you downloaded).
- Check the box for Open the Properties dialogue for this task. and click Finish.
- Check the box for Run with highest privileges.
- Click on the triggers tab, select At log on and then click Edit.
- Click on Any user.
- Under Advanced settings use the drop-down menu for Delay task for: and set it to 30 seconds, then click OK.
- Select the task again.
- On the toolbar, select Action >Properties >Conditions.
- Uncheck the box for Start the task only if the computer is on AC Power.
- Close the task scheduler.
If you get an error that states "OpenVPN gui is already running," then do the following:
- Click on Start. Type "msconfig" and then hit Enter.
- Click on the Startup tab.
- Uncheck OPENVPN-GUI and then click on OK.
- Either click Restart or Exit without restart.
Is your browser leaking?
Use our Connection check to see if your browser is leaking information and therefore jeopardizing your privacy. This can occur even while connected to Mullvad.
Вчера обнаружил, что на мой домашний сервер пытаются подобрать пароль к RDP. Надо что-то делать с этим, и я даже знаю что.
Ударим шифрованием по злобным брутфорсерам!
Ставим OpenVPN 2.5.1 сервер на Windows Server 2016.
Установка OpenVPN Server
Скачиваем дистрибутив для установки OpenVPN:
Доступна версия OpenVPN 2.5.1. Скачиваю Windows 64-bit MSI installer, файл OpenVPN-2.5.1-I601-amd64.msi .
Запускаем инсталлятор OpenVPN.
Открывается мастер установки, предлагают выбрать тип установки, естественно, нажимаем Customize . Установка по умолчанию нас не устроит.
OpenVPN GUI отключаю. Мне нужно, чтобы OpenVPN на сервере работал автоматически.
А OpenVPN Service, наоборот, включаю. OpenVPN у меня будет работать как служба Windows.
Документацию и примеры конфигурации оставляю. Конфигурационные примеры будут использоваться в качестве шаблонов.
Начиная с версии OpenVPN 2.5 появилась поддержка драйвера WinTUN от разработчиков WireGuard. Говорят, что работает быстрее чем TAP-Windows6. Поэтому драйвер TAP-Windows6 отключаю и включаю Wintun.
ПРИМЕЧАНИЕ: для включения драйвера Wintun необходимо в файле конфигурации сервера включить параметр:windows-driver wintun
Утилиты OpenSSL EasyRSA 3 Certificate Management Scripts включаю. Install Now.
Начинается процесс установки OpenVPN.
Установка успешно завершена. Close.
Установка выполнена в директорию C:\Program Files\OpenVPN .
После установки у нас появляется новый сетевой адаптер
Wintun Userspace Tunnel .
Создание ключей и сертификатов
Запускаем командную строку под администратором и переходим в рабочую директорию C:\Program Files\OpenVPN\easy-rsa .
В этой папке есть всё необходимое для генерации сертификатов.
Для работы в Windows нас интересует файл EasyRSA-Start.bat .
Запускается оболочка EasyRSA Shell.
Инициализируем новую конфигурацию:
Появляется новая директория C:\Program Files\OpenVPN\easy-rsa\pki .
Генерируем ключ и сертификат центра сертификации. Внимание, сейчас мы наступим на грабли, исправим ошибку и снова вернёмся к генерации файлов для центра сертификации.
Нас попросят для раза ввести пароль. Придумываем и вводим.
Исправим этот баг. Копируем файл C:\Program Files\OpenVPN\easy-rsa\vars.example , называем копию C:\Program Files\OpenVPN\easy-rsa\vars .
Редактируем C:\Program Files\OpenVPN\easy-rsa\vars. В данном файле можно много чего прописать, но я не буду на этом сейчас останавливаться подробно. Находим строку:
И заменяем её на:
set _var EASYRSA_TEMP_DIR "$EASYRSA_PKI /temp"
Собственно, ошибка и заключалась в том, что оболочка по какой-то причине не могла создать временный файл.
Генерируем ключ и сертификат центра сертификации:
Нас попросят для раза ввести пароль. Придумываем и вводим. После нас просят указать Common Name для центра сертификации, указываю "internet-lab.ru".
Операция проходит успешно.
Создаётся сертификат центра сертификации:
Сертификат создаётся на 10 лет, это значение можно переопределить в файле vars .
И ключ центра сертификации:
Ключ секретный, никому не показываем. он будет храниться на сервере.
Генерируем ключ и запрос на сертификат сервера, назовём сервер именем " server ":
Нас просят указать Common Name для сервера, указываю "internet-lab.ru".
Операция проходит успешно.
Создаётся запрос на сертификат сервера:
- C:\Program Files\OpenVPN\easy-rsa\pki\reqs\server.req
- C:\Program Files\OpenVPN\easy-rsa\pki\private\server.key
Ключ секретный, никому не показываем. он будет храниться на сервере.
Для создания сертификата сервера нужно подписать запрос на сертификат:
Для подписи нужно ввести слово "yes" и указать пароль от центра сертификации.
Создаётся сертификат сервера:
- C:\Program Files\OpenVPN\easy-rsa\pki\issued\server.crt
Сертификат сервера создаётся на 825 дней, это значение можно переопределить в файле vars .
Теперь создадим клиентский сертификат. По хорошему клиентский ключ следует запаролить, чтобы исключить утечку при передаче. Для этого есть несколько способов.
- На клиентской машине генерируем запрос на сертификат клиента и ключ без пароля:
./easyrsa init-pki
./easyrsa gen-req client nopass - Переносим REQ файл запроса на сертификат клиента на машину с нашим CA, импортируем, подписываем, отсылаем сгенерированный сертификат CRT обратно клиенту:
./easyrsa import-req /path/to/client.req client
./easyrsa sign-req client client
- а машине с CA генерируем сертификат клиента и ключ с паролем:
./easyrsa gen-req client
./easyrsa sign-req client client - Переносим файлы клиенту, сообщаем пароль. Клиент снимает пароль с полученного ключа:
openssl rsa -in client.key -out clientnew.key
Но поскольку я генерирую ключ сам для себя, то воспользуюсь небезопасным третьим способом.
Генерируем ключ и запрос на сертификат клиента, назовём клиента именем " client ":
Нас просят указать Common Name для клиента, указываю "v.pupkin".
Операция проходит успешно.
Создаётся запрос на сертификат клиента:
- C:\Program Files\OpenVPN\easy-rsa\pki\reqs\client.req
- C:\Program Files\OpenVPN\easy-rsa\pki\private\client.key
Для создания сертификата клиента нужно подписать запрос на сертификат:
Для подписи нужно ввести слово "yes" и указать пароль от центра сертификации.
Создаётся сертификат клиента:
- C:\Program Files\OpenVPN\easy-rsa\pki\issued\client.crt
Сертификат сервера создаётся на 825 дней, это значение можно переопределить в файле vars .
Генерируем ключ Диффи-Хеллмана:
Операция займёт некоторое время.
Я на сервере собираюсь использовать tls-auth для дополнительной проверки целостности, это обеспечит дополнительный уровень безопасности протокола SSL/TLS при создании соединения:
- Сканирование прослушиваемых VPN-сервером портов
- Инициация SSL/TLS-соединения несанкционированной машиной на раннем этапе
- DoS-атаки и флуд на порты OpenVPN
- Переполнение буфера SSL/TLS
При использовании tls-auth на клиенте не понадобится ключ Диффи-Хеллмана, но пусть будет. Генерируем ключ tls-auth. Для этого запускаем командную строку под администратором и выполняем:
В папке C:\Program Files\OpenVPN\bin создаётся файл ta.key .
Переносим его в папку C:\Program Files\OpenVPN\easy-rsa\pki.
Минимальный набор сертификатов сгенерирован.
Настройка OpenVPN сервера
Создадим конфигурационный файл сервера C:\Program Files\OpenVPN\config-auto\server.ovpn:
copy "C:\Program Files\OpenVPN\sample-config\server.ovpn" "C:\Program Files\OpenVPN\config-auto\server.ovpn"
Открываем блокнотом и редактируем:
Лучше изучить конфигурационный файл, я предлагаю свой вариант конфига:
port 1194
proto tcp
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"
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
duplicate-cn
keepalive 10 120
tls-auth "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\ta.key" 0
cipher AES-256 -GCM
persist-key
persist-tun
status "C:\\Program Files\\OpenVPN\\log\\status.log"
log "C:\\Program Files\\OpenVPN\\log\\openvpn.log"
verb 4
mute 20
windows-driver wintun
У меня здесь указаны пути к ключам и сертификатам, используется порт TCP 1194. Параметр duplicate-cn позволяет подключаться всем клиентам по одному общему сертификату, но это небезопасно и не рекомендуется. Используйте только в тестовых целях. Я использую для того, чтобы с помощью одного и того же сертификата подключиться к OpenVPN серверу и с клиентской машины и со смартфона. Параметр windows-driver wintun подключает использование драйвера WinTun. И что им стоило этот параметр указать в примере конфигурации? Остальное по умолчанию.
ВНИМАНИЕ: в конфигурационных файлах допускается в путях использование прямого слеша:
ca "C:/Program Files/OpenVPN/easy-rsa/pki/ca.crt"
или двойного обратного слеша:
ca "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\ca.crt"
Установим и настроим 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.
Установка выполнена в директорию 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 .
В этой папке есть всё необходимое для генерации сертификатов.
Создаётся файл vars.bat с настройками и примером готовых параметров для создания CSR запроса сертификатов. Заполним его. Открываем 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, потому как при генерации все параметры будут запрашивать.
Обращаем внимание на строку:
Это имя конфигурационного файла. Находим его в рабочей директории.
Внутри есть параметр default_days , в котором можно указать срок действия будущих сертификатов. По умолчанию у меня стоит 3650 дней, это 10 лет. Меня устраивает. Вероятно, кому-то при генерации клиентских сертификатов может понадобиться уменьшить этот срок.
Сохраняем все изменения и возвращаемся к командной строке. Подгружаем утверждённые нами переменные:
Очищаем директорию с ключами:
Сертификаты, которые мы будем создавать, появятся в папке C:\Program Files\OpenVPN\easy-rsa\keys. Сейчас эта папка очистилась, в ней два файла: index.txt и serial.
Генерируем ключ и сертификат центра сертификации:
В процессе генерации сертификата нас будут спрашивать все те же параметры, которые мы указали в vars.bat. Если параметр нас устраивает (а он нас устраивает), просто нажимаем ввод и переходим к следующему вопросу. После завершения работы скрипта в папке C:\Program Files\OpenVPN\easy-rsa\keys появляется два файла:
- ca.crt — сертификат центра сертификации
- ca.key — ключ центра сертификации
Ключ секретный, никому не передавайте, он будет храниться на сервере.
Генерируем ключ Диффи-Хеллмана:
В папке C:\Program Files\OpenVPN\easy-rsa\keys появляется файл:
Генерируем ключ и сертификат сервера, назовём сервер именем " 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 ":
В процессе генерации клиентского сертификата нас будут спрашивать те же параметры, которые мы указали в 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 необходимо сгенерировать свой клиентский сертификат. Но это можно сделать позже, пока добьёмся подключения хотя бы одного клиента.
Я на сервере собираюсь использовать tls-auth для дополнительной проверки целостности, это обеспечит дополнительный уровень безопасности протокола SSL/TLS при создании соединения:
- Сканирование прослушиваемых VPN-сервером портов
- Инициация SSL/TLS-соединения несанкционированной машиной на раннем этапе
- DoS-атаки и флуд на порты OpenVPN
- Переполнение буфера SSL/TLS
При использовании tls-auth на клиенте не понадобится ключ Диффи-Хеллмана, но пусть будет. Генерируем ключ tls-auth:
30.12.2021
itpro
Windows 10, Windows 11, Windows Server 2019
комментариев 35
OpenVPN – это набор open source программ, который заслуженно является одним из самых популярных и легких решений для реализации защищенной VPN сети. OpenVPN позволяет объединить в единую сеть сервер и клиентов (даже находящиеся за NAT или файерволами), или объединить сети удаленных офисов. Серверную часть OpenVPN можно развернуть практически на всех доступных операционных системах (пример настройки OpenVPN на Linux). Вы можете установить OpenVPN сервер даже на обычный компьютер с десктопной редакцией Windows 10.
OpenVPN чрезвычайно популярен в сегменте SOHO для организации доступа удаленных сотрудников: не нужно приобретать отдельное железо, лицензии для организации VPN сервера на базе Windows Server, или выставлять открытый RDP порт Windows в интернет, создавая дополнительные меры для защиты от подбора пароля по RDP.
В этой статье, мы покажем, как установить OpenVPN сервер на компьютер с Windows 10, настроить OpenVPN клиент на другом Windows хосте и установить защищенное VPN подключение.
Установка службы OpenVPN сервера в Windows
Если вы планируете, OpenVPN сервер работал в автоматическом режиме, можно не устанавливать OpenVPN GUI. Обязательно установите OpenVPN Services.
Начиная с версии OpenVPN 2.5, поддерживается драйвер WinTun от разработчиков WireGuard. Считается, что этот драйвер работает быстрее чем классический OpenVPN драйвер TAP. Установите драйвер Wintun, откажитесь от установки TAP-Windows6.
Установите OpenSSL утилиту EasyRSA Certificate Management Scripts.
После окончания установки появится новый сетевой адаптер типа 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 следующим образом:
Можете заполнить поля для сертификатов (опционально)
Срок действия сертификатов задается с помощью:
Сохраните файл и выполните команду:
Следующие команды выполняются в среде EasyRSA Shell:
Должна появится надпись:
Теперь нужно сгенерировать корневой CA:
Задайте дважды пароль для CA:
Данная команда сформировала:
- Корневой сертификат центра сертификации: «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
Утилита сгенерирует два файла:
Подпишем запрос на выпуск сертификата сервера с помощью нашего 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:
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»
Смените в файле 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 сети:
Если нужно, назначьте клиенту адреса DNS серверов:
Если нужно завернуть все запросы клиента (в том числе Интернет трафик) на ваш OpenVPN сервер, добавьте опцию:
Настройка OpenVPN клиента в Windows
Создайте на сервере шаблонный конфигурационный файла для клиента VPN (на базе iшаблона client.ovpn) со следующими параметрами (имя файла kbuldovov.ovpn)
Теперь на компьютер с клиентом OpenVPN нужно с сервера скопировать файлы:
- ca.crt
- kbuldogov.crt
- kbuldogov.key
- dh.pem
- ta.key
- kbuldogov.ovpn
Теперь импортируйте файл с профилем *.ovpn и попробуйте подключиться к вашему VPN серверу.
Если все настроено правильно, появится такая картинка.
Проверьте теперь лог OpenVPN на клиенте «C:\Program Files\OpenVPN Connect\agent.log»
Клиент успешно подключится к OpenVPN серверу и получил IP адрес 10.24.1.6.
Проверьте теперь лог на сервере («C:\Program Files\OpenVPN\log\openvpn.log»). Здесь также видно, что клиент с сертификатом kbuldogov успешно подключится к вашему серверу.
Предыдущая статья Следующая статья
Перенос (клонирование) Windows на другой SSD/HDD диск
Исправляем ошибку: Службе профилей пользователей не удалось войти в систему
Настройка двухфакторной аутентификации (2FA) в Windows с помощью MultiOTP
Когда истекает пароль пользователя в AD, оповещаем пользователей о необходимости сменить пароль
Правило для клиента:
New-NetFirewallRule -DisplayName «AllowOpenVPN-Out» -Direction Inbound -Protocol UDP –LocalPort 1194 -Action Allow
Вот спасибо.
Так-то, конечно умею, но step-by-step инструкция, да еще и «за так».
Спасибо.
Интересная статья, спасибо.
Жаль конечно, что проверить ни где не могу.
Так как нет хост-сервера на винде за бугром для данной проверки.
А за них как известно нужно платить…
Было бы здорово, если бы поделились данными серверами или хотя бы подсказали как их найти,
желательно бесплатные 🙂
Поставил неск лет назад OpenVPN.
Настроил. Забыл.
Дай думаю обновлю.
Обновил.
Всё упало и перестало работать.
Вернул старую версию.
Полез смотреть лог изменений. А там миллион изменений: какие-то флаги\опции отменили, много всего.
Слишком пришлось бы переписывать конфиг и снова тестировать конфигурацию. А нужно было сразу вернуть сервис в строй.
здорова приятель. я живу в регионе где многие сайты и приложения под запретом если не трудно по братски у тебя есть бесплатная версия или прокси для опен впн скинь на почту пожалуйста и заранее спасибо , всех благ))
добрый день!
аналогично)) сначала я генерировал серты через 2.4.3 версию, все работало, пока моб.телефоны не перестали подключаться. Вышло обновление SSL
ок, обновил до 2.4.8 версии, пока все работает, моб.клиенты в том числе.
Решил поковырять на досуге новую версию 2.5.5, в корне все изменилось, даже генерация сертификатов теперь совершенно другая процедура
Народ, подскажите плиз, небольшая проблема, по вашей инструкции настраивал OpenVPN, все здорово работает, спасибо Вам, но столкнулся с задачей отозвать сертификат, и как то не получается это сделать из мануалов в инете для windows, OpenVPN 2.5.4…если быть точным согласно инструкциям мне необходимо cd C:\Program Files\OpenVPN\easy-rsa и там запусттить vars, но запуска не происходит.Вы не сталкивались?
Чтобы отозвать сертфикат мне пришлось добавить в файл vars строку:
set_var EASYRSA_OPENSSL "C:/Program Files/OpenVPN/bin/openssl.exe"
Для отзыва сертификата нужно запустить RSA-Start.bat и выполнить команду:
./easyrsa revoke ZavalenaElena
Появится запрос на подтверждение отзыва сертфиката, пишите yes. Затем указываете пароль от CA.
Появится предупреждение:
Revocation was successful. You must run gen-crl and upload a CRL to your
infrastructure in order to prevent the revoked cert from being accepted.
Выполните команду:
./easyrsa gen-crl
Будет создан файл:
An updated CRL has been created.
CRL file: C:/Program Files/OpenVPN/easy-rsa/pki/crl.pem
Нужно добавить его в конфиг файл:
crl-verify "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\crl.pem"
В текстовом файле «C:\Program Files\OpenVPN\easy-rsa\pki\index.txt» будет список всех сертфикатов
Действующие сертификаты имеют статус V в начале строки, отозванные — R.
Выручайте.Все сделал по инструкции.Не запускается сервер, прилагаю log
2022-01-28 18:29:31 WARNING: —topology net30 support for server configs with IPv4 pools will be removed in a future release. Please migrate to —topology subnet as soon as possible.
2022-01-28 18:29:31 —pull-filter ignored for —mode server
2022-01-28 18:29:31 OpenVPN 2.5.5 Windows-MSVC [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] built on Dec 15 2021
2022-01-28 18:29:31 Windows version 10.0 (Windows 10 or greater) 64bit
2022-01-28 18:29:31 library versions: OpenSSL 1.1.1l 24 Aug 2021, LZO 2.10
2022-01-28 18:29:31 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25340
2022-01-28 18:29:31 Need hold release from management interface, waiting…
2022-01-28 18:29:31 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25340
2022-01-28 18:29:31 MANAGEMENT: CMD ‘state on’
2022-01-28 18:29:31 MANAGEMENT: CMD ‘log all on’
2022-01-28 18:29:31 MANAGEMENT: CMD ‘echo all on’
2022-01-28 18:29:31 MANAGEMENT: CMD ‘bytecount 5’
2022-01-28 18:29:31 MANAGEMENT: CMD ‘hold off’
2022-01-28 18:29:31 MANAGEMENT: CMD ‘hold release’
2022-01-28 18:29:31 NOTE: your local LAN uses the extremely common subnet address 192.168.0.x or 192.168.1.x. Be aware that this might create routing conflicts if you connect to the VPN server from public locations such as internet cafes that use the same subnet.
2022-01-28 18:29:31 Note: cannot open C:\Program Files\OpenVPN\log\status.log for WRITE
2022-01-28 18:29:31 Diffie-Hellman initialized with 2048 bit key
2022-01-28 18:29:31 Outgoing Control Channel Authentication: Using 160 bit message hash ‘SHA1’ for HMAC authentication
2022-01-28 18:29:31 Incoming Control Channel Authentication: Using 160 bit message hash ‘SHA1’ for HMAC authentication
2022-01-28 18:29:31 interactive service msg_channel=580
2022-01-28 18:29:31 open_tun
2022-01-28 18:29:31 Register ring buffers failed using service: Попытка выполнить операцию инициализации, которая уже проведена. [status=0x4df]
2022-01-28 18:29:31 Failed to register adapter ring buffers
2022-01-28 18:29:31 MANAGEMENT: Client disconnected
2022-01-28 18:29:31 All wintun adapters on this system are currently in use or disabled.
2022-01-28 18:29:31 Exiting due to fatal error
Службу запускаете от SYSTEM или обычного пользователя?
Сетевой адаптер Openvpn WinTun в системе появился?
Какая версия Windows?
Спасибо, нашел решение на англ форуме, не нужно запускать службу OpenVPN в автоматический режим. Нужно ставить вручную, и тогда все ОК!
This Windows-specific guide walks you through the steps for connecting to our servers using OpenVPN.
Installation instructions
- Download and install OpenVPN (Community Download).
- Navigate to our OpenVPN configuration file generator.
- Select the following:
1. Platform: Make sure that Windows is selected.
2. Location: Select a country and (if available) a city.
3. Avanced settings > Port: TCP 443 (if required by Wi-Fi).
4. Avanced settings >Use IP addresses (if DNS resolution fails)
5. Tap on the Download zip archive button. - Open/extract the downloaded archive.
- Place the extracted files in C:\Program Files\OpenVPN\config .
- Start OpenVPN GUI from the Start menu.
- Right-click on the OpenVPN icon in the system tray and click Connect.
Enabling wintun
If you use OpenVPN version 2.5.0 or later you can enable wintun for faster speeds. This uses a wintun adapter instead of the old TAP adapter.
Add windows-driver wintun on a new line in your downloaded OpenVPN configuration file.
Auto-connect OpenVPN on login
Follow these steps to set OpenVPN to start when you log in to your computer.
- Click on the Windows Start button. Type "tasks" and then click on Schedule tasks.
- Under Actions, click on Create Basic Task.
- Fill out a name for the task and click Next.
- Select When I log on and click Next.
- Select Start a program and click Next.
- Click on Browse, then navigate to C:\program files\OpenVPN\bin\ and select openvpn-gui.exe. Then click Open.
- In the Add arguments field, type --connect "mullvad_se.ovpn" (with quotation marks) and then click Next (replace the file name with that of the configuration file you downloaded).
- Check the box for Open the Properties dialogue for this task. and click Finish.
- Check the box for Run with highest privileges.
- Click on the triggers tab, select At log on and then click Edit.
- Click on Any user.
- Under Advanced settings use the drop-down menu for Delay task for: and set it to 30 seconds, then click OK.
- Select the task again.
- On the toolbar, select Action >Properties >Conditions.
- Uncheck the box for Start the task only if the computer is on AC Power.
- Close the task scheduler.
If you get an error that states "OpenVPN gui is already running," then do the following:
- Click on Start. Type "msconfig" and then hit Enter.
- Click on the Startup tab.
- Uncheck OPENVPN-GUI and then click on OK.
- Either click Restart or Exit without restart.
Is your browser leaking?
Use our Connection check to see if your browser is leaking information and therefore jeopardizing your privacy. This can occur even while connected to Mullvad.
Читайте также: