使用服务或systemctl在启动时控制openvpn守护程序?


11

我正在基于Debian的系统上工作,并且仍在学习systemctl vs service,但正在尝试将我的openvpn配置用作解决此问题的用例。

在当前设置中,我openvpn对启动时似乎如何启动以及如何对其进行管理感到困惑。

在启动时,这些是openvpn已经启动的进程:

> ps aux | ag 'openvpn'
nobody     952  0.0  0.0   5800  1108 ?        Ss   13:29   0:00 /usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/server.status 10 --cd /etc/openvpn --config /etc/openvpn/server.conf
root      1537  0.0  0.1   6088  2544 ?        Ss   13:30   0:00 /usr/sbin/openvpn --daemon --auth-nocache --config /root/.vpn_conf/pia.ovpn

我仍然不知道是什么控制着它们在启动时启动。

第一个proc是服务器(我希望禁用),另一个是我希望保留并继续使用的客户端。

我的理解是可以systemctl用来列出所有服务:

> systemctl list-unit-files --type=service | ag 'openvpn'
openvpn.service                               disabled
openvpn@.service                              disabled

两者之间有什么区别?这两项服务是否控制着上述流程?如果禁用了它们,为什么它们仍在启动时启动?

如果尝试使用service来获取的状态openvpn,则会得到:

> service openvpn status
● openvpn.service - OpenVPN service
   Loaded: loaded (/lib/systemd/system/openvpn.service; disabled)
   Active: active (exited) since Sun 2017-02-19 13:29:51 PST; 18min ago
  Process: 936 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 936 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/openvpn.service

Feb 19 13:29:51 systemd[1]: Started OpenVPN service

这促使我问:

如果在systemctl中有两个用于openvpn的条目,那么使用时调用的第二个条目是什么service openvpn_2nd? status

以防万一,有一个/etc/init.d/openvpn脚本。

如果您对以上某些问题有任何见解,将不胜感激。


您正在运行什么发行版?
赛斯

DietPi w / Debian GNU / Linux 8(jessie)Linux 3.14.79+
doremi

Answers:


18

如果要学习systemd,OpenVPN并不是最佳的起点,因为OpenVPN并非一项简单的服务。

OpenVPN是systemd下的模板服务。该服务单位被命名,从单一衍生服务部文件命名。因此,您正在使用openvpn@config.serviceopenvpn@.service/etc/openvpn/server.conf

systemctl启动openvpn@server.service
并使用以下命令在启动时自动启动

systemctl启用openvpn@server.service
显然,您可以使用类似的命令停止并禁用它。

但是,这不是运行OpenVPN客户端的内容。要为此找到服务单元,可以通过运行以下命令从控制组名称中找到单元名称

systemd-cgls /

非模板openvpn.service在其服务单元文件顶部的注释中进行了说明。同样,作为新手对systemd的初次体验,这又使它变得更复杂,难以学习。

进一步阅读

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.