如何在Ubuntu 22.04/20.04中安装和配置OpenVPN

OpenVPN是一个开源、快速且广受欢迎的程序,用于创建VPN虚拟私人网络)。它使用TCPUDP传输协议,VPN隧道通过OpenVPN协议与SSL/TLS认证、证书、凭据以及可选的MAC地址锁定和多因素认证进行安全保护。

OpenVPN可以在多种设备和系统上使用。与大多数VPN协议一样,它采用客户端-服务器架构。OpenVPN访问服务器运行在Linux系统上,客户端可以安装在其他Linux系统、Windows和macOS上,以及移动操作系统,如Android、Windows Mobile和iOS。

OpenVPN访问服务器接受传入的VPN连接,OpenVPN Connect客户端或任何与OpenVPN兼容的开源客户端都可以启动与服务器的连接。

在本文中,您将学习如何在Ubuntu 22.04/Ubuntu 20.04上设置OpenVPN访问服务器,并从其他Linux系统连接VPN客户端。

前提条件:

步骤1:在Ubuntu上设置OpenVPN服务器

1. 根据我的经验,手动安装和配置OpenVPN服务器并不是一项简单的任务。因此,我们将使用一个脚本,该脚本可以在几秒钟内让您设置自己的安全OpenVPN服务器。

在下载并运行脚本之前,请注意,脚本会自动检测您的服务器的私有IP地址,但您需要特别注意您的服务器的公共IP地址,尤其是如果它运行在NAT后面。

要找出您的服务器的公共IP地址,请运行以下wget命令dig命令

$ wget -qO - icanhazip.com
OR
$ dig +short myip.opendns.com @resolver1.opendns.com
Check Ubuntu Server IP Address

2.现在使用curl命令行工具下载安装程序脚本,然后使用chmod命令使其可执行,如下所示。

$ curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
$ chmod +x openvpn-install.sh

3.接下来,运行可执行的安装程序脚本,如图所示。

$ sudo bash openvpn-install.sh

首次执行时,脚本会询问您一些问题,请仔细阅读并根据您的偏好提供答案,以设置您的OpenVPN服务器。

Run OpenVPN Installer Script

4.一旦VPN安装过程完成,客户端配置文件将被写入当前工作目录。这是您将在下一节中用于配置您的OpenVPN客户端的文件。

OpenVPN Installation Summary

5. 接下来,请确认使用以下 systemctl 命令 检查 OpenVPN 服务是否正在运行。

$ sudo systemctl status openvpn
Check OpenVPN Service

6. 还要确认 OpenVPN 守护进程是否正在侦听您指定的端口,使用如下所示的 ss 命令

$ sudo ss -tupln | grep openvpn
Check OpenVPN Listening Port

7. 如果您检查网络接口,则会为 VPN 隧道创建一个新接口,您可以使用 IP 命令 来确认这一点。

$ ip add
Check VPN Tunnel Interface

步骤 2:在 Ubuntu 中设置 OpenVPN 客户端

8. 现在是设置您的 OpenVPN 客户端并将其连接到 VPN 服务器的时候了。首先,在客户端机器上安装 OpenVPN 包,如下所示。

$ sudo yum install openvpn	#RHEL-based Systems
$ sudo apt install openvpn	#Debian-based Systems
$ sudo dnf install openvpn	#Fedora Linux

9. 在桌面系统上,您还需要安装 network-manager-openvpn 包,以便通过图形界面进行 VPN 设置。

$ sudo yum install network-manager-openvpn	#RHEL-based Systems
$ sudo apt install network-manager-openvpn	#Debian-based Systems
$ sudo dnf install network-manager-openvpn	#Fedora Linux

10.安装完上述软件包后,启动OpenVPN服务,同时设置其在系统启动时自动启动,并检查其状态以确认其正常运行。

$ sudo systemctl start openvpn 
$ sudo systemctl enable openvpn 
$ sudo systemctl status openvpn 
Check OpenVPN Status

11.现在,您需要从OpenVPN服务器导入客户端设置。打开一个终端窗口,使用SCP命令按如下所示获取文件。

$ cd ~
$ scp [email protected]:/home/tecmint/tecmint.ovpn .
Import OpenVPN Client Settings

12.打开系统设置,然后转到网络。在VPN下,点击添加按钮以获取所需选项。

Add New VPN Setting

13.在弹出窗口中,选择“从文件导入”,如下截图所示。然后浏览您的文件管理器,并选择从服务器下载的.ovpn客户端配置文件。

Import VPN Settings
Select OpenVPN File to Import

14.在其他Linux桌面系统上,点击系统面板上的网络图标,转到网络连接。然后点击加号按钮添加新连接。从下拉菜单中选择“导入保存的VPN配置…”,如下截图所示。

创建连接并导入文件。

Import VPN Client Settings

15.导入文件后,VPN设置应添加如下图所示。然后点击添加

VPN Settings Added

16. 您的 VPN 客户端设置应成功添加。您可以通过打开 VPN 连接到以下截图中突出显示的 OpenVPN 服务器。

Connect to VPN

17. 现在 VPN 连接应已成功建立,如下截图所示。

VPN Connection Successful

18. 如果您使用 IP add 命令检查网络接口连接,现在应存在一个 VPN 隧道接口,如下截图所示。

$ ip add
Check VPN Tunnel Interface

步骤 3:在 Linux 中设置 OpenVPN 客户端

19. 要将另一个 Linux 服务器连接为 VPN 客户端,请确保您已安装了 OpenVPN 包,并像上面描述的那样启动并启用了 OpenVPN 服务。

然后下载 .ovpn 客户端文件,并将其复制到如下所示的 /etc/openvpn/ 目录。

$ scp [email protected]:/home/tecmint/tecmint.ovpn .
$ ls
$ sudo cp tecmint.ovpn /etc/openvpn/client.conf
Download Openvpn Client File

20. 接下来,使用以下命令启动 VPN 客户端服务,启用它,并检查其状态。

$ sudo systemctl start [email protected]
$ sudo systemctl enable [email protected]
$ sudo systemctl status [email protected]
Start OpenVPN Client Service

21. 然后使用如下命令确认已创建 VPN 隧道接口。VPN 如下所示。

$ ip add
Confirm VPN Tunnel Interface

22. 在其他操作系统上设置OpenVPN客户端,请使用以下客户端:

第四步:从Ubuntu中卸载OpenVPN

23. 如果您想要添加新的VN用户、撤销现有用户或从系统中移除OpenVPN服务器,只需再次运行安装程序脚本。然后从选项列表中选择您想要执行的操作,并按照提示操作。

$ sudo bash openvpn-install.sh
Remove OpenVPN in Ubuntu

这就是本指南的结束。要与我们分享任何想法或提问,请使用下面的反馈表。获取更多信息,请访问openvpn-install脚本 Github存储库。

Source:
https://www.tecmint.com/install-openvpn-in-ubuntu/