Openssl не является внутренней или внешней командой исполняемой программой или пакетным файлом

Обновлено: 06.07.2024

В данной статье мы создадим защищенный туннельный интерфейс на базе OpenVPN.
Почему OpenVPN спросите Вы, ведь есть же PPTP, L2TP.
Отвечаю, я тестировал соединения на базе этих двух протоколов. К сожалению они не показали достаточно стабильного соединения между собой. Происходили частые падения туннельных интерфейсов.
Возможно это было связано с какой-то прошивкой. Но это не столь важно. Важно то, что настроив один раз туннель на OpenVPN, я забыл про разрывы связи совсем и до сих пор все работает отлично.

Если Вы хотите изучить MikroTik, то это можно реализовать с помощью специального онлайн-курса "Настройка оборудования MikroTik". В курсе изучаются все темы из официальной программы MTCNA, а автором курса является официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто даже не держал его в руках. В состав курса входят 162 видеоурока, 45 лабораторных работ и вопросы для самопроверки с конспектом. Кстати я получал сертификат MTCNA именно тут!

Не поддерживается в 6 версии операционной системы:
UDP протокол, т.е. необходимо использовать исключительно TCP!
LZO сжатие
TLS аутентификация
Аутентификация без имени пользователя и пароля
Если Вы будете читать эту статью, и уже будет доступна 7 версия RouterOS, то в ней, все это, уже должно работать (но это не точно)!

OpenVPN предлагает пользователю несколько видов аутентификации.
Предустановленный ключ — самый простой метод.
Сертификатная аутентификация — наиболее гибкий в настройках метод.
С помощью логина и пароля — может использоваться без создания клиентского сертификата (серверный сертификат всё равно нужен).

Мы будем использовать Сертификатную аутентификацию для обеспечения хорошей защищенности нашего соединения.

Запускаем файл init-config.bat
C:\Program Files\OpenVPN\easy-rsa>init-config.bat
C:\Program Files\OpenVPN\easy-rsa>copy vars.bat.sample vars.bat
Скопировано файлов: 1.

Далее открываем редактором файл openssl-1.0.0.cnf
Находим строчку default_days 365 и заменяем число 365 на 3650 или свое. Тем самым мы увеличим время жизни наших сертификатов на 10 лет.
Сохраняем и закрываем.

Дополнительно:
Если Вы тот еще параноик, то Вы можете отредактировать еще один параметр:
set KEY_SIZE=1024
Для пущей сложности данный параметр можно изменить на 2048 и на 4096(для современных версий OpenVPN)
Но будьте готовы к долгому ожиданию(на слабых ПК очень долгому), пока сгенерируется ключ.

Пишем в консоль команды
vars
clean-all

В ответ должно прийти
Скопировано файлов: 1.
Скопировано файлов: 1.

Создаем ключ Диффи-Хеллмана
build-dh
Вывод из консоли:
C:\Program Files\OpenVPN\easy-rsa>build-dh
WARNING: can't open config file: /etc/ssl/openssl.cnf
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
. +.

Создаем основной сертификат
build-ca

При генерации основного сертификата в консоли будут отображаться вопросы. Просто нажимаем Enter, т.к. все эти параметры мы ввели в файле vars.bat
Нажимаем Enter до тех пор, пока не отобразиться строка приглашения
C:\Program Files\OpenVPN\easy-rsa

Далее создаем сертификат сервера и его ключ:
build-key-server server

На вопросы так же нажимаем Enter, но не торопимся, в самом конце будет задано два вопроса
Sign the certificate?
1 out of 1 certificate requests certified, commit?

На оба эти вопроса отвечаем Y
Вывод из консоли:
Certificate is to be certified until Oct 16 07:03:55 2027 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

Теперь создаем сертификат и ключ клиента:
build-key client

Пример создания клиентских сертификатов:
build-key client1
build-key office1

На этом создание файлов сертификатов и ключей завершено.
Все файлы будут лежать в папке C:\Program Files\OpenVPN\easy-rsa\keys\
Примерной такой список файлов должен получиться у Вас

2. Настройка OpenVPN сервера и интерфейса туннеля на hAP ac
Переходим к созданию туннеля на роутере hAP ac
Необходимо загрузить сертификат сервера, ключ сервера и основной сертификат в роутер. Файлы:
ca.crt
server.crt
server.key

