OpenVPN是一个开源、快速且广受欢迎的程序,用于创建VPN(虚拟私人网络)。它使用TCP和UDP传输协议,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

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服务器。

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

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

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

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

步骤 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

11.现在,您需要从OpenVPN服务器导入客户端设置。打开一个终端窗口,使用SCP命令按如下所示获取文件。
$ cd ~ $ scp [email protected]:/home/tecmint/tecmint.ovpn .

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

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


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

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

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

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

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

步骤 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

20. 接下来,使用以下命令启动 VPN 客户端服务,启用它,并检查其状态。
$ sudo systemctl start [email protected] $ sudo systemctl enable [email protected] $ sudo systemctl status [email protected]

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

22. 在其他操作系统上设置OpenVPN客户端,请使用以下客户端:
- Windows:官方的Windows OpenVPN社区客户端。
- Android:Android的OpenVPN客户端。
- iOS:官方的iOS OpenVPN Connect客户端。
第四步:从Ubuntu中卸载OpenVPN
23. 如果您想要添加新的VN用户、撤销现有用户或从系统中移除OpenVPN服务器,只需再次运行安装程序脚本。然后从选项列表中选择您想要执行的操作,并按照提示操作。
$ sudo bash openvpn-install.sh

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