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


13

我按照以下指南如何在Ubuntu 16.04上安装和安装oepnvpn

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

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

Answers:


16

问题在于服务配置/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是目录中.conf文件的名称/etc/openvpn。在您的情况下:

systemctl start openvpn@server.service

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

systemctl enable openvpn@server.service

13

搜索后,我发现此链接:

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

1
几个月前曾经在我的系统上工作。我暂时不需要openvpn的系统上没有明显的变化。现在它不起作用了。这解决了问题...谢谢!+1
Gissehel '18

1

由于/etc/init.d/openvpn中的错误?

# check if automatic startup is disabled by AUTOSTART=none
if test "x$AUTOSTART" = "xnone" -o -z "$AUTOSTART" ; then
  log_warning_msg " Autostart disabled."
  exit 0
fi
if test -z "$AUTOSTART" -o "x$AUTOSTART" = "xall" ; then
  # all VPNs shall be started automatically
  ...

似乎如果/ etc / default / openvpn中的AUTOSTART为空,则脚本将退出。因此,要么选择Phillip的解决方案,要么在第119行中删除第二个条件:

-o -z "$AUTOSTART"

什么是“虫子”?如果您不告诉它做任何事情,它什么都不做的事实?您是否建议对系统进行修改是个好主意,即使您不告诉它也可以启动?您是否建议回答错误,提示用户应配置软件才能启动该软件?
G-Man说'Resstate Monica''Oct

2
不,我只是建议像许多人一样,我误解了说明以下内容的文档:如果假定为空的“全部”。您是否看到“ openvpn不会自动启动”对搜索引擎的请求数量?
亚历克斯(Alex)

1

服务器配置文件为myserver.conf

systemctl enable openvpn@myserver
service openvpn@myserver start

服务器conf文件是yourserver.conf

systemctl enable openvpn@yourserver
service openvpn@yourserver start

-1

作为Phillip Moxley答案的替代方法,您可以编辑/etc/default/openvpn文件并将AUTOSTART行更改为

AUTOSTART="server"

(1)这是您的意思吗?(1a)如果是,请以后再写下您的答案。它们应该是自给自足的-即,某人应该能够独自阅读问题和您的答案并且您的答案应该是有道理的。但是,如果您要依靠别人的答案,就应该这样说(通过名称和链接进行引用)。(1b)如果这不是您的意思,请编辑您的答案以使其更清晰,更完整。(2)请不要在回答中包含“谢谢”。(3)AUTOSTART="server"AUTOSTART="all"有何不同?是不是更好?为什么?…(续)
斯科特,

(续)…同样,请不要在评论中回复;  编辑您的答案,使其更清晰,更完整。
斯科特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.