Centos 7 和 OpenVPN:如何让它们成为朋友?

Psy*_*oic 1 openvpn selinux centos centos7

我正在尝试在 Centos 7 上安装 OpenVPN 服务器并面临下一个问题:

[root@msk ~]# /etc/init.d/openvpn start
Starting openvpn (via systemctl):                          [  OK  ]
[root@msk ~]# ps aux | grep openvpn
root      5639  0.0  0.0 112640   980 pts/6    S+   12:54   0:00 grep --color=auto openvpn
[root@msk ~]# service openvpn start
Starting openvpn (via systemctl):                          [  OK  ]
[root@msk ~]# ps aux | grep openvpn
root      5657  0.0  0.0 112640   980 pts/6    S+   12:54   0:00 grep --color=auto openvpn
[root@msk ~]#
Run Code Online (Sandbox Code Playgroud)

如您所见 - 没有任何反应。

但是,如果我尝试使用单个命令启动它:openvpn --daemon --writepid /var/run/openvpn/openvpn.pid --config /etc/openvpn/server.conf --cd /etc/openvpn它运行良好。

我认为问题是selinux。而且我根本不想禁用它。

你能指出我错误在哪里吗?

use*_*517 6

CentOS 7 使用systemd来控制系统服务守护进程。您正在使用 init 脚本表明您已经在没有使用包管理器的情况下安装了 openvpn(openvpn-2.3.2-4.el7 rpm 不包含 init 脚本)

我认为在这一点上,与其尝试调试和使用 init 脚本,不如删除当前安装,然后安装和配置本机支持的包。就像是

yum install openvpn
systemctl enable openvpn@service.service

systemctl start openvpn@server.service
systemctl status -l openvpn@server.service
Run Code Online (Sandbox Code Playgroud)

请注意 openvpn@server 的使用,这与 /etc/openvpn 配置文件有关,在这种情况下应该是 /etc/openvpn/server.conf。例如,如果你有 openvpn 监听端口 443,你可以

systemctl enable openvpn@port443.service
Run Code Online (Sandbox Code Playgroud)

你会用一个/etc/openvpn/port443.conf.