在 Ubuntu 上安装和自动启动 OpenVPN 客户端/服务器配置的最佳实践

这篇文章详细介绍了我在 Ubuntu 上安装和激活 OpenVPN 客户端或服务器配置的基于 systemd 的设置。它可能也适用于其他基于 systemd 的 Linux 发行版。

首先,将 OpenVPN 配置(通常是 .ovpn 文件,但也可以是 .conf 文件)放在 /etc/openvpn 中。你需要将文件扩展名更改为 .conf - .ovpn 不起作用。此外,确保文件名中没有空格。

在此示例中,我们的原始 OpenVPN 配置将称为 techoverflow.ovpn,因此需要将其复制到 /etc/openvpn/techoverflow.conf

现在我们可以使用以下命令启用(即开机自动启动 - 但不立即启动)配置

enable_openvpn.sh
sudo systemctl enable openvpn@techoverflow

对于 techoverflow.conf 你需要 systemctl enable openvpn@techoverflow,而对于假设的 foo.conf 你需要 systemctl enable openvpn@foo

现在我们可以启动 VPN 配置 - 即立即运行它使用

start_openvpn.sh
sudo systemctl start openvpn@techoverflow

现在你的 VPN 客户端或服务器正在运行 - 是吗?我们将使用以下命令检查日志

openvpn_journal.sh
journalctl -xfu openvpn@techoverflow

为了手动重启 VPN 客户端或服务器,使用

restart_openvpn.sh
sudo systemctl restart openvpn@techoverflow

类似地运行此命令来停止 VPN 客户端或服务器:

stop_openvpn.sh
sudo systemctl stop openvpn@techoverflow

为了显示实例是否正在运行 - 即显示其状态,使用

openvpn_status.sh
sudo systemctl status openvpn@techoverflow

OpenVPN 客户端的示例输出:

openvpn_example_output.txt
● openvpn@techoverflow.service - OpenVPN connection to techoverflow
     Loaded: loaded (/lib/systemd/system/openvpn@.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-11-29 03:37:52 CET; 953ms ago
       Docs: man:openvpn(8)
             https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
             https://community.openvpn.net/openvpn/wiki/HOWTO
   Main PID: 4123809 (openvpn)
     Status: "Pre-connection initialization successful"
      Tasks: 1 (limit: 18689)
     Memory: 1.3M
     CGroup: /system.slice/system-openvpn.slice/openvpn@techoverflow.service
             └─4123809 /usr/sbin/openvpn --daemon ovpn-techoverflow --status /run/openvpn/techoverflow.status 10 --cd /etc/openvpn --script-security 2 --config /etc/ope>

Nov 29 03:37:52 localgrid systemd[1]: Starting OpenVPN connection to techoverflow...
Nov 29 03:37:52 localgrid ovpn-techoverflow[4123809]: OpenVPN 2.4.7 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Sep >
Nov 29 03:37:52 localgrid ovpn-techoverflow[4123809]: library versions: OpenSSL 1.1.1f  31 Mar 2020, LZO 2.10
Nov 29 03:37:52 localgrid systemd[1]: Started OpenVPN connection to techoverflow.
Nov 29 03:37:52 localgrid ovpn-techoverflow[4123809]: TCP/UDP: Preserving recently used remote address: [AF_INET]83.135.163.227:19011
Nov 29 03:37:52 localgrid ovpn-techoverflow[4123809]: UDPv4 link local (bound): [AF_INET][undef]:1194
Nov 29 03:37:52 localgrid ovpn-techoverflow[4123809]: UDPv4 link remote: [AF_INET]83.135.163.22:19011
Nov 29 03:37:53 localgrid ovpn-techoverflow[4123809]: [nas-vpn.haar.techoverflow.net] Peer Connection Initiated with [AF_INET]83.135.163.227:19011

Check out similar posts by category: Linux, VPN