Открываем раздел Files и переносим туда наши файлы. (Или используем FTP)
Загруженные файлы сертификатов и ключа Теперь нам необходимо импортировать данные сертификаты в RouterOS, чтобы она могла ими оперировать.
Меню сертификатов Импортируем наши сертификаты и ключи
Выбираем нужные сертификаты и ключ и импортируем их Консольно:
/certificate import file-name=ca.crt passphrase=""
/certificate import file-name=server.crt passphrase=""
/certificate import file-name=server.key passphrase=""

Займемся настройкой OpenVPN. переходим в меню PPP
Меню PPP Добавляем новый профиль для нашего туннеля Нам необходимо выделить IP адреса, которые мы будем использовать для туннельных интерфейсов.
Я выбрал подсеть 172.16.10.0/24 соответственно сервер будет иметь адрес 172.16.10.1, а клиенты далее по маске. 2,3,4 и т.д.
Заполняем необходимые параметры профиля Заполняем оставшиеся параметры профиля Консольно:
/ppp profile add name=ovpn-server local-address=172.16.10.1 change-tcp-mss=yes use-upnp=no use-mpls=yes use-compression=no use-encryption=yes only-one=default

Добавляем авторизационные данные для каждого клиента, который будет подключаться к OpenVPN серверу.
Открываем вкладку с записями данных авторизации Т.к. у сервера IP 172.16.10.1 выдаем клиенту IP 172.16.10.2
Добавляем нашего клиента Консольно:
/ppp secret add name=client password=123456789 service=ovpn profile=ovpn-server remote-address=172.16.10.2

Теперь нужно включить саму службу OpenVPN
Нажимаем кнопку для отображения параметров сервера Выполняем настройки сервера Консольно:
/interface ovpn-server server set enabled=yes port=1194 mode=ip netmask=24 default-profile=ovpn-server certificate=server.crt_0 require-client-certificate=yes auth=sha1,md5 cipher=blowfish128,aes128,aes192,aes256

В принципе этих настроек достаточно, но я предпочитаю наблюдать за интерфейсом. для этого мы можем зафиксировать интерфейс за конкретным клиентом. Сделаем привязку.
Биндим интерфейс Достаточно ввести имя клиента из PPP Secret и имя самого интерфейса Консольно:
/interface ovpn-server add name=ovpn-inclient user=client

Может показаться, что мы все уже настроили, но это не совсем так. Остался последний штрих. Необходимо разрешить прохождение запросов на OpenVPN сервер через Firewall
Для этого переходим в меню межсетевого экрана
Переходим в меню Firewall Добавляем новую запись Разрешаем входящий трафик на порту 1194 с интерфейса WAN Само разрешение Консольно:
/ip firewall filter add chain=input protocol=tcp dst-port=1194 in-interface=WAN action=accept comment="Accept OpenVPN Requests"

На этом настройка OpenVPN на роутере hAP ac завершена, переходим к роутеру hEX

hex-import-cert

3. Настройка OpenVPN клиента и интерфейса туннеля на hEX
На данном роутере нам необходимо проделать гораздо меньше операций для запуска клиента.
Помним, что создали сертификат клиента! Загружаем его в роутер и импортируем по аналогии с hAP ac.
Загружаем и импортируем сертификат и ключ клиента Консольно:
/certificate import file-name=client.crt passphrase=""
/certificate import file-name=client.key passphrase=""

ppp-ovpn-client-profile

Создаем профиль для OpenVPN в меню PPP
Добавляем новый профиль Консольно:
/ppp profile add name=ovpn-client change-tcp-mss=yes use-upnp=no use-mpls=yes use-compression=no use-encryption=yes

Добавляем интерфейс OpenVPN для подключения к OpenVPN серверу.
Как мы помним из первой части цикла статей, внешний IP адрес у нас 98.76.54.32
Добавляем интерфейс клиента OpenVPN Задаем имя интерфейса Заполняем параметры для подключения к серверу OpenVPN Консольно:
/interface ovpn-client add name=ovpn-outclient connect-to=98.76.54.32 port=1194 mode=ip user=client password=123456789 profile=ovpn-client certificate=client.crt_0 auth=md5 cipher=blowfish128

ovpn-client-status

Шифрование Вы можете выбрать любое, которое установили доступным для сервера.
После создания интерфейса туннель должен уже быть активен. В списке IP адресов Вы должны увидеть IP 172.16.10.2 полученный от OpenVPN сервера.
Также в статусе можно увидеть с какими параметрами подключен интерфейс.
Признаки активного соединения

