Настройка openvpn centos 8

Обновлено: 04.07.2024

VPN - набор тех­но­ло­гий, кото­рые поз­во­ля­ют орга­ни­зо­вать логи­че­скую сеть поверх дру­гих. Чаще все­го в роли дру­гих сетей высту­па­ет Интер­нет. Если про­сты­ми сло­ва­ми, то с помо­щью VPN мож­но орга­ни­зо­вать еди­ную локаль­ную сеть раз­де­лен­ных интер­не­том сег­мен­тов сети. Так как Интер­нет - обще­до­ступ­ная сеть, то тра­фик внут­ри создан­ной логи­че­ской сети шиф­ру­ет­ся раз­лич­ны­ми сред­ства­ми для орга­ни­за­ции защи­ты пере­да­ва­е­мых данных.

OpenVPN - одна из реа­ли­за­ций тех­но­ло­гии VPN с откры­тым исход­ным кодом, а зна­чит бес­плат­ная. С ее помо­щью мож­но объ­еди­нять в еди­ную сеть ком­пью­те­ры в том чис­ле и нахо­дя­щи­е­ся за NAT , что очень удоб­но. Openvpn под­дер­жи­ва­ет все попу­ляр­ные на сего­дняш­ний день опе­ра­ци­он­ные систе­мы, в том чис­ле и Windows.

Сре­ди мало­го и сред­не­го биз­не­са сер­вер openvpn очень попу­ля­рен бла­го­да­ря сво­ей бес­плат­но­сти, крос­сплат­фор­мен­но­сти, быст­ро­те и гиб­ко­сти настро­ек. Лич­но я пред­по­чи­таю имен­но его для объ­еди­не­ния уда­лен­ных локаль­ных сетей. Его же пред­по­чи­та­ют исполь­зо­вать vpn-про­вай­де­ры для ока­за­ния сво­их услуг по орга­ни­за­ции ано­ним­но­го сер­фин­га в интернете.

Объединение офисов с помощью openvpn

У нас име­ет­ся офис с шлю­зом CentOS 8, на кото­рый мы будем уста­нав­ли­вать openvpn сер­вер. И есть фили­ал с таким же шлю­зом, где будет уста­нов­лен openvpn client для под­клю­че­ния сети фили­а­ла к офису:


Опи­са­ние схе­мы сети
Имя Centos-server PC1 Centos-client PC2
Внеш­ний ip 10.20.1.38 192.168.13.188
Локаль­ный ip 192.168.220.1 192.168.220.10 192.168.150.1 192.168.150.10
Ком­мен­та­рий Сер­вер openvp и шлюз в офисе Ком­пью­тер с Windows 10 в офисе Кли­ент openvp и шлюз в филиале Ком­пью­тер с Windows 10 в филиале

В дан­ном слу­чае сер­вер в фили­а­ле может быть без внеш­не­го бело­го IP адре­са, это не прин­ци­пи­аль­но, все будет рабо­тать и так. Нам необ­хо­дим толь­ко один внеш­ний IP адрес на сер­ве­ре. Все осталь­ные кли­ен­ты могут быть за NAT , это не поме­ша­ет успеш­но­му объ­еди­не­нию локаль­ных сетей.

Наша зада­ча в дан­ном слу­чае будет сво­дить­ся к тому, что­бы ком­пью­те­ры PC1 и PC2 уви­де­ли друг дру­га и мог­ли сов­мест­но исполь­зо­вать свои сете­вые ресур­сы в обе сто­ро­ны. То есть как за сер­ве­ром, так и за кли­ен­том openvpn мы долж­ны видеть сеть.

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

У меня на стен­де 10.20.1.38 и 192.168.13.188 по сути внеш­ние IP адре­са, кото­рые смот­рят в интернет.

Где скачать openvpn

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

Где мож­но ска­чать openvpn
Исход­ни­ки openvpn-2.5.0.tar.gz
Openvpn client Windows 32 bit OpenVPN-2.5.0-I601-x86.msi
Openvpn client Windows 64 bit OpenVPN-2.5.0-I601-amd64.msi
Openvpn Portable openvpn-portable-win64-setup.exe

Сра­зу же про­ком­мен­ти­рую по пово­ду portable вер­сии openvpn. На теку­щий момент офи­ци­аль­ной пор­ти­ро­ван­ной вер­сии openvpn не суще­ству­ет. Та вер­сия, на кото­рую я дал ссыл­ку, най­де­на мной в гуг­ле и сде­ла­на отдель­ной коман­дой Portapps. Это наи­бо­лее акту­аль­ная и све­жая вер­сия. До нее я исполь­зо­вал OpenVPN Portable с sourceforge, но она силь­но уста­ре­ла, хотя кое-где может и рабо­тать. Я спе­ци­аль­но по это­му пово­ду почи­тал форум Community Openvpn и нашел там неуте­ши­тель­ные отве­ты. Раз­ра­бот­чи­ки гово­рят, что portable вер­сия openvpn не под­дер­жи­ва­ет­ся и выпус­кать ее они даже не соби­ра­ют­ся. А жаль, было бы удоб­но полу­чить пор­ти­ро­ван­ную вер­сию от них.

Для Linux систем дис­три­бу­тив про­ще все­го полу­чить в систем­ных репо­зи­то­ри­ях и уста­нав­ли­вать с помо­щью стан­дарт­ных уста­нов­щи­ков пакетов.

Установка openvpn на CentOS 8

Теперь вер­нем­ся к нашей зада­че. Я под­ра­зу­ме­ваю, что у вас уже есть уста­нов­лен­ный и настро­ен­ный сер­вер CentOS. Если еще нет, то може­те вос­поль­зо­вать­ся мои­ми мате­ри­а­ла­ми. В них рас­кры­ты сле­ду­ю­щие темы:

Уста­нав­ли­ва­ем openvpn на оба наших сер­ве­ра, кото­рые явля­ют­ся шлю­за­ми в сво­их сег­мен­тах сети. Пер­вым делом под­клю­ча­ем репо­зи­то­рий epel к centos:

Поскольку VPS под FreeBSD, отработавшая три года, своими периодическими зависаниями поднадоела, было решено пересобрать всё заново. К сожалению FreeBSD, предлагаемая в шаблонах на aruba.it, не поддерживает IPv6, поэтому новая VPS будет создана на CentOS 8.

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

Устанавливаем пакеты OpenVPN и Easy-RSA:

Создаем папку easy-rsa и символьные ссылки из скрипта easyrsa :

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

Правим файл /etc/openvpn/easy-rsa/vars , раскомментируем и заполняем поля, которые относятся к информации о сертификате:

Устанавливаем размер ключа 4096 bit:

Режим шифрования RSA:

Срок действия корневого сертификата в днях:

Срок действия выпущенных сертификатов в днях:

Сохраняем файл vars. Теперь создаем структуру каталогов для ключей. Команда выполняется только один раз!

Создание корневого сертификата, которым будут подписываться остальные (Certificate Authority):

Опция nopass не требует при запуске пароль, но ключи в этом случае необходимо хранить надежно.

Создание сертификата OpenVPN сервера (Server Certificate):

Генерация ключа Diffie Hellman, для ключа в 4096 bit процесс может занять некоторое время:

Создание сертификата клиента (Client Certificate). Для каждого клиента необходимо выпустить свой сертификат.

Создаем пустой список отозванных сертификатов:

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

Заполняем файл конфигурации:

Создаем папку ccd и пустой файл ipp.txt :

Включаем и запускаем сервис OpenVPN:

Настройка NAT

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

Что бы маршрутизация работала после перезагрузки сервера в файл /etc/sysctl.conf добавляем строчку:

Для применения изменений:

Включение NAT на интерфейсе eth0:

В цепочку INPUT фаервола разрешаем доступ подсети OpenVPN:

Настройка MikroTik в качестве OpenVPN клиента

Копируем на MikroTik созданный ранее сертификат клиента с ключом ( client.crt и client.key ).

mikrotik openvpn client files

В меню System -> Certificates последовательно импортируем сертификат и ключ, кнопка Import . Импортированный сертификат должен иметь атрибуты KT (K - ключ имеет Private Key, T - Trusted).

mikrotik certificates openvpn client

Создаем новое подключение OpenVPN. PPP -> + -> OVPN Client . В открывшемся окне на вкладке General произвольно заполняем поле Name . На вкладке Dial Out последовательно заполняем поля:

  • Connect To - адрес предварительно настроенного OpenVPN сервера
  • Port - 443, как ранее конфигурационном файле OpenVPN сервера
  • Mode - ip
  • User - произвольно, в настройках сервера мы не указывали пользователя, но в настройках MikroTik заполнить его необходимо
  • Profile - default
  • Certificate - в выпадающем списке выбираем ранее импортированный сертификат
  • Auth - sha1
  • Cipher - aes 256
  • Add Default Route - только если хотим, чтобы весь трафик шел в OpenVPN канал

После сохранения настроенное соединение должно подключиться к OpenVPN серверу.

Самое интересное, для чего все это строилось, в разделе IP -> Routes добавляем адреса, трафик с которых мы хотим пустить по OpenVPN соединению.

В строчке FONT меняем значение, чтоб было следующее:
FONT="UniCyr_8x16"

После чего перезагружаем ОС и все будет в порядке!

редактируем опцию SELINUX:
SELINUX=disabled

Так же сразу можно настроить автоматическое удаление старых ядер ОС, а так же настроить samba, либо vsftpd, для передачи сертификатов с сервера на клиенты. На этом подготовка ОС завершена, можно приступить к установке OpenVPN!

Вводим команду ls чтоб увидеть папки:


Вписываем туда свои данные:

* где KEY_CN и KEY_OU: рабочие подразделения (например, можно указать название отдела); KEY_NAME: адрес, по которому будет выполняться подключение (можно указать полное наименование сервера); KEY_ALTNAMES — альтернативный адрес.
* так как мы генерируем самоподписный сертификат, значения данных полей никак не повлияют на работу OpenVPN, однако, для удобства, лучше подставить реальные данные.

Мы должны увидеть:

После ввода команды подтверждаем правильность данных, введя yes:
Confirm request details: yes
и вводим пароль, который указывали при создании корневого сертификата.

ВНИМАНИЕ! Параметры sndbuf и rcfbuf НЕ работают, а иной раз снижают скорость у tap подключения, крайне не рекомендуется использовать эти параметры если вы собираетесь использовать именно этот тип подключения!

Если сервер не работает смотрим логи в папке /etc/openvpn/logs и исправляем. Если все в порядке создаем ключи для клиента. Для настройки клиента необходимо на сервере сгенерировать сертификаты, а на клиентском компьютере установить программу openvpn и настроить ее.

Мы должны увидеть запрос на подтверждение намерения выпустить сертификат — вводим yes:
Confirm request details: yes
* в данном примере будет создан сертификат для adm-1.

Сертификат для клиента Adm-1 готов, идем настраивать клиентский ПК! Если ПК на windows, скачиваем софт с официального сайта openvpn. Устанавливаем в корень диска C:\. Должен получиться путь C:\openvpn. Далее в корне папки openvpn создаем папку ssl, куда нужно будет скопировать ключи и сертификаты клиента adm-1. После чего из папки sample-config копируем конфиг client.openvpn в директорию C:\openvpn\config. Открываем его блокнотом или любым другим удобным текстовым редактором. Удаляем из него все, и заполняем нужными нам параметрами:

После чего запускаем с рабочего стола программу «OpenVPN GUI» от имени администратора. Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»:


Либо включаем автозапуск при старте системы в службах windows:


Чтоб проверить вводим команду ifconfig так же увидим новый адаптер, либо через проверку статуса, или же смотрим сразу логи.

Заполним файл следующими параметрами:

На этом настройка завершена!
Полезные статьи по поводу, медленной скорости openvpn внутри туннеля: статья 1, статья 2

Установка OpenVPN и создание PKI

На первом шаге необходимо произвести установку OpenVPN, а также, программного обеспечения для управления инфраструктурой открытых ключей PKI. Эти работы нужно будет произвести как на сервере OpenVPN, так и на сервере ЦС.

В CentOS Stream и OpenVPN, и Easy-RSA не установлены как приложения по умолчанию. Для инсталляции этих пакетов вам нужно будет задействовать репозиторий EPEL (Extra Packages for Enterprise Linux). Этот репозиторий сейчас является самым популярным неофициальным репозиторием CentOS. В данном репозитории находится большое количество пакетов для CentOS в формате RPM.

Инсталляция этих пакетов запускается следующим образом:

  • Сначала необходимо установить репозиторий EPEL:
  • И только после этого, запустите установку интересующих нас пакетов:

По окончании установки в домашнем каталоге своего пользователя необходимо создать папку /easy-rsa /:

И далее, создайте симлинк при помощи easyrsa :

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

Теперь нужно будет на сервере OpenVPN произвести настройку PKI, структуры, которая будет управлять сертификатами клиентов вашего канала VPN. Для чего, необходимо подключиться к серверу OpenVPN, перейти в папку /easy-rsa/ и там создать файл vars , например, с помощью редактора vi:

Следующие строки необходимо скопировать в этот файл:

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

Далее, необходимо при помощи easyrsa создать директорию PKI:

Вывод работы скрипта выглядит примерно так:

Результат работы скрипта easyrsa при настройке OpenVPN на CentOS Stream

Настройка PKI на сервере ЦС

Далее, похожую настройку PKI необходимо сделать на сервере ЦС. Сначала, нужно так же инициировать PKI в папке /easy-rsa/ . Для запуска необходимо набрать:

В директории /easy-rsa/ нужно создать файл vars :

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

Закройте файл сохранив изменения и запустите скрипт easyrsa с использованием параметра build-ca , для чего наберите:

Здесь система просит вас придумать и набрать парольную фразу для создаваемых ключей. Эту парольную фразу необходимо будет вводить каждый раз, когда вы будете взаимодействовать с центром сертификации, например, при создании или отзыве сертификата. Также, необходимо придумать и ввести Common Name (CN), которое будет обозначать ваш ЦС, или, нажав Enter , принять имя предлагаемое по умолчанию.

Результат работы скрипта easyrsa при настройке OpenVPN на CentOS Stream

Открытый ключ будет использоваться клиентами вашего VPN для того, чтобы они были уверены, что являются частью единой сети, и каждый из них будет иметь копию этого файла. Секретный ключ нужен будет для подписания сертификатов клиентов вашей сети; он будет находиться исключительно на сервере ЦС, в связи в чем, сервер ЦС желательно вывести в оффлайн, чтобы не допустить утечки секретного ключа в результате атаки злоумышленника.

Теперь, когда настройка сервера ЦС завершена, необходимо добавить созданный открытый ключ ЦС на сервер OpenVPN. Другими словами, на сервере OpenVPN нужно создать копию файла ca.crt . Для этого подключитесь к серверу ЦС, перейдите в директорию с созданным открытым ключом и выведите на экран содержимое ca.crt :

Вывод команды выглядит примерно так:

Содержимое ca.crt при настройке OpenVPN на CentOS Stream

Содержимое этого файла, то есть, то что выведено на экран, нужно полностью скопировать в буфер обмена. После чего, переключитесь на сервер OpenVPN, перейдите в каталог /etc/pki/ca-trust/source/anchors/ и там создайте файл ca.crt :

Вставьте в открытый файл скопированный блок текста и закройте файл с сохранением внесённых изменений.

Затем запустите команду:

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

Создание и подписание запроса сертификата

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

Подключитесь к серверу OpenVPN, перейдите в папку

Далее, нужно будет запустить скрипт easyrsa с опцией gen-req , после которого нужно будет указать запоминающееся имя для компьютера. В данном мануале это будет server , вы же можете использовать своё. Для создания запроса без защиты паролем, к команде добавьте nopass .

Результат работы скрипта easyrsa при настройке OpenVPN на CentOS Stream

Итогом работы скрипта будет генерация секретного ключа и файла запроса server.req . Файл ключа нужно будет скопировать в /etc/openvpn/server/ :

Ту же команду можно применить используя доменное имя сервера вместо IP-адреса:

Теперь необходимо подключиться к серверу ЦС и запустить импорт запроса сертификата при помощи easyrsa :

Результат работы скрипта easyrsa при настройке OpenVPN на CentOS Stream

Далее, с помощью того же скрипта easyrsa , но уже с параметром sign-req , запустите подписание запроса. С параметром sign-req необходимо указать тип запроса: server или client . В нашем случае тип запроса будет server , так как мы подписываем запрос сертификата сервера OpenVPN:

Чтобы подтвердить надёжность источника запроса, нужно ввести Yes , после чего нажать Enter .

После завершения передачи файлов, подключитесь к серверу OpenVPN и скопируйте server.crt и ca.crt из папки /tmp/ в папку /etc/openvpn/server/ :

Для получения ключа нужно перейти в каталог

Полученный при этом файл ta.key необходимо скопировать в /etc/openvpn/server/ :

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

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

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

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

Начнём с создания директории, где будут храниться файлы ключей и сертификаты клиентов вашего VPN. С нашем случае директория будет называться /vpn-clients/ :

Далее, из папки /easy-rsa/ запустите скрипт easyrsa , применив опции gen-req и nopass и уникальное имя клиента:

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

Скопируйте 1st_Client.key в

После чего, используя scp , необходимо передать файл 1st_Client.req на сервер ЦС, используя его IP-адрес, либо доменное имя:

Затем подключитесь к серверу ЦС, перейдите в папкуг /easy-rsa/ и запустите импорт запроса сертификата:

После чего подпишите запрос, указав тип запроса client :

Результатом подписания будет создание файла сертификата 1st_Client.crt . Этот файл нужно снова передать на сервер OpenVPN, также, с использованием его IP-адреса, либо доменного имени:

После этого снова подключитесь к серверу OpenVPN и скопируйте файл 1st_Client.crt в папку

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

/vpn-clients/keys/ с предоставлением им соответствующих прав:

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

Настройка OpenVPN

На данном этапе необходимо произвести некоторые настройки конфигурации сервера OpenVPN.

Во первых, файл server.conf необходимо скопировать в папку OpenVPN:

Этот файл нужно будет открыть для редактирования:

В разделе HMAC файла server.conf необходмио найти и закомментировать строку tls-auth , поставив знак ; перед этой строкой, а после неё нужно добавить строку tls-crypt ta.key ​​​:

Файл server.conf при настройке OpenVPN

Далее, в этом же файле необходимо найти строку cipher AES-256-CBC , и так же закомментировать её. После чего вставьте в файл строки cipher AES-256-GCM и auth SHA256 :

Добавление строк в файл server.conf

Затем найдите фрагмент текста, содержащий dh dh2048.pem или dh dh.pem и закомментируйте эту строку, так как в данном случае отсутствует необходимость использовать файл Диффи-Хеллмана. Следующей строкой добавьте текст dh none :

А для того, чтобы OpenVPN мог запускаться без привилегий, необходимо снять комментарий перед строками user nobody и group nogroup :

После завершения редактирования закройте файл, сохранив изменения.

Конфигурация сети на сервере OpenVPN

На следующем этапе необходимо внести изменения в настройки сети, которые будем делать на сервере OpenVPN. Корректировка данных параметров обеспечит правильную маршрутизацию трафика. Для начала откройте для редактирования конфигурационный файл /etc/sysctl.conf :

И вставьте в него строку:

Закройте файл, сохранив изменения. Чтобы новая настройка применилась, наберите:

Настройка сетевого экрана

На этом шаге необходимо произвести настройку брандмауэра для того, чтобы сервер знал, как он должен обрабатывать клиентский трафик. В качестве сетевого экрана на CentOS Stream установлен firewalld .

Сначала необходимо узнать активную зону firewalld :

Настройка firewalld

Теперь добавьте службу OpenVPN в список разрешенных сервисов firewalld :

Настройка firewalld

После этого сервис OpenVPN необходимо добавить в список разрешённых сервисов брандмауэра:

Чтобы убедиться, что настройка применилась, нужно вывести список разрешённых брандмауэром служб, для чего наберите:

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

Проверить корректность добавления подмены можно набрав:

Теперь нужно создать правило подмены для вашей подсети. Чтобы добавить правило маршрутизации, будем использовать переменную, назовём её SHELLVAR , присвоив ей значение первичного сетевого интерфейса:

После чего перезапустите firewalld :

Запуск сервиса OpenVPN

На данном шаге произведите запуск службы OpenVPN при помощи systemctl c включением его в автозагрузку:

Далее, запустите проверку статуса сервиса:

Корректный статус службы должен выглядеть примерно так:

Корректный статус службы

Конфигурация клиентов

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

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

Для этого создайте директорию, где будут сохраняться данные ваших клиентов:

Образец конфигурации клиента скопируйте в папку /vpn-clients/ :

Откройте для редактирования файл base.conf :

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

Проверьте корректность протокола, указанного в строке:

Со следующих строк необходимо снять комментарий:

Следующие строки, наоборот, закомментируйте (на вашем сервере уже произведена настройка на использование tls-crypt вместо tls-auth ):

Значения переменных в следующих строках должны соответствовать переменным, прописанными в файле /etc/openvpn/server.conf . Таким образом, в файле должны присутствовать следующие строки:

Далее, вставьте строку:

И в довершение добавьте строки, с которых нужно будет снять комментарий только для Linux-клиентов:

Теперь можно выйти из файла, сохранив изменения:

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

Закройте файл с сохранением изменений.

Также, необходимо дать этому файлу привилегии исполняемого:

Создание клиента

Ранее, вы создали файлы сертификата и ключа 1st_Client.crt и 1st_Client.key . Конфигурационный файл для этого клиента можно сгенерировать, запустив созданный скрипт из директории /vpn-clients/ :

Результатом работы скрипта будет создание файла 1st_Client.ovpn в каталоге

Созданный файл предназначен для передачи клиенту, который, в свою очередь, должен установить его на своё устройство. Это устройство клиент будет использовать для работы в вашей закрытой сети через настроенный вами сервер OpenVPN. На том же клиентском устройстве (смартфон, ноутбук, десктоп) должно быть установлено ПО OpenVPN. Именно к этому ПО клиент подключает полученнный от вас файл с расширением ovpn . К примеру, в случае, если компьютер клиента работает под управлением операционной системы семейства Windows, то необходимо будет с сайта OpenVPN скачать для установки Windows-дистрибутив, установить его на рабочую станцию и скопировать файл сертификата в одну из директорий, которую приложение укажет при первом своём запуске. При помощи этого ПО клиент сможет осуществлять работу с ресурсами извне, несмотря на то, что используемые им ресурсы будут расположены внутри вашей сети. При этом, вам не нужно будет вносить изменения в настройки вашего брандмауэра, тем самым понижая уровень защищённости сети.

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