我可以启动 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 上无法从命令行工作的原因吗?