Вот мы и закончили создание OpenVPN туннеля между двумя роутерами hAP ac и hEX
Буду рад любым замечаниям или комментариям. Возможно Вы знаете, как сделать лучше!

P.S.
Аналогом данного решения может послужить вариант PPTP туннеля. А шифрование можно организовать в самом EoIP посредством IPsec

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

Бьюся уже полдня так и нечего не выходит.
Может подскажет хто де копать то дольше.
Заранее всем откликнувшимся спасибо!

Может вместо %KEY_DIR% и %KEY_CONFIG% указать конкретные значения, тогда какие.

(2) vars.bat - отредактировал, все как в ссылке делаю, ан результата НЕТ.
Може чета глобально не так делаю.
Не генерятся ca.key и ca.crt и на этом все встало.

Ну подскажите кто нибудь, чтоб с места хоть стронуться.

Extract all zip'd files to the OpenVPN home directory,
including the openssl.cnf file from the top-level
"easy-rsa" directory.

First run init-config.bat

Next, edit vars.bat to adapt it to your environment, and
create the directory that will hold your key files.

To generate TLS keys:

Create new empty index and serial files (once only)
1. vars
2. clean-all

Build a CA key (once only)
1. vars
2. build-ca

Build a DH file (for server side, once only)
1. vars
2. build-dh

Build a private key/certficate for the openvpn server
1. vars
2. build-key-server <machine-name>

Build key files in PEM format (for each client machine)
1. vars
2. build-key <machine-name>
(use <machine name> for specific name within script)

To revoke a TLS certificate and generate a CRL file:
1. vars
2. revoke-full <machine-name>
3. verify last line of output confirms revokation
4. copy crl.pem to server directory and ensure config file uses "crl-verify <crl filename>"
Че я сделал неправильно?

Могу посоветовать удалить OpenVPN, установить все с нуля, дальше делать все как написано в статье. Там все подробно и абсолютно верно написано.

cd %HOME%
rem build a cert authority valid for ten years, starting now
openssl req -days 3650 -nodes -new -x509 -keyout %KEY_DIR%\ca.key -out %KEY_DIR%\ca.crt -config %KEY_CONFIG%
==========================================

сообщает, что "openssl" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

OpenVPN режим мультиклиента: Часть 1 - Создание ключей и сертификатов Печать

Изменено: Чт, 13 Авг, 2020 at 1:19 PM

В роутерах серии RTU есть возможность использования защищенного соединения через частную виртуальную сеть, под названием OpenVPN

Процесс настройки и конфигурирования данного пакета для рядового пользователя может сопровождаться достаточно большими трудностями из-за отсутствия необходимых знаний.

Практически всю часть конфигурирования можно произвести через WEB интерфейс, но некоторые элементы все же придется произвести через консоль!

Что такое OpenVPN и для чего он необходим можно ознакомиться в статье: OpenVPN

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


1. Генерация сертификатов и ключей на Windows

Для генерации сертификатов и ключей шифрования на ОС Windows необходимо установить само приложение OpenVPN.

После скачивания и установки в указанную Вами папку в ней будет список файлов, по умолчанию OpenVPN устанавливается в директорию C:\Program Files\OpenVPN .


Для генерации ключей будем использовать easy-rsa . Необходимо запустить командную строку от имени администратора и перейти в директорию с папкой easy-rsa. В примере используем команду для перехода в папку по умолчанию, у Вас данный путь может отличаться.

cd C:\Program Files\OpenVPN\easy-rsa

1.1 Запускаем файл init-config.bat

C:\Program Files\OpenVPN\easy-rsa>init-config.bat
C:\Program Files\OpenVPN\easy-rsa>copy vars.bat.sample vars.bat
Скопировано файлов: 1.

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

Мы подставили свои параметры, у Вас данные параметры будут другие.

Там где написано server, не трогаем. Сохраняем файл.

1.2 Редактируем файл openssl-1.0.0.cnf

От имени администратора открываем блокнот, нам необходимо отредактировать файл openssl-1.0.0.cnf. По умолчанию данный файл находится в директории C:\Program Files\OpenVPN\easy-rsa, у Вас данный путь также может отличаться.

Нам необходимо найти строчку:

Далее необходимо заменить значение 365 на 3650, в более новых версиях OpenVPN значение 3650 может быть уже установлено по умолчанию.

1.3 Генерируем ключи и сертификаты

Подаем последовательно в консоль команды:

В ответ должно прийти

Скопировано файлов: 1.
Скопировано файлов: 1.

