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

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

我按照以下指南在 Ubuntu 服务器 16.04 上安装了 oepnvpn 如何在 ubuntu 上设置 openvpn 服务器

当我使用以下命令启动 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

答案1

问题是服务配置/lib/systemd/system/openvpn.service只是调用/bin/true(我不知道为什么它不被删除)。可用的配置可以在 中找到,但仍然需要进行一些修改。/lib/systemd/system/[email protected]

对我有用的解决方案:

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其中 CONF_NAME 是目录中文件的名称/etc/openvpn。在你的情况下:

systemctl start [email protected]

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

systemctl enable [email protected]

答案2

经过一番搜索后,我发现了这个链接:

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

答案3

服务器conf文件是myserver.conf

systemctl enable openvpn@myserver
service openvpn@myserver start

服务器conf文件是yourserver.conf

systemctl enable openvpn@yourserver
service openvpn@yourserver start

答案4

作为替代方案菲利普·莫克斯利的回答,您可以编辑该/etc/default/openvpn文件并将该AUTOSTART行更改为

AUTOSTART="server"

相关内容