在Ubuntu 16.04上用sytemd启动OpenVPN Client的正确方式

Ubuntu 16.04默认使用systemd管理服务的启动、停止、重新启动和状态查看等。由于之前用习惯了sysv的服务管理方式,用sytemd还很不习惯,有很多不甚了了地方。今天中午准备在Ubuntu 16.04上部署一套OpenVPN用于远程管理阿里云的十几台Linux主机,期间遇到了一个关于systemd的问题,在此记录一下,供需要者查看和了解。

systemd所管理的服务通常位于:/lib/systemd/system/,如果细心的话会发现有些xxx.service中有带“@” at符号的。这种符号表示,这是一个支持“模板”(官方叫template,个人觉得称为“参数”更比较形象)的systemd 服务,@符号后面的内容会被当成变量传递到这个服务中,作为参数使用

原文摘录如下:

OpenVPN is a templatized service under systemd. The services are named openvpn@config.service. So you should be starting your /etc/openvpn/myvpn.conf instance with

systemctl start openvpn@myvpn.service

举个例子:

如下图所示,在看过之后都会好奇:

  1. @符号是做什么用?

  2. 文件中%i这个变量是怎么来的有何用?

那么在了解了上文提到的知识后,就会明白@后面的内容实际上就是%i要替换的内容

Tips:51CTO博客系统的图片可能存在bug或缺陷,如果无法清晰的查看图片,可以使用Chrome浏览器,右键单击图片,选择“在新标签页中打开图片”即可查看高清图片

image

如果在配置OpenVPN客户端时,配置文件的名字叫做“ebt-aliyun-hangzhou-120.26.161.168.conf”,那么在启动这个服务的时候,如要这样启动:

sudosystemctlstartopenvpn@ebt-aliyun-hangzhou-120.26.161.168

image

查看服务的运行状态也需要类似的语法:

sudosystemctlstatusopenvpn@ebt-aliyun-hangzhou-120.26.161.168

image


附:

排错和搜索类似问题的小技巧:最好使用“Google+英文”的搜索方式,如在Google搜索框内输入“ubuntu 16.04 openvpn client systemd”可能更快的找到问题的解决办法。

参考链接

Correct way of systemd for OpenVPN client on 16.04 Server?

tag:ubuntu16.04,openvpn client,openvpn systemd

--end--

相关文章

1.安装过程出现0x00000000指令引用的0x00000000内存该内存不能为written 如果你安装的是inux系统 需要在...
写在全面:如果根据以下教程涉及到只读文件需要更改文件权限才能需修改文件内容,参考我的另一篇博客:...
写在前面:以下步骤中需要在终端输入命令,电脑端查看博客的朋友可以直接复制粘贴到终端,手机端查看的...
ubuntu16.04和18.04更换国内源 写在前面:安装好ubuntu双系统后,默认的软件更新源是国外的,在国内使用...
ubuntu双系统启动时卡死解决办法(在ubuntu16.04和18.04测试无误) 问题描述: 在安装完ubuntu双系统后...
又来造轮子了。。。。。。。。。。。。。。。。 今天使用w3af向文件中写入的时候,发现没有write权限,...