Если, мы это видим, значит все хорошо, продолжаем.

1.4 Создаем центр сертификации CA

build-ca

На данном моменте в некоторых случаях может возникнуть ошибка:

Для устранения ошибки открываем файл vars.bat от имени администратора и ищем строку

Удаляем rem, после чего данная строка должна принять вид:

Сохраняем, далее снова подаем последовательно команды

В ответ должно прийти

Скопировано файлов: 1.
Скопировано файлов: 1.

build-ca

При генерации основного сертификата в консоли будут отображаться вопросы. Просто нажимаем Enter , т.к. все эти параметры мы ввели в файле vars.bat

Нажимаем Enter до тех пор, пока не отобразиться строка приглашения

1.5 Создаем ключ Диффи-Хелмана

Данный шаг не является обязательным, ключ Диффи-Хелмана необходим для реализации одноименного протокола

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

В применении к OpenVPN файл Диффи-Хелмана нужен для обеспечения защиты трафика от расшифровки, если ключи были похищены. Здесь имеется в виду тот трафик, который был записан и сохранен еще до похищения ключей.

Файл Диффи-Хелмана создается на сервере OpenVPN.

Для создания ключа необходимо подать команду:

1.6 Создаем сертификат и ключ сервера

На вопросы нажимаем Enter , но не торопимся, в самом конце будет задано два вопроса

Sign the certificate?

1 out of 1 certificate requests certified, commit?

На оба эти вопроса отвечаем Y

1.7 Создаем сертификат и ключ клиента

Также не торопимся с ответами, как только увидим строку "Common Name (eg, your name or your server's hostname)" нужно ответить client.

В самом конце также будут два вопроса, отвечаем также Y

Причем: для каждого клиента, нужно будет создать отдельные ключи и называть их client1, client2 или как-то иначе, все зависит от Вашего воображения.

На этом создание файлов сертификатов и ключей завершено.

Все файлы будут лежать в папке C:\Program Files\OpenVPN\easy-rsa\keys\

2. Генерация сертификатов и ключей на Linux

Генерация сертификатов и ключей будет осуществляться на ОС Ubuntu Linux 20.04.

Для других систем на базе Linux, некоторые команды могут отличаться!

Первоначально необходимо обновить все пакеты ОС Linux, подаем в консоль команду:

sudo apt-get update

sudo apt-get upgrade

Установим пакет zip, если он не был установлен ранее:

sudo apt install zip

2.1 Установка утилиты Easy-RSA

Создадим нового пользователя ca и переведем его в домашний каталог:

sudo adduser ca

В ответ система выведет информацию и попросит ввести пароль:

Вводим пароль, затем еще раз его повторяем, если все хорошо, система выведет следующую информацию:

Нажимаем Y, пользователь успешно создан.

Делаем loging под пользователя ca:

Далее необходимо загрузить дистрибутив программы утилитой wget:

2.2 Создаем инфраструктуру публичных PKI, создание центра сертификации СА:

Создадим инфраструктуру публичных ключей (Public Key Infrastructure, PKI):

В ответ система оповестит, что PKI создан успешно:

Далее создаем удостоверяющий центр сертификации:

Пароль будет защищать приватный ключ центра сертификации. Этот пароль потребуется каждый раз, когда Вы будете подписывать сертификаты для серверов и клиентов OpenVPN.

В конечном итоге у нас создадутся в системе два файла, которые нам в дальнейшем пригодятся: ca.crt и ca.key. Данные файлы находятся в директориях:

Файл ca.key является секретным, его нельзя передавать на другие узлы Вашей сети.

Файл ca.crt открытый, его необходимо передавать на узлы серверов и клиентов сети OpenVPN.

2.3 Создаем список отзывов сертификатов

Если сотрудник уволился из компании и у него есть доступ в сети VPN компании, нам необходимо закрыть этот доступ путем отзыва сертификата CRL. Для создания сертификата проделаем следующее:

cd /home/ca/easy-rsa-master/easyrsa3
$ ./easyrsa gen-crl

Система запросит пароль для доступа к закрытому ключу ca.key. Список отзыва сертификатов будет доступен в файле crl.pem:

Данный сертификат передается OpenVPN серверу. Также в конфиге сервера должен быть прописан путь до crl.pem, как правило данное правило прописывается в server.conf.

Для блокировки доступа пользователю, заблокируем ранее выданный сертификат, используя команду:

$ ./easyrsa revoke test

В таблице ниже описана структура каталога PKI:

