当前位置: 首页>>技术教程>>正文


Ubuntu Server 16.04-OpenVPN似乎无法启动,没有日志记录

, ,

问题描述

我按照以下指南how-to-set-up-an-openvpn-server-on-ubuntu在Ubuntu 16.04服务器上安装了oepnvpn

当我使用以下命令启动openVPN服务器:service openvpn start时,它看起来像已经启动了,但是即使激活了日志选项,也没有写入日志文件。

status /var/log/openvpn-status.log
log  /var/log/openvpn.log    

有什么提示可以尝试吗?

  • 如何检查流程/服务是否真的在运行?

  • 如何确定服务是否每次都崩溃?

  • 知道为什么日志文件不写吗?

启动服务时输出

root@Diabolo:/etc/openvpn# service openvpn stop
root@Diabolo:/etc/openvpn# service openvpn start
root@Diabolo:/etc/openvpn# service openvpn status
openvpn.service - OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; enabled; vendor preset: enabled)
Active: active (exited) since Sat 2016-06-25 19:04:12 CEST; 3s ago
Process: 3956 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 3956 (code=exited, status=0/SUCCESS)
Jun 25 19:04:12 Diabolo systemd[1]: Starting OpenVPN service...
Jun 25 19:04:12 Diabolo systemd[1]: Started OpenVPN service.

在系统日志上输出

Jun 25 19:04:12 Diabolo systemd[1]: Starting OpenVPN service...
Jun 25 19:04:12 Diabolo systemd[1]: Started OpenVPN service.

配置文件server.conf

port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key 
dh /etc/openvpn/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
comp-lzo
max-clients 100
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
log  /var/log/openvpn.log
verb 3

最佳回答

问题在于服务配置/lib/systemd/system/openvpn.service仅调用/bin/true(我不知道为什么不将其删除)。可以在/lib/systemd/system/openvpn@.service中找到可用的配置,但是仍然需要对其进行一些修改。

对我有用的解决方案:

1.创建对网络服务的依赖

为了防止覆盖,请在子目录的单独文件中创建它:

 mkdir -p /lib/systemd/system/openvpn\@.service.d

在此目录中创建一个文件。其名称必须以.conf结尾,例如:

 vi /lib/systemd/system/openvpn\@.service.d/local-after-ifup.conf

在此文件中放入以下内容:

[Unit]
Requires=networking.service
After=networking.service

2.尝试启动服务器

systemctl start openvpn@<CONF_NAME>.service

其中CONF_NAME是/etc/openvpn目录中.conf文件的名称。在您的情况下:

systemctl start openvpn@server.service

3.如果一切正常,请启用服务自动启动

systemctl enable openvpn@server.service

次佳回答

搜索后,我发现此链接:

https://a20.net/bert/2016/09/27/openvpn-client-connection-not-started-on-ubuntu-16-04/

edit /etc/default/openvpn, uncomment AUTOSTART=”all”
sudo systemctl daemon-reload
sudo service openvpn restart

我把它煮得更深一些:

echo 'echo "AUTOSTART="\"all"\"" >> /etc/default/openvpn' | sudo -s
sudo systemctl daemon-reload
sudo service openvpn restart

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11432.html,未经允许,请勿转载。