网站搜索

如何在 CentOS 8/7 中安装和配置 OpenVPN 服务器


虚拟专用网络是一种用于为网络间连接提供隐私和安全的技术解决方案。最著名的案例是人们连接到远程服务器,流量通过公共或不安全的网络(例如互联网)。

想象一下以下场景:

在本文中,我们将解释如何使用 OpenVPN< 在 RHEL/CentOS 8/7 机器中设置 VPN 服务器/strong>,一个强大且高度灵活的隧道应用程序,它使用 OpenSSL 库的加密、身份验证和认证功能。为简单起见,我们仅考虑 OpenVPN 服务器充当客户端的安全 Internet 网关的情况。

对于此设置,我们使用了三台计算机,第一台充当 OpenVPN 服务器,另外两台(LinuxWindows)充当客户端连接到远程 OpenVPN 服务器。

在本页

  • 在 CentOS 8 中安装 OpenVPN 服务器
  • 在 Linux 中配置 OpenVPN 客户端
  • 在 Windows 中配置 OpenVPN 客户端

注意:相同的说明也适用于 RHEL 8/7Fedora 系统。

在 CentOS 8 中安装 OpenVPN 服务器

1. 要在 RHEL/CentOS 8/7 服务器中安装 OpenVPN,您首先必须启用EPEL 存储库,然后安装该包。它附带了安装 OpenVPN 软件包所需的所有依赖项。

yum update
yum install epel-release

2.接下来,我们将下载OpenVPN的安装脚本并设置VPN。在下载并运行脚本之前,找到服务器的公共 IP 地址非常重要,因为这在设置 OpenVPN 服务器时会派上用场。

一个简单的方法是使用curl命令,如下所示:

curl ifconfig.me

或者,您可以按如下方式调用 dig 命令:

dig +short myip.opendns.com @resolver1.opendns.com

如果您遇到错误“dig:找不到命令”,请运行以下命令来安装 dig 实用程序:

sudo yum install bind-utils

这应该可以解决问题。

关于公共 IP 地址的注意事项

云服务器通常有两种类型的IP地址:

  • 单个公共 IP 地址:如果您在 Linode、CloudconeDigital Ocean 等云平台上拥有 VPS,您通常会找到一个附加到它的单个公共 IP 地址。
  • NAT 后面的私有 IP 地址与公共 IP:这是 AWS 上的 EC2 实例或 上的计算实例的情况谷歌云

无论采用哪种 IP 寻址方案,OpenVPN 脚本都会自动检测您的 VPS 网络设置,您所要做的就是提供关联的公共或私有 IP 地址。

3.现在让我们继续下载OpenVPN安装脚本,运行所示的命令。

wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh

4. 下载完成后,分配执行权限并运行 shell 脚本,如图所示。

sudo chmod +x openvpn-install.sh
sudo ./openvpn-install.sh

安装程序将引导您完成一系列提示:

5.首先,系统会提示您提供服务器的公共 IP 地址。此后,建议使用默认选项,例如默认端口号 (1194) 和要使用的协议 (UDP)。

6. 接下来,选择默认的 DNS 解析器,并为压缩和加密设置选择“否”选项( n )

7.完成后,脚本将初始化 OpenVPN 服务器的设置以及其他软件包和依赖项的安装。

8.最后,将使用easy-RSA软件包生成客户端配置文件,该软件包是用于管理安全证书的命令行工具。

只需提供客户的名称并使用默认选择即可。客户端文件将存储在您的主目录中,文件扩展名为 .ovpn。

9.一旦脚本完成OpenVPN服务器的设置并创建客户端配置文件,就会生成一个隧道接口tun0。这是一个虚拟接口,来自客户端 PC 的所有流量都将通过隧道传输到服务器。

10.现在,您可以启动并检查OpenVPN服务器的状态,如图所示。

sudo systemctl start [email 
sudo systemctl status [email 

如何在 Linux 中配置 OpenVPN 客户端

11. 现在前往客户端系统并安装 EPEL 存储库和 OpenVPN 软件包。

sudo dnf install epel-release -y
sudo dnf install openvpn -y

12.安装后,您需要将客户端配置文件从 OpenVPN 服务器复制到您的客户端系统。您可以使用 scp 命令来执行此操作,如图所示

sudo scp -r [email :/home/tecmint/tecmint01.ovpn .

13. 将客户端文件下载到您的 Linux 系统后,您现在可以使用以下命令初始化与 VPN 服务器的连接:

sudo openvpn --config tecmint01.ovpn

您将得到类似于下面的输出。

14. 创建一个新的路由表并与 VPN 服务器建立连接。同样,在客户端系统上创建虚拟接口隧道接口 tun0

如前所述,此接口将通过 SSL 隧道将所有流量安全地传输到 OpenVPN 服务器。 VPN 服务器动态为接口分配 IP 地址。如您所见,OpenVPN 服务器已为我们的客户端 Linux 系统分配了一个 IP 地址 10.8.0.2

ifconfig

15.为了确保我们已连接到 OpenVPN 服务器,我们将验证公共 IP。

curl ifconfig.me

瞧!我们的客户端系统已选择 VPN 的公共 IP,确认我们确实已连接到 OpenVPN 服务器。或者,您可以启动浏览器并在 Google 中搜索“我的 IP 地址是什么”,以确认您的公共 IP 已更改为 OpenVPN 服务器的 IP。

如何在 Windows 上配置 OpenVPN 客户端

16. 在 Windows 上,您需要下载带有 GUI 的官方 OpenVPN Community Edition 二进制文件。

17. 接下来,将 .ovpn 配置文件下载到 C:\Program Files\OpenVPN\config 目录中,并以管理员身份启动 OpenVPN GUI 开始 –> 所有程序 –> OpenVPN,它将在后台启动。

18.现在启动浏览器并打开http://whatismyip.org/,您应该看到 OpenVPN 服务器的 IP,而不是您的<提供的公共 IP强>ISP

概括

在本文中,我们解释了如何使用 OpenVPN 设置和配置 VPN 服务器,以及如何设置两个远程客户端(一个 Linux > 盒子和一台Windows机器)。您现在可以使用该服务器作为 VPN 网关来保护您的 Web 浏览活动。只需付出一点额外的努力(并且可以使用另一台远程服务器),您还可以设置安全的文件/数据库服务器,仅举几个例子。

我们期待您的来信,因此请随时使用下面的表格给我们留言。欢迎对本文提出评论、建议和问题。