Пошаговая инструкция по настройке OpenVPN GUI в Windows 10. The OpenVPN GUI это бесплатная программа с открытым кодом, доступная для всех версий Windows.
Содержание
- Установка OpenVPN GUI
- Настройка OpenVPN GUI
- Подключение к VPN-серверу
Установка OpenVPN GUI
Зайдите на оффициальный сайт OpenVPN https://openvpn.net/index.php/open-source/downloads.html. Скачайте установочный файл .exe себе на компьютер.
Или скачайте установочный файл для вашей версии Windows по следующим ссылкам:
- Скачать для Windows 7, 8, 8.1
- Скачать для Windows 10
Запустите скачанный установочный файл openvpn-install-2.4.8-I602-Win*.exe
.
Windows спросит, «Do you want to allow the following program to make changes to this computer?» Нажмите Yes
.
Установщик запущен. Нажмите Next
для начала установки!
Далее вы увидите лицензионное солашение. Прочитайте его, если хотите, и нажмите I Agree
.
На экране выбора компонентов нажмите Next
.
На экране выбора места установки нажмите Install
.
Windows спросит: «Would you like to install this device software?» Нажмите Install
.
Когда появится экран завершения установки (Installation Complete) нажмите Next
.
Далее вы увидите сообщение о том, что OpenVPN успешно установлен. Уберите галочку «Show Readme» и нажмите Finish
.
Настройка OpenVPN GUI
В процессе установки, ярлык OpenVPN GUI будет добавлен на рабочий стол Windows. Нажмите правой кнопкой мыши по нему OpenVPN GUI и выберите в меню пункт «Открыть разположение файла».
Откроется папка C:Program FilesOpenVPNbin
. Вам нужно перейти на уровень выше — C:Program FilesOpenVPN
.
Теперь нужно перейти в папку C:Program FilesOpenVPNconfig
.
Теперь нужно перенасти конфигурационный файл OpenVPN в папку C:Program FilesOpenVPNconfig
. Перетащите файл SnowdenVPN.ovpn
из папки Загрузки, в папку, которая была открыта ранее.
После этого вы увидите предупреждение «Destination Folder Access Denied». Windows попросит вас предоставить права администратора для перемещения файла. Согласитесь.
Отлично! Ваш конфигурационный файл SnowdenVPN.ovpn
находится в C:Program FilesOpenVPNconfig
и теперь вы можете подключиться к серверу.
Подключение в VPN-серверу
Дважды нажмите мышью на ярлык OpenVPN GUI на рабочем столе.
Когда OpenVPN GUI запустится, на панеле уведомлений появится его значок.
Нажмите правой кнопкой мыши по значку OpenVPN GUI на панеле уведомлений.
В выпадающем меню выбирите пункт Подключиться.
После этого появится окно подключения.
Когда OpenVPN GUI подключится в серверу, значок станет зеленого цвета.
Создать VPN-сервер бесплатно
В последнее время популярности набирает клиент OpenVPN. После подключения к бесплатным VPN серверам в пользователей появляется возможность использования Интернета без ограничений. Все VPN программы и сервисы позволяют с лёгкостью открывать заблокированные сайты. OpenVPN является одним из самых безопасных VPN-протоколов, доступных на сегодняшний день.
Эта статья собственно и расскажет, как пользоваться OpenVPN GUI. Будем настраивать подключение OpenVPN на примере операционной системы Windows 10. Большинство поставщиков VPN-услуг и экспертов по безопасности действительно рекомендуют OpenVPN. Благодаря открытому исходному коду любой пользователь может его проверить или улучшить.
Как настроить OpenVPN на Windows 10
Как работает OpenVPN
Протокол OpenVPN отвечает за поддержание коммуникации между клиентом и сервером. Как правило, он используется для создания защищённого туннеля между VPN-клиентом и сервером.
Для шифрования и аутентификации OpenVPN использует библиотеку OpenSSL. Кроме того, для передачи данных OpenVPN могут использоваться протоколы UDP или TCP.
- TCP требует отклика от клиента, которому доставлен пакет данных, подтверждения доставки, и для этого ему необходимо установленное заранее соединение. Протокол TCP исключает потери данных, дублирование и перемешивание пакетов, задержки.
- UDP всё это допускает, и соединение для работы ему не требуется. Протокол UDP доставляет пакеты данных гораздо быстрее, потому лучше подходит для приложений, которые рассчитаны на широкую пропускную способность и быстрый обмен.
Как установить OpenVPN
На официальном сайте производителя выберите версию программы для своей операционной системы. Существуют клиенты под все популярные операционные системы: Windows, Linux, MacOS, Android, iOS. Если же Вы загружали установщик с официального сайта, тогда проблем с установкой не возникнет. Запустите установочный файл и следуйте шагам мастера установки.
Как подключиться OpenVPN
Перед подключением нужно выбрать бесплатный VPN сервер, загрузив на компьютер файл конфигурации определённого сервера. Его стоит выбирать исходя из расположения, качества линии, пропускной способности и пинга.
Много разных сайтов содержат бесплатные сервера ретрансляции. Рекомендуем перейти на сайт vpngate.net и выбрать подходящий сервер загрузив файл конфигурации для OpenVPN.
Теперь запустите программу OpenVPN GUI от имени администратора в Windows 10. В противоположном случае просто не удастся подключиться к выбранному серверу.
- На панели задач в контекстном меню OpenVPN выберите Импорт конфигурации… В открывшемся окне проводника укажите расположение ранее загруженной конфигурации.
- После импорта можно смело выбирать пункт Подключиться. При необходимости можно импортировать несколько конфигураций. В таком случае подключений будет два или три.
Рекомендуем импортировать несколько разных конфигураций, после чего перейти к их тестированию. Для тестирования можно воспользоваться сервисами проверки скорости Интернета на компьютере Windows 10.
Если же перейти в расположение: C: Пользователи Имя_пользователя OpenVPN config, то можно увидеть, и при необходимости удалить, папки с ранее добавленными конфигурациями.
После подключения к определённому серверу весь трафик пользователя будет проходить через VPN. Таким образом, можно будет играть в игры или посещать сайты, заблокированные в регионе. Скорость — далеко не его сильная сторона, но если у Вас скоростной Интернет, то скорость будет приемлемой. Как правило, скорость интернета падает из-за сильного уровня шифрования в OpenVPN.
Заключение
При необходимости для работы сами используем OpenVPN. На данный момент OpenVPN считается лучшим VPN-протоколом. На практике все наши высказывания подтверждаются. После первого использования, даже бесплатных серверов, сложно использовать другие VPN-клиенты. В принципе и без дополнительного программного обеспечения можно настроить VPN соединение на Windows 10.
(3 оценок, среднее: 4,33 из 5)
Администратор и основатель проекта Windd.ru. Интересуюсь всеми новыми технологиями. Знаю толк в правильной сборке ПК. Участник программы предварительной оценки Windows Insider Preview. Могу с лёгкостью подобрать комплектующие с учётом соотношения цены — качества. Мой Компьютер: AMD Ryzen 5 3600 | MSI B450 Gaming Plus MAX | ASUS STRIX RX580 8GB GAMING | V-COLOR 16GB Skywalker PRISM RGB (2х8GB).
Обновлено: 09.12.2021
Опубликовано: 20.07.2017
Тематические термины: OpenVPN, VPN, Windows, Linux, CentOS, Ubuntu
В данной инструкции подробно описан процесс настройки клиента OpenVPN на примере операционных систем Windows и Linux. Также, с ее помощью можно настроить скиента на Android.
Установка
Настройка
Пример конфигурационного файла
Ключи
Сертификаты
Запуск
Несколько конфигураций
Сертификаты внутри ovpn файла
Отзыв сертификата
Читайте также
Установка
Windows
Заходим на официальную страницу загрузки openvpn и скачиваем клиента для нужной Windows:
Запускаем скачанный файл и устанавливаем программу, нажимая «Далее».
Linux CentOS
Устанавливаем репозиторий EPEL:
yum install epel-release
Устанавливаем openvpn:
yum install openvpn
Linux Ubuntu
apt-get install openvpn
Android
Установка выполняется из Google Play. Набираем в поиске OpenVPN Connect — нажимаем установить и принимаем условия.
Настройка
После установки программы конфигурационный файл не создается автоматически и его нужно создать вручную.
В системах Windows создаем файл config.ovpn в папке %programfiles%OpenVPNconfig.
* имя файла может быть любым, расширение должно быть .ovpn.
Для создания конфигурационного файла в Linux выполняем команду:
vi /etc/openvpn/client.conf
* чтобы служба openvpn автоматически выполняла соединение, необходимо, чтобы конфигурационный файл назывался client.conf.
Пример конфигурационного файла
client
dev tun
proto udp
remote 192.168.0.15 443
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
dh dh2048.pem
tls-client
tls-auth ta.key 1
float
keepalive 10 120
comp-lzo
verb 0
Параметры конфигурационного файла
Параметр | Значения | Описание |
---|---|---|
client | Строка говорит о том, что конфигурационный файл описывает клиентское подключение (программа сама устанавливает соединение, а не ждет, как сервер). | |
dev | tap или tun | Выбор виртуального сетевого драйвера. TUN — сетевой уровень модели OSI, оперирует IP-пакетами. TAP — эмулирует Ethernet устройство и работает на канальном уровне модели OSI, оперируя кадрами Ethernet. Настраивая OpenVPN клиента, в большинстве случаев, необходимо выбирать tun. TAP необходимо использовать для работы определенных сервисов, например DHCP. |
dev-node | любая строка | Параметр используется в системах Windows в случаях, если имеется несколько сетевых интерфейсов. Значение этого параметра должно содержать название сетевого подключения, через который должен работать OpenVPN. |
proto | udp или tcp | Указывает, какой протокол использовать для передачи данных. В большинстве случаев, лучше использовать UDP, так как данный протокол создает меньше нагрузки на сеть. |
remote | VPN-сервер и порт | Задает сервер, к которому должен подключаться клиент, а также сетевой порт (по умолчанию 1194), на котором OpenVPN принимает запросы. Можно указать несколько строк. |
remote-random | Если указано несколько строк remote, данный параметр говорит, что необходимо подключаться к удаленным серверам в случайном порядке. | |
resolv-retry | количество секунд или infinite | Используется в тех случаях, когда в качестве сервера указано доменное имя. Параметр задает время в секундах для повторного переподключения, если не удалось узнать имя сервера. infinite — держать связь с сервером постоянно. |
nobind | Клиент использует динамический порт для подключения. | |
user | учетная запись | Задает определенного пользователя для работы клиента (только для UNIX-систем). |
group | группа | Задает определенную группу для работы клиента (только для UNIX-систем). |
persist-key | Не перечитывает ключи при перезагрузке сервиса OpenVPN. | |
persist-tun | Не перечитывает параметры туннеля при перезагрузке сервиса OpenVPN. | |
http-proxy | сервер прокси и порт | Использовать прокси-сервер для подключения. |
http-proxy-retry | Переподключаться к прокси-серверу, если связь была разорвана. | |
http-proxy-timeout | количество секунд | Время, через которое выполнять попытки переподключения к прокси-серверу. |
mute-replay-warnings | Параметр стоит задавать при использовании беспроводного соединения. Он отключит дублирование предупреждений пакетов. | |
ca | пут к сертификату | Корневой сертификат удостоверяющего центра. Генерируем на сервере. |
cert | пут к сертификату | Открытый ключ клиента. Генерируем на сервере. |
key | пут к сертификату | Закрытый ключ клиента. Генерируем на сервере. |
dh | пут к сертификату | Ключ с алгоритмом Diffie-Hellman (Диффи-Хеллмана). |
remote-cert-tls | сервер | Исключает возможность mitm атаки, включая верификацию сертификата сервера. |
tls-client | Указание на то, что это клиент TLS. | |
tls-auth | ta.key 1 | Дополнительный уровень аутентификации посредством ключа TLS. |
float | Удаленный хост может менять IP-адрес в процессе соединения, при этом последнее не будет разорвано. | |
keepalive | секунд1 секунд2 | Пинговать каждые секунд1 сервер и если в течение секунд2 не будут получены ответные пакеты, перезапустить подключение. |
cipher | алгоритм | Указывает алгоритм шифрования. Примеры: AES-256-CBC, AES-128-CBC, BF-CBC, DES-EDE3-CBC. |
comp-lzo | Использовать сжатие. | |
verb | число от 0 до 9 | Уровень детализации лога. 0 отключает отладочную информацию. |
mute | число | Указывает сколько лог-сообщений может отображаться для каждой категории события. |
auth-user-pass | ничего или путь к файлу | Говорит клиенту, что необходима аутентификация. Если не указан путь к файлу, клиент выкинет окно для авторизации, иначе прочитает данные из файла. |
ipchange | команда или путь к скрипту | Выполняет команду при смене IP. |
connect-retry | секунд | Переподключиться к серверу через указанное количество секунд, если соединение было разорвано. |
connect-retry-max | число | Сколько раз повторять соединение, если оно было разорвано. |
shaper | байт | Задает максимальную скорость передачи данных для исходящего трафика. |
tun-mtu | число | Задает MTU. |
status | путь к файлу | Путь к фалу хранения статуса. |
log | путь к файлу | Путь к лог-файлу. |
askpass | путь к файлу | Путь к файлу с паролем для приватного ключа (private key password). |
Наиболее полный и актуальный список параметров для OpenVPN можно получить командой openvpn —help (в Linux и Windows).
Сертификаты
Клиентские сертификаты генерируются на стороне сервера. Процедура следующая.
Для Linux:
cd /etc/openvpn/easy-rsa
. ./vars
./build-key client
Для Windows:
cd %ProgramFiles%OpenVPNeasy-rsa
vars.bat
build-key.bat client
* в выше приведенных примерах был сгенерирован клиентский сертификат client. Более подробно про создание сертификатов для клиентов читайте на страницах настройка openvpn на Windows и настройка openvpn на CentOS.
Сгенерированные ключи появятся в каталоге keys. Их необходимо скопировать на клиентский компьютер вместе с сертификатами сервера и разместить по каталогам, указанным в конфигурационном файле. В нашем примере они должны быть скопированы в ту же папку, в которой находится сам файл конфигурации.
В итоге мы получаем, примерно, следующее.
Для Windows:
Для Linux:
ls /etc/openvpn/client/
ca.crt client.crt client.key client.conf dh2048.pem ta.key
Запуск
Для проверки можно запустить клиента вручную. Но для повседневного использования стоит настроить автоматический запуск.
Вручную
На Windows:
Запускаем OpenVPN GUI от имени администратора — в правом нижнем углу появится иконка программы:
Кликаем по ней правой кнопкой мыши и выбираем Подключиться:
На Linux:
Переходим в каталог с конфигурационным файлом:
cd /etc/openvpn
Вводим команду:
openvpn —config /etc/openvpn/client.conf
или:
systemctl start openvpn@client
* также служба может называться openvpn.
Автоматически
На Windows:
Выполняем 2 действия.
1. Наш конфигурационный файл с сертификатами переносим из каталога config в каталог config-auto:
* в старых версиях клиента каталога config-auto нет — тогда оставляем файлы в config.
2. Открываем службы и находим OpenVPNService. Переводим его в режим автозапуска:
На Linux:
Разрешаем автозапуск службы:
systemctl enable openvpn@client
или для старых версий.
CentOS / Red Hat / Fedora:
chkconfig openvpn on
Ubuntu / Debian:
update-rc.d openvpn defaults
Несколько конфигурационных файлов
Позволит держать несколько конфигураций для подключения к различным VPN-серверам. Между последними можно переключаться из клиентской программы.
Для Windows:
В каталоге config создаем для каждого сервера свою папку и помещаем в нее рабочие файлы (файл конфигурации, сертификаты и так далее). В каждой папке называем конфигурационные файлы ovpn своими именами (даже если файлы будут находиться в разных папках, но с одинаковыми именами, клиент OpenVPN будет воспринимать их как один конфиг).
Пример каталога config:
Пример файлов в одном из каталогов:
Теперь при подключении клиентом к можно выбрать конкретный VPN-сервер:
Для Linux:
Также как для Windows, создаем для каждого сервера свой каталог, куда скопируем рабочие файлы:
mkdir /etc/openvpn/server1
А в каталоге /etc/openvpn создаем для каждого подключения свой конфиг:
vi /etc/openvpn/client1.conf
* в конфигурационном файле все пути до файлов должны вести в соответствующий каталог (в нашем примере, /etc/openvpn/server1).
Запускаем OpenVPN:
openvpn —config /etc/openvpn/server1/client.conf
Для автоматического запуска мы уже ранее применяли команду:
systemctl enable openvpn@client
… где @client — указатель на использование конфигурационного файла client внутри папки openvpn (/etc/openvpn). Таким образом, если мы создали 2 файла client1.conf и client2.conf, команды для разрешения автозапуска бelen такие:
systemctl enable openvpn@client1
systemctl enable openvpn@client2
Сертификаты внутри конфигурационного файла
Ключи сертификатов можно хранить не в отдельных файлах, а внутри конфигурационного файла ovpn.
<ca>
——BEGIN CERTIFICATE——
…
——END CERTIFICATE——
</ca>
<tls-auth>
——BEGIN OpenVPN Static key V1——
…
——END OpenVPN Static key V1——
</tls-auth>
<cert>
——BEGIN CERTIFICATE——
…
——END CERTIFICATE——
</cert>
<key>
——BEGIN PRIVATE KEY——
…
——END PRIVATE KEY——
</key>
<dh>
——BEGIN DH PARAMETERS——
…
——END DH PARAMETERS——
</dh>
* key-direction 1 — необходим для tls-auth, в противном случае, работать не будет; ca — ключ центра сертификации (ca.crt); tls-auth — ta.key; cert — открытый сертификат клиента (clients.crt); key — закрытый сертификат клиента (clients.key); dh — сертификат, созданный на базе протокола Диффи Хеллмана.
Отзыв сертификата
Для Linux:
cd /etc/openvpn/easy-rsa
. ./vars
./revoke-full client
Для Windows:
cd %ProgramFiles%OpenVPNeasy-rsa
vars.bat
revoke-full.bat client
* с помощью данных манипуляций мы отзываем сертификат client.
Читайте также
Настройка сервера OpenVPN на Windows
Установка и настройка OpenVPN на Linux CentOS 7
Настройка OpenVPN сервера с включением аутентификации через LDAP (Active Directory)
Настройка доступа к локальной сети клиентам OpenVPN в CentOS 7
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 FilesOpenVPN.
После окончания установки появится новый сетевой адаптер типа Wintun Userspace Tunnel. Этот адаптер отключен, если служба OpenVPN не запущена.
Создаем ключи шифрования и сертификаты для OpenVPN
OpenVPN основан на шифровании OpenSSL. Это означает, что для обмена трафиком между клиентом и серверов VPN нужно сгенерировать ключи и сертификаты с использованием RSA3.
Откройте командную строку и перейдите в каталог easy-rsa:
cd C:Program FilesOpenVPNeasy-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 FilesOpenVPNeasy-rsapkica.crt»
- Ключ центра сертификации «C:Program FilesOpenVPNeasy-rsapkiprivateca.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 FilesOpenVPNeasy-rsapkiissuedserver.crt»)
Теперь можно создать ключи Диффи-Хеллмана (займет длительное время):
./easyrsa gen-dh
Для дополнительной защиты VPN сервера желательно включить tls-auth. Данная технология позволяет использовать подписи HMAC к handshake-пакетам SSL/TLS, инициируя дополнительную проверку целостности. Пакеты без такой подписи будут отбрасываться VPN сервером. Это защитит вас от сканирования порта VPN сервера, DoS атак, переполнения буфера SSL/TLS.
Сгенерируйте ключ tls-auth:
cd C:Program FilesOpenVPNbin
openvpn --genkey secret ta.key
Должен появиться файл «C:Program FilesOpenVPNbinta.key». Переместите его в каталог C:Program FilesOpenVPNeasy-rsapki
Теперь можно сформировать ключи для клиентов OpenVPN. Для каждого клиента, который будет подключаться к вашему серверу нужно создать собственные ключи.
Есть несколько способов генерации ключей и передачи их клиентам. В следующем примере, мы создадим на сервере ключ клиента и защитим его паролем:
./easyrsa gen-req kbuldogov
./easyrsa sign-req client kbuldogov
Данный ключ («C:Program FilesOpenVPNeasy-rsapkiprivatekbuldogov.key») нужно передать клиенту и сообщить пароль. Клиент может снять защиту паролем для ключа:
openssl rsa -in "C:Program FilesOpenVPNeasy-rsapkiprivatekbuldogov.key"-out "C:Program FilesOpenVPNeasy-rsapkiprivatekbuldogov_use.key"
Если вы хотите сгенерировать ключ, не защищенный паролем, нужно выполнить команду:
./easyrsa gen-req имяклиента nopass
На сервере с OpenVPN вы можете создать неограниченное количество ключей и сертификатов для пользователей. Аналогичным образом сформируйте ключи и сертфикаты для других клиентов.
Вы можете отохвать скомпрометированные сертификаты клиентов:
cd C:Program FilesOpenVPNeasy-rsa
EasyRSA-Start.bat
./easyrsa revoke kbuldogov
Итак, мы сгенерировали набор ключей и сертификатов для OpenVPN сервера. Теперь можно настроить и запустить службу OpenVPN.
Конфигурационный файл OpenVPN сервера в Windows
Скопируйте типовой конфигурационный файл OpenVPN сервера:
copy "C:Program FilesOpenVPNsample-configserver.ovpn" "C:Program FilesOpenVPNconfig-autoserver.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 FilesOpenVPNlogserver.log»
Если при запуске OpenVPN вы видите в логе ошибку:
Options error: In C:Program FilesOpenVPNconfig-autoserver.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 «HKLMSYSTEMCurrentControlSetServicesTcpipParameters» /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 FilesOpenVPN Connectagent.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 FilesOpenVPNlogopenvpn.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
- Коллективные
- Персональные
И снова здравствуйте.
Эта последняя статья посвященная OpenVPN в целом и настройке клиента в частности. В этот раз мы настроим с вами клиента под Windows 10 но на предыдущих версиях этой операционной системы все это тоже будет работать. Задача следующая, обеспечить подключение клента к нашему OpenVPN серверу, который мы настраивали в с статье: Настраиваем OpenVPN сервер Linux на примере Ubuntu мы уже можем настраивать клиента Ubuntu, осталось дело за малым, чем мы сейчас и займемся.
Чтобы приступить к настройке, нам необходимо скачать, этого самого, клиента для Windows, я качал под 64 разрядную ОС.
Тут все просто, качаем клиента с сайта openvpn.net/index.php/download/community-downloads.html
Запускаем установку и следуем указаниям инсталятора, по принципу Next -> Next -> OK
Переходим в директорию с установленным OpenVPN
C:Program FilesOpenVPNconfig
Нам необходимо создать там файл, назовем его client.ovpn с содержимым:
# Тип подключения -клиент
client
# Через какое устройство подключаемся
dev tun
По какому протоколу будем работать
proto tcp
#proto udp
# Адрес OpenVPN сервера и его порт (можно указать IP или URL)
remote openvpn.example.org 1194
# Тип шифрования, как на OpenVPN сервере
cipher AES-256-CBC
# Сертификат удостоверяющего центра
ca ca.crt
# Сертификат и ключ клиента
cert user.crt
key user.key
# Клиент поддерживает шифрование
tls-client
# Указываем путь к ключу TLS
tls-auth ta.key 1
# Включаем компрессию данных
comp-lzo
# Не использовать специфический порт для работы
nobind
persist-key
persist-tun
# Уровень логирования если нужно подробнее, то выставляем 9 для дебагинга
verb 3
# Количество записей после которых будет производиться запись в лог
#mute 20
Нам необходимо получить с OpenVPN сервера 4 файла:
ca.crt
ta.key
user.crt
user.key
Где:
ca.crt и ta.key первый является сертификатом удостоверяющего центра, второй это ключ шифрования OpenVPN сервера, они должны быть у каждого пользователя!
user.crt и user.key ключ и сертификат пользователя, у каждого пользователя они свои т.е. создаются персонально
Дальше на остается запустить OpenVPN клиента:
Нажимаем подключиться:
Появится лог подключения, который при установке соединения исчезнет:
Иконка подключения станет зеленой, значит соединение установлено и работает нормально, также появится плашка в которой будет написан присвоенный IP адрес
Для клиентов Windows есть особенность, необходимо указывать IP адреса из диапазона в 4 адреса т.е. если вы хотите присвоить клиенту адрес 172.16.10.4 то соединение на другом конце должны быть из диапазона:
172.16.10.1 172.16.10.2 172.16.10.3 172.16.10.4
172.16.10.5 172.16.10.6 172.16.10.7 172.16.10.8
172.16.10.9 172.16.10.10 172.16.10.11 172.16.10.12
Иначе соединение обрывается, во так все просто.
На этой оптимистической ноте я закончу свое повествование, если возникли вопросы, задавайте их в комментариях.
Есть что добавить? Регистрируйся и оставляй комментарии!
Чтобы не испытывать трудностей в настройках, мы настоятельно рекомендуем использовать наше собственное VPN приложение для Windows.
Если вы выбрали в качестве подключения OpenVPN GUI и не знаете как настроить, следуйте дальнейшим инструкциям ниже.
Установка приложения и файлов конфигурации
Если у вас уже есть тестовый или премиум код доступа, введите его на странице VPN
и нажмите Подключиться. Далее в личном кабинете выберите Компьютер > Windows > OpenVPN и скачайте конфигурацию TCP или UDP.
Отличие протоколов
- Совместимость TCP (больше подходит для работы в браузере)
- Низкий пинг UDP (подходит для игр, торрентов)
После того как вы скачали файлы конфигурации, скачайте клиент OpenVPN GUI для вашей операционной системы с официального сайта и установите.
Следующим шагом, вам необходимо разархивировать скачанный ранее архив с файлами конфигурации.
Внутри будет папка windows, выделите содержимое папки и нажмите Ctrl + C
Далее, найдите установленную программу OpenVPN GUI, найти ее можно по адресу C:Program FilesOpenVPNconfig перейдите в нее и нажмите Ctrl+V.
Первое подключение и проверка работоспособности VPN
Найдите на рабочем столе установленное приложение OpenVPN GUI, правым кликом мыши выберите > Запускать от имени администратора
Программа запустилась, найти ее можно будет в правом нижнем углу в трее рядом с часами, нажимаем правой кнопкой мыши, выбираем необходимый сервер из списка и жмем подключиться.
После подключения, открываем страницу в браузере и проверяем смену IP адреса. Если IP-адрес изменился,
значит вы все сделали правильно и VPN корректно работает.
Если подключение не произошло или появилась другая проблема:
После подключения не изменился IP-адрес: Решение проблемы
Ошибка All TAP-Win adapters on this system are currently in use: Решение проблемы
Если вы не смогли решить проблему самостоятельно или не нашли ответ в нашем FAQ, напишите нам.
Не забудьте отправить нам лог подключения вместе с описанием проблемы:
Правый клик мыши на иконке OpenVPN в трее (рядом с часами) → Сервер к которому пытаетесь подключиться → View Log.
В этой статье я рассмотрю процесс настройки OpenVPN клиента (client) и сервера (server) на примере версии 2.4.7. используемая операционная система — Windows 10, но таким же образом можно настроить OpenVPN на Windows 7.
OpenVPN – механизм реализации виртуальных частных сетей (Virtual Private Network, VPN) с открытым исходным кодом. Используется для создания защищенных (шифрованных) каналов связи между сервером и клиентом, а так же между двумя точками.
OpenVPN позволяет создавать безопасные соединения между компьютерами, которые находятся за пределами фаервола, при этом не требуется изменять настройки фаервола.
Создателем системы является Джеймсом Йонаном (James Yonan).
Что бы создать защищенный канал используется библиотека OpenSSL. Весь набор шифров доступный в библиотеке используется в системе.
Система предлагает пользователю несколько способов аутентификации:
- Аутентификация с помощью предустановленного ключа – наиболее простой метод.
- Серверная аутентификация – более сложный, но при этом более гибкий в настройках метод.
- При помощи ввода логина и пароля. Может использоваться без создания сертификата клиента, при этом сертификат сервера все равно необходим.
Давайте разберемся на примере. Я настрою OpenVPN на двух компьютерах под управлением Windows 10. Они будут находиться в одной локальной сети. Так как для настроек через интернет необходим хотя бы один статический IP-адрес.
На этом примере мы разберемся, как создавать ключи и сертификаты безопасности, а так же научимся настраивать конфигурационный файл VPN-сервера и VPN-клиента.
Установка и настройка OpenVPN
Один компьютер будет играть роль сервера. Второй – клиента. На сервере при установке OpenVPN нужно установить флажок EasyRSA – для генерации сертификатов и ключей.
Переходим на официальный сайт OpenVPN http://openvpn.net/community-downloads/ и скачиваем программу. В моем случае OpenVPN 2.4.7 для Windows 10 (openvpn-install-2.4.7-I607-Win10).
В теории можно скачать и более поздний релиз, но лучше скачивать проверенную версию. Так как я не настраивал последние версии. Если дойдут руки, то дополню статью.
После запуска программы установки включаем EasyRSA (на сервере) и устанавливаем. Программа устанавливается просто и не требует каких-либо специфических настроек при установке.
Затем устанавливаем программу втором компьютере который будет играть роль клиента.
Далее нужно настроить компьютеры, что бы они видели друг друга в сети. Этот процесс зависит от установленной у вас операционной системы. Фактически вам нужно включить сетевое обнаружение.
Создание сертификатов и генерация ключей
Ключи и сертификаты создаются на сервере OpenVPN. Для их создания необходимо выполнить следующие действия:
Запустите командную строку от имени администратора.
С помощью команды cd перейдите в папку C:Program FilesOpenVPNeasy-rsa и выполните команду init-config.bat, после чего в папке easy-rsa появиться файл vars.bat.
Откройте vars.bat с помощью блокнота или иного текстового редактора. Я открыл в Notepad++. Укажите свои данные.
Данные можно указывать в процессе работы с OpenVPN.
Вернитесь в командную строку и по очереди выполните команды vars и clean-all поочередно.
Выполните команду build-dh. Если у вас появиться ошибка «openssl» не является внутренней или внешней командой, исполняемой программой или пакетный файлом, то нужно добавить в переменные среды путь OpenVPNbin.
Для этого нужно в переменную среды Path создать путь C:Program FilesOpenVPNbin.
Затем заново откройте командную строку и выполните пункты 4-5 заново.
Подождите до завершения процесса. В результате в паке OpenVPNeasy-rsakeys появиться файл dh2048.pem.
Создайте новый сертификат Certificate Authority (CA) и ключ, для чего введите команду build-ca. После завершения процесса в папке keys появятся два файла ca.crt и ca.key.
Создайте сертификат и ключ сервера. Для этого введите команду build-key-server к которой нужно добавить [CommonName] (в моем случае abuzov-name), то есть моя команда будет build-key-server abuzov-name. В конце дайте положительный ответ (y) на два вопроса.
Создайте сертификат и ключ для клиента. Введите команду build-key [CommonNameClient], например build-key ClientVPN1.
Создайте ключ для аутентификации пакетов, для этого выполните команду openvpn —genkey —secret keys/ta.key. В результате в папке easy-rsakeys появится файл ta.key
Имя | Где применяется | Назначение | Секретность |
---|---|---|---|
ca.crt | Сервер + все клиенты | Корневой сертификат (Root CA certificate) | Нет |
ta.key | Сервер + все клиенты | Файл аутентификации пакетов | Да |
ca.key | Сервер | Корневой ключ (Root CA key) | Да |
dh2048.pem | Сервер | Файл параметров | Нет |
abuzov-name.csr | Сервер | Сертификат сервера | Нет |
abuzov-name.key | Сервер | Ключ сервера | Да |
ClientVPN1.csr | Только на ClientVPN1 | Сертификат клиента | Нет |
ClientVPN1.key | Только на ClientVPN1 | Ключ клиента | Да |
Теперь нужно скопировать соответствующие ключи на сервер и клиент в папку config (в моем случае это C:Program FilesOpenVPNconfig).
Создание и настройка файлов конфигурации OpenVPN
Конфигурация основывается на файлах типовой конфигурации, которые находятся в C:Program FilesOpenVPNsample-config.
Настройка конфигурации сервера
Копируете файл server.ovpn из папки sample-config в папку config. Открываете и редактируете его. Обратите внимание на двойные слеши.
- Найдите строку, которая начинается на ca и укажите путь к своему ca файлу. В моем случае это ca «C:\Program Files\OpenVPN\config\ca.crt».
- Найдите cert и отредактируйте соответственно, в моем случае это cert «C:\Program Files\OpenVPN\config\abuzov-name.crt».
- По аналогии с key — key «C:\Program Files\OpenVPN\config\abuzov-name.key».
- Аналогично с dh — dh «C:\Program Files\OpenVPN\config\dh2048.pem»
- Аналогично tls-auth — «C:\Program Files\OpenVPN\config\ta.key».
Я приведу полный код конфигурации сервера, на всякий случай, что бы его можно было просто скопировать. Так как знаю что такое первая настройка OpenVPN.
mode server port 1194 dev tap proto tcp-server tls-server tls-auth "C:\Program Files\OpenVPN\config\ta.key" 0 duplicate-cn auth MD5 tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 ca "C:\Program Files\OpenVPN\config\ca.crt" cert "C:\Program Files\OpenVPN\config\abuzov-name.crt" key "C:\Program Files\OpenVPN\config\abuzov-name.key" # This file should be kept secret dh "C:\Program Files\OpenVPN\config\dh2048.pem" server 10.10.10.0 255.255.255.0 client-to-client keepalive 10 120 comp-lzo persist-key persist-tun verb 3 route-delay 10 route-method exe route 10.10.10.0 255.255.255.0 route 192.168.0.0 255.255.0.0 route-gateway 10.10.10.1
Сохраните файл конфигурации сервера.
Запустите OpenVPN от имени администратора (и сразу сделайте так, что бы он всегда запускался от имени администратора).
После этого подключитесь к северу как показано на рисунке.
Настройка конфигурации клиента
Копируете файл client.ovpn из папки sample-config в папку config. Открываете и редактируете его аналогии. В моем случае это:
- ca «C:\Program Files\OpenVPN\config\ca.crt»
- cert «C:\Program Files\OpenVPN\config\ClientVPN1.crt»
- key «C:\Program Files\OpenVPN\config\ClientVPN1.key»
- remote IP_адрес_сервера
Опять, лучше приведу полный код.
remote IP-адрес-вашего-сервера client port 1194 dev tap proto tcp-client tls-client tls-auth "C:\Program Files\OpenVPN\config\ta.key" 1 remote-cert-tls server route-delay 2 auth MD5 tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 ca ca.crt cert ClientVPN.crt key ClientVPN.key pull cipher AES-128-CBC comp-lzo persist-key persist-tun verb 3 route-method exe route-delay 3
Единственное что нужно сделать — указать IP-адрес сервера.
Далее подключаем клиент OpenVPN.
Если клиент не подключается к серверу, тогда нужно на сервере необходимо запустить regedit.exe, затем перейти по адресу: «КомпьютерHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters» и изменить IPEnableRouter на 1. После чего перезагрузить сервер и подключиться к OpenVPN заново.
После этого можно подключаться по защищенному соединению.