我按照以下指南在 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"