2.4 Установка OpenVPN, создание каталога для конфигурации клиентов

Процесс создания сервера OpenVPN включает в себя установку пакета OpenVPN, создание сертификатов и ключей, а также подготовку рабочей конфигурации.

Установим пакет OpenVPN:

$ sudo apt-get install openvpn

Первоначально необходимо подготовить файлы конфигурации openssl.cnf и server.conf. Первый файл определяет конфигурацию OpenSSL, второй файл определяет конфигурацию сервера OpenVPN.

В комплекте с утилитой Easy-RSA поставляется пример файла конфигурации OpenSSL. Если Вы делали все действия по данному гайду, данный файл будет находиться по пути:

По умолчанию файл openssl-1.0.cnf содержит в себе следующую информацию:

Чтобы запуск сервера OpenVPN прошел успешно, необходимо создать каталоги, в которых будут храниться сертификаты и ключи для сервера и клиентов OpenVPN:

Создадим каталог для конфигурации клиентов:

$ sudo mkdir /etc/openvpn/ccd

2.5 Подготовка сертификатов и ключей для сервера OpenVPN

Для организации OpenVPN нам потребуются файлы, перечисленные в таблице ниже:

ФайлОписание
dh.pemКлюч Диффи-Хелмана, используется для защиты трафика от расшифровки, необходимо загружать как на клиент, так и на сервер (опционально)
ca.crtСертификат удостоверяющего центра CA, необходимо загружать на сервер и клиент OpenVPN
server.crtСертификат сервера OpenVPN, необходимо загружать на сервер OpenVPN
server.keyПриватный ключ сервера, секретный, необходимо загружать на сервер OpenVPN
crl.pemCписок отзыва сертификатов CRL, необходимо загружать на сервер (опционально)
ta.keyКлюч HMAC для дополнительной защиты от DoS-атак и флуда (опционально)
client.crtСертификат клиента OpenVPN, необходимо загружать на клиент OpenVPN
client.keyПриватный ключ клиента, секретный, необходимо загружать на клиента OpenVPN

Так как центр сертификации мы уже сгенерировали, на следующем этапе сгенерируем сертификат и приватный ключ для сервера OpenVPN.

$ ./easyrsa gen-req server


В процессе создания, система запросит пароль, а также имя Common Name для сервера OpenVPN:

Если же Вы хотите создать данные файлы без защиты паролем, используем команды:

$ ./easyrsa gen-req server nopass

Таким образом, в системе создадутся два файла: server.req и server.key, первый из них является открытым, его необходимо будет в дальнейшем подписать удостоверяющим центром СА, второй является секретым, его необходимо хранить на сервере OpenVPN.

Следующим шагом необходимо подписать данный сертификат (server.req) на стороне удостоверяющего центра СА:

$ ./easyrsa sign-req server server

Отлично! Теперь необходимо загрузить на сервер OpenVPN сертификат server.crt, который был только что создан, а также ключ server.key.

По умолчанию и ключ находятся в следующих директориях:

2.6 Подготовка сертификатов и ключей для клиента OpenVPN

Генерировать сертификат будем под пользователем ca:

su ca

cd /etc/home/ca/easy-rsa-master/ easy-rsa3

./easyrsa gen-req client nopass

Если к защите данных предъявляются повышенные требования, сертификат можно создать с паролем:

./easyrsa gen-req client

Далее система попросит ввести Common Name, я назову данный сертификат client1, после генерации ключа система дополнительно оповестит нас об этом:

Таким образом, в системе создадутся два файла: client.req и client.key, первый из них является открытым, его необходимо будет в дальнейшем подписать удостоверяющим центром СА, второй является секретым, его необходимо будет в дальнейшем загрузить на клиент OpenVPN.

Далее необходимо только что созданный сертификат client.req подписать в удостоверяющем центре СА:

./easyrsa sign-req client client

Отлично! Теперь необходимо загрузить на клиент OpenVPN сертификат client.crt, который был только что создан, а также ключ client.key.

По умолчанию и ключ находятся в следующих директориях:

2.7 Создаем ключ Диффи-Хелмана

Для генерации ключа Диффи-Хелмана будем использовать команду:

Создание ключа Диффи-Хелмана может занять достаточно продолжительное время, по окончании данного процесса система оповестит об этом:

Данный ключ находится в директории:

2.8 Создание статического ключа HMAC

Для создания ключа HMAC используется команда openvpn с опциями --genkey и --secret. Данный ключ необходимо создавать не от обычного пользователя, а от пользователя с правами администратора.

