我可以启动 OpenVPN 并将其指向配置文件,一切正常,例如:
sudo openvpn /etc/openvpn/myvpn.conf
Run Code Online (Sandbox Code Playgroud)
但是当我尝试启动服务时
sudo /etc/init.d/openvpn start
Run Code Online (Sandbox Code Playgroud)
我得到的只是系统日志中的输出:
Jun 23 21:02:30 pc systemd[1]: Starting OpenVPN service...
Jun 23 21:02:30 pc systemd[1]: Started OpenVPN service.
Run Code Online (Sandbox Code Playgroud)
但它在骗我,没有运行 openvpn 服务:
gk@pc:/etc/openvpn$ ps -aux | grep openvpn
gk 15456 0.0 0.0 13688 2128 pts/0 S+ 21:18 0:00 grep --color=auto openvpn
Run Code Online (Sandbox Code Playgroud)
没有其他 openvpn 进程在运行。如何启动服务?
我很高兴地注意到 /lib/systemd/system/openvpn.service 里面有:
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/true
ExecReload=/bin/true
WorkingDirectory=/etc/openvpn
Run Code Online (Sandbox Code Playgroud)
我很确定 /bin/true 不是我的 openvpn 客户端应用程序。这就是为什么 openvpn 客户端在 Ubuntu 15.04 上无法从命令行工作的原因吗?
Jde*_*eBP 38
这就是为什么 openvpn 客户端在 Ubuntu 15.04 上无法从命令行工作的原因吗?
不。原因是您没有阅读该单元文件顶部的注释,而是rc直接调用 System 5脚本。 不要rc直接调用 System 5脚本,尤其是在rc不使用System 5 的系统上,例如 Ubuntu 版本 15。
service在 OpenVPN 的情况下,通过命令间接调用它们也是错误的。
OpenVPN 是 systemd 下的模板化服务。这些服务被命名为。所以你应该开始你的实例openvpn@config.service/etc/openvpn/myvpn.conf
systemctl 启动 openvpn@myvpn.service
| 归档时间: |
|
| 查看次数: |
72631 次 |
| 最近记录: |