我在作为 AWS 上的 EC2 实例运行的 Red Hat 8 服务器上安装并启用 OpenVPN 2.4.8 时遇到问题。
我采取的步骤如下。
通过运行以下命令添加 EPEL(企业 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) <[email protected]>"
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!
如果我尝试使用sudo systemctl enable openvpn.service
/或/启用或启动 OpenVPN ,则会无法启用或启动,如下所示。sudo systemctl enable [email protected]
sudo systemctl start openvpn.service
sudo systemctl start [email protected]
Failed to enable (or start) unit: Unit file openvpn.service does not exist.
如果我运行,systemctl | grep openvpn
OpenVPN 什么也不会返回。
apt
在Ubuntu 上安装 OpenVPN 后,如果我调用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 上。所以我的问题是,如何找出为什么尽管安装了 OpenVPNdnf
并且拥有server.conf
证书,但当我尝试使用systemctl
OpenVPN 单元管理服务时似乎并没有真正安装?
该目录下/usr/lib/systemd/system
存在以下单元。
[email protected]
[email protected]
如果我运行sudo systemctl status openvpn-server@server
,那么我确实会得到一些回报,但我无法启动它,因为它立即失败。
● [email protected] - OpenVPN service for server
Loaded: loaded (/usr/lib/systemd/system/[email protected]; 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
我已经寻找解决方案但没有成功,所以我希望有人能帮忙!
答案1
由于缺少发帖者提供的详细错误日志,我将在此提供我的解决方案。在 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
改为。这可能已经是您的配置中的情况了,但是,作为一名 Ubuntu 用户,我发现这是最令人头疼的问题。group nogroup
group nobody
最后 - 启动服务
由于 OP 列出了他尝试过的很多命令 - 并且其他发帖者建议了更多命令 - 我将给出对我有用的命令:
sudo systemctl enable [email protected]
笔记:一些资料建议使用-f
标志来强制执行它:,但我发现这没有必要。sudo systemctl -f enable [email protected]
然后:
sudo systemctl start [email protected]
您已经完成了!
答案2
似乎 openvpn 服务尚未正确启用。使用以下命令启用 openvpn 服务
systemctl enable [email protected]
您可以使用以下命令手动启动 OpenVPN 服务
systemctl start [email protected]
答案3
似乎没有创建任何服务[email protected]
。一旦安装了软件包,就必须创建配置文件,在这种情况下,文件需要是 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 兼容。