在CentOS上配置VPN,可以通过多种方法实现,其中OpenVPN是一种常用的开源VPN解决方案,以下是一个详细的指南,介绍如何在CentOS上安装和配置OpenVPN服务器以及客户端。
一、准备工作
1、系统更新:首先确保你的centos系统是最新的,打开终端并运行以下命令来更新系统:

- sudo yum update y
2、安装EPEL源:为了方便地安装OpenVPN和其他相关软件包,建议先安装EPEL源:
- sudo yum install epelrelease y
3、安装OpenVPN和EasyRSA:安装OpenVPN和EasyRSA(用于生成证书):
- sudo yum install openvpn easyrsa y
4、创建OpenVPN目录并复制EasyRSA文件:
- mkdir p ~/openvpnca
- cp r /usr/share/easyrsa/3/* ~/openvpnca/
- cd ~/openvpnca
5、初始化EasyRSA环境:
- ./easyrsa initpki
二、生成证书和密钥
1、生成CA证书:
- ./easyrsa buildca
2、生成服务器证书和密钥:

- ./easyrsa buildserverfull server nopass
3、生成DiffieHellman参数:
- ./easyrsa gendh
4、(可选)为每个客户端生成唯一的证书和密钥:
- ./easyrsa buildclientfull client1 nopass
5、复制证书和密钥到OpenVPN配置目录:
- mkdir p /etc/openvpn/server
- sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem /etc/openvpn/server
三、配置OpenVPN服务器
1、复制默认的配置文件并进行修改:
- sudo cp /usr/share/doc/openvpn*/sample/sampleconfigfiles/server.conf /etc/openvpn/server/server.conf
2、编辑server.conf
文件,确保关键参数正确设置:
- port 1194
- proto udp
- dev tun
- ca ca.crt
- cert server.crt
- key server.key
- dh dh.pem
- server 10.8.0.0 255.255.255.0
- push "redirectgateway def1 bypassdhcp"
- push "dhcpoption DNS 8.8.8.8"
- push "dhcpoption DNS 8.8.4.4"
- keepalive 10 120
- tlscrypt ta.key
- cipher AES256GCM
- auth SHA256
- persistkey
- persisttun
- status /var/log/openvpn/openvpnstatus.log
- verb 3
- explicitexitnotify 1
3、启用IP转发:

- echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.conf
- sudo sysctl p
4、配置防火墙以允许OpenVPN流量:
- sudo systemctl enable firewalld
- sudo systemctl start firewalld
- sudo firewallcmd addservice=openvpn permanent
- sudo firewallcmd addmasquerade permanent
- sudo firewallcmd reload
5、启动OpenVPN服务:
- sudo systemctl start openvpn@server
- sudo systemctl enable openvpn@server
四、客户端配置
1、获取客户端配置文件:从服务器复制包含客户端密钥、证书和CA证书的配置文件到客户端,确保这些文件指向正确的位置。
2、编辑客户端配置文件,例如client.ovpn
,根据需要调整参数。
3、连接到VPN:使用OpenVPN客户端连接到服务器,通常通过双击.ovpn
文件或使用命令行工具。
五、常见问题解答(FAQ)
1、如何更改OpenVPN服务器的端口?:编辑/etc/openvpn/server.conf
文件中的port
行,将其更改为所需的端口号,然后重新加载OpenVPN服务以使更改生效。
2、如何限制OpenVPN服务器的最大客户端连接数?:在/etc/openvpn/server.conf
文件中添加或修改maxclients
指令,
- maxclients 100
然后重新加载OpenVPN服务以使更改生效。
通过以上步骤,你应该能够在CentOS上成功配置OpenVPN VPN服务器和客户端,请根据你的具体需求调整配置,并参考最新的OpenVPN文档和CentOS指导,以确保安全性和性能的最佳实践。