У меня возникла проблема с установкой и включением OpenVPN 2.4.8 на сервере Red Hat 8, работающем как экземпляр EC2 на AWS.
Я предпринял следующие шаги.
Добавлен репозиторий EPEL (Extra Packages for Enterprise Linux), выполнив следующее.
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Это устанавливает репозиторий без видимых проблем, а затем я устанавливаю OpenVPN.
sudo dnf install openvpn
dnf
находит пакет и, похоже, устанавливает его без каких-либо проблем, как показано ниже.
Extra Packages for Enterprise Linux 8 - x86_64 1.5 MB/s | 4.0 MB 00:02
Last metadata expiration check: 0:00:01 ago on Thu Nov 28 16:03:24 2019.
Dependencies resolved.
======================================================================================================================================================================================================================================================================= Package Arch Version Repository Size
=======================================================================================================================================================================================================================================================================Installing:
openvpn x86_64 2.4.8-1.el8 epel 540 k
Installing dependencies:
pkcs11-helper x86_64 1.22-7.el8 epel 64 k
Transaction Summary
=======================================================================================================================================================================================================================================================================Install 2 Packages
Total download size: 604 k
Installed size: 1.4 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): pkcs11-helper-1.22-7.el8.x86_64.rpm 571 kB/s | 64 kB 00:00
(2/2): openvpn-2.4.8-1.el8.x86_64.rpm 4.3 MB/s | 540 kB 00:00
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Total 197 kB/s | 604 kB 00:03
warning: /var/cache/dnf/epel-fafd94c310c51e1e/packages/openvpn-2.4.8-1.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
Extra Packages for Enterprise Linux 8 - x86_64 1.6 MB/s | 1.6 kB 00:00
Importing GPG key 0x2F86D6A1:
Userid : "Fedora EPEL (8) <epel@fedoraproject.org>"
Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
Is this ok [y/N]: y
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : pkcs11-helper-1.22-7.el8.x86_64 1/2
Running scriptlet: openvpn-2.4.8-1.el8.x86_64 2/2
Installing : openvpn-2.4.8-1.el8.x86_64 2/2
Running scriptlet: openvpn-2.4.8-1.el8.x86_64 2/2
Verifying : openvpn-2.4.8-1.el8.x86_64 1/2
Verifying : pkcs11-helper-1.22-7.el8.x86_64 2/2
Installed:
openvpn-2.4.8-1.el8.x86_64 pkcs11-helper-1.22-7.el8.x86_64
Complete!
Если я попытаюсь включить или запустить OpenVPN с помощью sudo systemctl enable openvpn.service
/ sudo systemctl enable openvpn@server.service
или sudo systemctl start openvpn.service
/ sudo systemctl start openvpn@server.service
он не включается или не запускается, как показано ниже.
Failed to enable (or start) unit: Unit file openvpn.service does not exist.
Если я сбегу systemctl | grep openvpn
для OpenVPN вообще ничего не возвращается.
После установки OpenVPN через apt
на Ubuntu, если я позвоню sudo systemctl status openvpn.service
независимо от того, предоставил ли я еще server.conf
затем systemctl
возвращает мне статус, как показано ниже.
● openvpn.service - OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Это не происходит в Red Hat 8. Итак, мой вопрос: как мне узнать, почему, несмотря на установку OpenVPN через dnf
и имея server.conf
и сертификаты на месте, когда я пытаюсь управлять службой с systemctl
модуль OpenVPN, кажется, на самом деле не установлен?
В рамках /usr/lib/systemd/system
каталог, указанные ниже единицы существуют.
openvpn-client@.service
openvpn-server@.service
Если я сбегу sudo systemctl status openvpn-server@server
тогда я действительно получаю что-то обратно, но я не могу это запустить, потому что сразу же выходит из строя.
● openvpn-server@server.service - OpenVPN service for server
Loaded: loaded (/usr/lib/systemd/system/openvpn-server@.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:openvpn(8)
https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
https://community.openvpn.net/openvpn/wiki/HOWTO
Я безрезультатно искал решение, поэтому надеюсь, что кто-нибудь может помочь!
Из-за отсутствия подробных журналов ошибок на плакате я предлагаю свое решение здесь. Столкнувшись с той же проблемой на экземпляре AWS RHEL 8.2, я обнаружил, что для запуска службы необходимо изменить некоторые детали конфигурации. Они могут отличаться в зависимости от используемых шаблонов и руководств / блогов.
server.conf
находится в правильном каталогеВ зависимости от учебного курса, которому вы следуете, расположение server.conf
будут отличаться (если вообще упомянут эту деталь!).
Настроив сервер на Ubuntu раньше, я обычно храню их в /etc/openvpn/
. Однако, по всей видимости, для RHEL 8 он должен быть в /etc/openvpn/server
, то есть:
cd /etc/openvpn
sudo mv server.conf server/
Я обнаружил, что необходимо создать /var/log/openvpn
папка:
cd /var/log
sudo mkdir openvpn
После выполнения этих команд я обнаружил, что каталог волшебным образом заполнен необходимыми файлами. Мне любопытно посмотреть, есть ли у кого-нибудь такие же результаты.
nogroup
к nobody
В server.conf
, измените строку, читающую group nogroup
к group nobody
. Возможно, так оно и есть в вашей конфигурации, но, исходя из опыта работы с Ubuntu, я обнаружил, что это самая большая проблема, которая ломает голову.
Поскольку OP перечислил довольно много команд, которые он пробовал - а другие плакаты предлагали больше - я дам команды, которые сработали для меня:
sudo systemctl enable openvpn-server@server.service
Примечание: Некоторые источники предлагают использовать -f
флаг, чтобы заставить его: sudo systemctl -f enable openvpn-server@server.service
, но я не счел это необходимым.
Затем:
sudo systemctl start openvpn-server@server.service
И вы сделали!
Похоже, что нет службы, созданной как openvpn@server.service
. После установки пакетов необходимо создать файл конфигурации, в этом случае файл должен быть server.conf.
Например:
$ sudo cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn
$ sudo nano /etc/openvpn/server.conf
После правильной настройки server.conf вы можете использовать команды systemctl.
Попробуй использовать это руководство. Это от Centos7, но похоже, что он совместим с Red Had 8.
Похоже, что служба openvpn еще не включена должным образом. Включите службу openvpn с помощью следующей команды
systemctl enable openvpn@vpnname.service
Вы можете запустить службу OpenVPN вручную, используя следующую команду
systemctl start openvpn@vpnname.service