虚拟私人网络(VPN)是一种技术解决方案,用于为网络连接提供隐私和安全性。最常见的应用场景是人们通过公共或不安全的网络(如互联网)连接到远程服务器。
想象以下几种场景:

本文将解释如何在RHEL 9服务器上使用OpenVPN设置VPN服务器。OpenVPN是一款强大且高度灵活的隧道应用程序,它利用OpenSSL库的加密、身份验证和认证功能。
为了简单起见,我们只考虑OpenVPN服务器作为客户端的安全互联网网关的情况。
在此设置中,我们使用了三台机器,其中第一台作为OpenVPN服务器,另外两台(Linux和Windows)作为客户端连接到远程OpenVPN服务器。
注意:相同的步骤也适用于基于RHEL的发行版,如AlmaLinux、Rocky Linux和Fedora。
如何在RHEL 9中安装OpenVPN服务器
1. 首先,要在RHEL服务器上安装OpenVPN,您需要启用EPEL仓库,然后安装该软件包,安装过程中会自动安装所有依赖项。
sudo dnf update
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
2. 接下来,我们将下载OpenVPN的安装脚本并设置VPN。在下载和运行脚本之前,重要的是找到您的服务器的公共IP地址,因为在设置OpenVPN服务器时会用到它。
获取公共IP地址的简单方法是使用`curl`命令,如下所示:
curl ifconfig.me
或者,您可以使用`dig`命令来获取:
dig +short myip.opendns.com @resolver1.opendns.com
如果出现“dig: command not found”错误,您可以通过运行以下命令安装`dig`工具:
sudo dnf install bind-utils
这样可以解决该问题。
关于公共IP地址的说明
云服务器通常有两种类型的IP地址:
单个公共IP地址:如果您在Linode或Digital Ocean等云平台上有VPS,通常会找到一个公共IP地址。
在NAT后面的私有IP地址和公共IP地址:这是AWS上的EC2实例或Google Cloud上的计算实例的情况。
无论是哪种IP地址方案,OpenVPN脚本都会自动检测您的VPS网络设置,您只需要提供相关的公共或私有IP地址。
3. 现在,下载OpenVPN安装脚本,并运行以下命令:
wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh
4. 下载完成后,赋予脚本执行权限并运行:
sudo chmod +x openvpn-install.sh
sudo ./openvpn-install.sh
安装程序将引导您完成一系列提示:
5. 首先,您将被提示提供服务器的公共IP地址。然后,建议使用默认选项,如默认端口号(1194)和使用的协议(UDP)。

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

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

8. 最后,使用easy-RSA包生成客户端配置文件。easy-RSA是一个命令行工具,用于管理安全证书。
只需提供客户端的名称,并选择默认选项。客户端配置文件将存储在您的主目录中,扩展名为`.ovpn`。

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

10. 现在,您可以启动OpenVPN服务器并查看其状态:
sudo systemctl start openvpn-server@server.service
sudo systemctl status openvpn-server@server.service

如何在Linux中配置OpenVPN客户端
11. 现在,前往客户端系统,安装EPEL仓库和OpenVPN软件包:
dnf install epel-release -y
dnf install openvpn -y
12. 安装完成后,您需要将客户端配置文件从OpenVPN服务器复制到客户端系统。您可以使用`scp`命令进行复制:
scp -r ravi@192.168.122.31:/home/ravi/tecmint01.ovpn .

13. 将客户端文件下载到Linux系统后,您可以使用以下命令初始化与VPN服务器的连接:
sudo openvpn --config tecmint01.ovpn
您将看到类似下面的输出。

14. 创建了一个新的路由表,并与VPN服务器建立了连接。同样,在客户端系统上创建了一个虚拟接口(tun0)。
正如前面提到的,这是一个隧道接口,它将所有流量安全地通过SSL隧道传输到OpenVPN服务器。
该接口将由VPN服务器动态分配IP地址。如您所见,我们的客户端Linux系统已被OpenVPN服务器分配了IP地址10.8.0.2。
ifconfig

15. 为了确保我们已连接到OpenVPN服务器,我们将验证公共IP地址:
curl ifconfig.me
就这样!我们的客户端系统已经选择了VPN的公共IP地址,确认我们确实已连接到OpenVPN服务器。
或者,您可以打开浏览器,搜索“我的IP地址是什么”来确认您的公共IP已更改为OpenVPN服务器的IP。

如何在Windows中配置OpenVPN客户端
16. 在Windows上,您需要下载官方的OpenVPN社区版二进制文件,它附带了一个图形用户界面(GUI)。
17. 接下来,将您的`.ovpn`配置文件下载到`C:\Program Files\OpenVPN\config`目录,并以管理员身份从“开始”->“所有程序”->“OpenVPN”启动OpenVPN GUI,它将以后台模式启动。
18. 现在,打开浏览器并访问http://whatismyip。org/,您应该看到OpenVPN服务器的IP地址,而不是您ISP提供的公共IP。
本文介绍了如何使用OpenVPN设置和配置VPN服务器,以及如何为两个远程客户端(一个Linux系统和一个Windows系统)进行配置。
现在,您可以将该服务器用作VPN网关,安全地保护您的网页浏览活动。通过稍加努力(并使用另一个远程服务器),您还可以设置一个安全的文件/数据库服务器等。











