如何在Ubuntu 22.04/Ubuntu 20.04上安装OpenVPN

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

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

下面将详细介绍Ubuntu 22.04/Ubuntu 20.04上搭建OpenVPN 并访问服务器,并从其他Linux系统连接VPN客户端。

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

1. 适用脚本安装
在下载和运行脚本之前,请注意脚本将自动检测服务器的私有IP地址,但你需要记下服务器的公共IP地址,特别是如果它运行在NAT后面。

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

$ wget -qO - icanhazip.com
# or 
$ dig +short myip.opendns.com @resolver1.opendns.com

检查Ubuntu服务器IP地址

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

运行OpenVPN安装脚本

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

OpenVPN安装摘要

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

$ sudo systemctl status openvpn

检查OpenVPN服务

6. 另外,确认OpenVPN 守护进程是否在脚本指示使用的端口上监听,使用ss命令,如下所示。

$ sudo ss -tupln | grep openvpn

检查OpenVPN监听端口

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

$ ip add

检查VPN隧道接口

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

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

$ sudo yum install openvpn  #基于RHEL的系统
$ sudo apt install openvpn  #基于Debian的系统
$ sudo dnf install openvpn  #Fedora Linux

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

$ sudo yum install network-manager-openvpn  #基于RHEL的系统
$ sudo apt install network-manager-openvpn  #基于Debian的系统
$ sudo dnf install network-manager-openvpn  #Fedora Linux

10. 安装上述包后,启动OpenVPN 服务,现在启用它,以便在系统启动时自动启动,并检查其状态以确认它正在运行。

$ sudo systemctl start openvpn 
$ sudo systemctl enable openvpn 
$ sudo systemctl status openvpn 

检查OpenVPN状态

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

$ cd ~
$ scp tecmint@10.42.0.247:/home/tecmint/tecmint.ovpn .

导入OpenVPN客户端设置

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

添加新的VPN设置

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

导入VPN设置

选择要导入的OpenVPN文件

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

创建连接并导入文件。

导入VPN客户端设置

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

已添加VPN设置

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

连接到VPN

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

VPN连接成功

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

$ ip add

检查VPN隧道接口

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

19. 要将另一个Linux服务器作为VPN客户端连接,请确保你已经安装了OpenVPN包,并启动和启用了OpenVPN服务,如上所述。

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

$ scp tecmint@10.42.0.247:/home/tecmint/tecmint.ovpn .
$ ls
$ sudo cp tecmint.ovpn /etc/openvpn/client.conf

下载Openvpn客户端文件

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

$ sudo systemctl start openvpn@client.service
$ sudo systemctl enable openvpn@client.service
$ sudo systemctl status openvpn@client.service

启动OpenVPN客户端服务

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

$ ip add

确认VPN隧道接口

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

第4步:从Ubuntu卸载OpenVPN

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

$ sudo bash openvpn-install.sh

在Ubuntu中移除OpenVPN

以上就是Ubuntu 22.04/Ubuntu 20.04上OpenVPN的详细安装过程。

Gin配置文件详解
如何在Shell脚本中使用Heredoc?

发表我的评论

电子邮件地址不会被公开。 必填项已用*标注

75 + 91 =

ajax-loader