Система попросит ввести пароль от админской учетки, после ввода пароля необходимо выдать себе права на владение:

sudo chown -R teleofis:teleofis .

openvpn --genkey --secret ta.key

Ключ сгенерирован, он будет находиться в директории:

На этом моменте создание сертификатов закончено, далее переходим к следующей статье:
OpenVPN режим мультиклиента: Часть 2 - Настройка RTU сервера (tun)

OpenVPN - установка и настройка

OpenVPN – механизм реализации виртуальных частных сетей (Virtual Private Network, VPN) с открытым исходным кодом. Используется для создания защищенных (шифрованных) каналов связи между сервером и клиентом, а так же между двумя точками.

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

Создателем системы является Джеймсом Йонаном (James Yonan).

Как работает OpenVPN

Что бы создать защищенный канал используется библиотека OpenSSL. Весь набор шифров доступный в библиотеке используется в системе.

Система предлагает пользователю несколько способов аутентификации:

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

Давайте разберемся на примере. Я настрою OpenVPN на двух компьютерах под управлением Windows 10. Они будут находиться в одной локальной сети. Так как для настроек через интернет необходим хотя бы один статический IP-адрес.

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

Установка и настройка OpenVPN

Один компьютер будет играть роль сервера. Второй – клиента. На сервере при установке OpenVPN нужно установить флажок EasyRSA – для генерации сертификатов и ключей.

В теории можно скачать и более поздний релиз, но лучше скачивать проверенную версию. Так как я не настраивал последние версии. Если дойдут руки, то дополню статью.

После запуска программы установки включаем EasyRSA (на сервере) и устанавливаем. Программа устанавливается просто и не требует каких-либо специфических настроек при установке.

Затем устанавливаем программу втором компьютере который будет играть роль клиента.

Далее нужно настроить компьютеры, что бы они видели друг друга в сети. Этот процесс зависит от установленной у вас операционной системы. Фактически вам нужно включить сетевое обнаружение.

Создание сертификатов и генерация ключей

Ключи и сертификаты создаются на сервере OpenVPN. Для их создания необходимо выполнить следующие действия:

Запустите командную строку от имени администратора.

Запуск командной строки от имени администратора

С помощью команды cd перейдите в папку C:\Program Files\OpenVPN\easy-rsa и выполните команду init-config.bat, после чего в папке easy-rsa появиться файл vars.bat.

Откройте vars.bat с помощью блокнота или иного текстового редактора. Я открыл в Notepad++. Укажите свои данные.

Данные в var.bat

Данные можно указывать в процессе работы с OpenVPN.

Указание данных в процессе

Вернитесь в командную строку и по очереди выполните команды vars и clean-all поочередно.

Команды vars и clean-all

Выполните команду build-dh. Если у вас появиться ошибка «openssl» не является внутренней или внешней командой, исполняемой программой или пакетный файлом, то нужно добавить в переменные среды путь OpenVPN\bin.

Изменение системных переменных сред

Для этого нужно в переменную среды Path создать путь C:\Program Files\OpenVPN\bin.

Переменная path

Затем заново откройте командную строку и выполните пункты 4-5 заново.

Подождите до завершения процесса. В результате в паке \OpenVPN\easy-rsa\keys появиться файл 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.

Таблица соответствия сертификатов и ключей
Имя Где применяется Назначение Секретность
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 Files\OpenVPN\config).

Создание и настройка файлов конфигурации OpenVPN

Конфигурация основывается на файлах типовой конфигурации, которые находятся в C:\Program Files\OpenVPN\sample-config.

Настройка конфигурации сервера

Копируете файл server.ovpn из папки sample-config в папку config. Открываете и редактируете его. Обратите внимание на двойные слеши.

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

Сохраните файл конфигурации сервера.

Запустите OpenVPN от имени администратора (и сразу сделайте так, что бы он всегда запускался от имени администратора).

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

Подключение к серверу OpenVPN

Настройка конфигурации клиента

Копируете файл client.ovpn из папки sample-config в папку config. Открываете и редактируете его аналогии. В моем случае это:

Опять, лучше приведу полный код.

Далее подключаем клиент OpenVPN.

После этого можно подключаться по защищенному соединению.

Подключение openvpn

Анатолий Бузов

Обучаю HTML, CSS, PHP. Создаю и продвигаю сайты, скрипты и программы. Занимаюсь информационной безопасностью. Рассмотрю различные виды сотрудничества.

Читайте также: