Как установить и настроить OpenVPN на сервер с дистрибутивом CentOS 7

В этой статье приведен детальный процесс установки и настройки OpenVPN на сервер, управляемый CentOS 7.

OpenVPN - свободная реализация подключения виртуальных сетей с открытым исходным кодом.

CentOS 7 - система, построенная на исходном коде Red Hat Linux.

Аренда виртуальных серверов от oblako.kz.

Еще до начала установки необходимо скачать и установить дополнительные пакеты из хранилища EPEL, управляемого Fedora Project. В репозитории лежат популярные приложения для CentOS, не установленные в систему по умолчанию.

Этап 1

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

Этап 2

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

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

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

После необходимо удалить значок «;» в строке push "redirect-gateway def1 bypass-dhcp". Это необходимо для того, чтобы уведомления о необходимости перенаправления трафика через установленный клиент приходили своевременно.

Далее важно прописать значения публичных DNS-серверов Google. Это нужно сделать, чтобы клиентские приложения могли использовать сервер, так как им недоступны серверы провайдера. Чтобы внести нужные данные, параметры push "dhcp-option DNS" необходимо сначала раскомментировать, а затем указать данные серверов Google, как это указано ниже.

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

Этап 3

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

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

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

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

Найдите поля, начинающиеся с KEY_ , туда будет вноситься информация о компании. Обязательно необходимо заполнить строки KEY_NAME и KEY_CN.

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

Во втором параметре нужно вписать имя домена.

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

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

Переходите в директорию easy-rsa, где необходимо ввести "source" для создания новых ключей и сертификатов.

Иные данные, лежащие в директории, необходимо удалить.

Внесите данные об организации, которой принадлежит сертификат.

Далее следует этап генерации ключей и сертификатов. Так как все необходимые изменения уже были внесены, то на вопросы системы можно нажимать Enter , то есть далее. В конце необходимо нажать «ДА» («Y»), чтобы сохранить изменения.

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

Сгенерируем вспомогательный ключ ta.key

Созданные данные должны быть скопированы в папку OpenVPN.

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

Этап 4

Настройка производится с использованием инструмента firewall iptables. В случае необходимости его нужно установить, а затем запустить.

В фаерволл добавляется правило, описанное ниже, для направления соединений в OpenVPN:

Путем редактирования sysctl.conf , активируем IP-форвардинг:

Затем нужно добавить такие данные в самое начало файла:

Следующей командой производим перезапуск сервера:

Этап 5

Для корректного запуска программы, необходимо добавить клиент в systemctl:

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

Настройка программы со стороны сервера окончена. Следующим этапом будет настройка со стороны клиента.

Этап 6

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

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

Следующий этап – создание документа под client.ovpn. Это файл настроек для OpenVPN, содержащий нужные данные для соединения с сервером. В соответствующих полях документа нужно исправить введенные данные. Необходимо изменить имя клиента на необходимое, прописать правильный ip-адрес сервера и путь к файлам, где лежат ключи и сертификаты.  

Файл после внесения изменений полностью готов к использованию. Далее мы рассмотрим, как происходит подключение на различных устройствах с разными ОС.

Для подключения на устройстве, работающем на ОС Windows, необходимо:

Для устройств MacOS:

Для Linux:

Если придерживаться этой пошаговой инструкции, то установка OpenVPN и настройка сервера пройдет успешно. После установки необходимо удостовериться в защите трафика. Это легко проверить, если воспользоваться общедоступным сервисом, показывающим публичный IP. При корректной работе будет отображаться адрес VPN-сервера.

Последнее обновление: 31.10.2023