在CentOS上配置VPN,尤其是使用OpenVPN进行配置,是一项复杂但非常有用的任务,以下将详细介绍如何在CentOS 8上配置OpenVPN服务器:
准备工作
1、系统要求:确保你有一台运行CentOS 8的服务器,并且该服务器已启用sudo权限和防火墙功能。

2、安装必要的软件包:默认情况下,CentOS 8不包含OpenVPN和EasyRSA,需要先安装这些工具,可以通过以下命令来安装EPEL存储库并获取OpenVPN和EasyRSA:
- sudo dnf install epelrelease openvpn easyrsa
3、设置CA证书颁发机构:为了确保安全,建议使用单独的服务器作为证书颁发机构(CA),而不是在OpenVPN服务器或本地机器上进行操作。
安装和配置OpenVPN
1、生成公钥基础设施(PKI):在OpenVPN服务器上,创建一个新目录来管理EasyRSA脚本:
- mkdir ~/easyrsa
- cd ~/easyrsa
- ln s /usr/share/easyrsa/3/* ./
2、配置EasyRSA变量文件:编辑vars
文件以设置加密算法和摘要算法:
- nano vars
添加以下内容:
- set_var EASYRSA_ALGO "ec"
- set_var EASYRSA_DIGEST "sha512"
保存并退出。

3、初始化PKI并生成CA证书:
- ./easyrsa initpki
- ./easyrsa buildca nopass
这将生成CA证书和私钥。
4、生成服务器和客户端证书:
- ./easyrsa genserverfull vpnserver nopass
- ./easyrsa genclientfull client1 nopass
这将生成服务器和客户端的密钥与证书。
5、配置OpenVPN服务端:将生成的证书和密钥复制到OpenVPN的配置目录中:
- cp pki/ca.crt /etc/openvpn/ca.crt
- cp pki/dh.pem /etc/openvpn/dh.pem
- cp pki/issued/vpnserver.crt /etc/openvpn/server.crt
- cp pki/private/vpnserver.key /etc/openvpn/server.key
- cp pki/ta.key /etc/openvpn/ta.key
编辑OpenVPN的配置文件/etc/openvpn/server.conf
,添加以下内容:

- port 1194
- proto udp
- dev tun
- ca ca.crt
- cert server.crt
- key server.key
- dh dh.pem
- tlsauth ta.key 0
- cipher AES256CBC
- auth SHA512
- user nobody
- group nobody
- persistkey
- persisttun
- status openvpnstatus.log
- verb 3
保存并退出。
6、启动并配置防火墙:启动OpenVPN服务并配置防火墙以允许流量通过:
- systemctl start openvpn@server
- systemctl enable openvpn@server
- firewallcmd permanent addservice openvpn
- firewallcmd permanent addmasquerade
- firewallcmd reload
检查IP转发是否已启用:
- sysctl a | grep net.ipv4.ip_forward
如果未启用,则执行以下命令:
- echo 1 > /proc/sys/net/ipv4/ip_forward
保存更改:
- echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
常见问题与解决方案
1、无法连接VPN:检查防火墙设置和路由表,确保允许VPN流量通过,确认客户端配置文件中的参数与服务器端匹配。
2、证书过期:定期更新证书,可以使用easyrsa
工具重新生成证书并替换旧证书。
FAQs
1、Q: 如何在CentOS 7上配置OpenVPN?
A: 在CentOS 7上的配置步骤与CentOS 8类似,但部分命令和软件包名称可能有所不同,可以参考CentOS 7的官方文档或社区指南进行配置。
2、Q: OpenVPN与其他VPN类型有何区别?
A: OpenVPN是一种开源的VPN解决方案,支持多种加密算法和协议,与其他VPN类型相比,OpenVPN具有更高的安全性和灵活性,适用于各种网络环境。
3、Q: 如何测试VPN连接是否正常?:在客户端设备上使用VPN客户端软件连接到VPN服务器,并尝试访问受保护的网络资源,如果能够正常访问,则说明VPN连接正常,可以使用ping命令或其他网络测试工具来验证连接质量。
通过上述步骤,你应该能够在CentOS 8上成功配置OpenVPN服务器,这不仅能提高网络的安全性,还能为远程访问提供可靠的保障,希望这份详细的指南能帮助你顺利完成配置。