在CentOS上搭建VPN服务器,特别是使用OpenVPN这一流行的开源VPN解决方案,可以为企业或个人提供安全、可靠的远程访问服务,以下是详细的步骤和说明,以及相关的配置示例:
一、安装与配置OpenVPN服务器
1. 安装EPEL仓库

由于OpenVPN和EasyRSA包不在CentOS的默认仓库中,因此首先需要安装EPEL(Extra Packages for Enterprise Linux)仓库:
- sudo yum install epelrelease y
2. 安装OpenVPN和EasyRSA
安装OpenVPN和EasyRSA:
- sudo yum install openvpn easyrsa y
3. 设置EasyRSA
将EasyRSA的模板文件复制到新目录,并初始化PKI(Public Key Infrastructure):
- mkdir p ~/easyrsa/keys
- cp rf /usr/share/easyrsa/* ~/easyrsa/
- cd ~/easyrsa
- ./easyrsa initpki
4. 构建CA(证书颁发机构)

- ./easyrsa buildca
5. 生成服务器密钥和证书
将server
替换成你的服务器名:
- ./easyrsa genreq server nopass
- ./easyrsa signreq server server
6. 生成DiffieHellman参数
- ./easyrsa gendh
7. 生成客户端密钥和证书
将client
替换成你的客户端名:
- ./easyrsa genreq client nopass
- ./easyrsa signreq client client
8. 配置OpenVPN服务器

将必要的证书和密钥文件复制到/etc/openvpn
目录:
- sudo cp ~/easyrsa/pki/private/server.key /etc/openvpn/
- sudo cp ~/easyrsa/pki/issued/server.crt /etc/openvpn/
- sudo cp ~/easyrsa/pki/ca.crt /etc/openvpn/
- sudo cp ~/easyrsa/pki/dh.pem /etc/openvpn/
从样板配置文件创建OpenVPN服务器配置:
- sudo cp /usr/share/doc/openvpn*/sample/sampleconfigfiles/server.conf /etc/openvpn/
编辑/etc/openvpn/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
- ifconfigpoolrange 10.8.0.4 10.8.0.10
- keepalive 10 120
- cipher AES256CBC
- user nobody
- group nobody
- persistkey
- persisttun
- status openvpnstatus.log
- verb 3
9. 启动OpenVPN服务器
- sudo systemctl start openvpn@server
- sudo systemctl enable openvpn@server
10. 配置防火墙和转发
更新iptables规则,允许VPN流量,并启用内核的IP转发:
- echo 'net.ipv4.ip_forward = 1' | sudo tee a /etc/sysctl.conf
- sudo sysctl p
- sudo firewallcmd addservice=openvpn permanent
- sudo firewallcmd addmasquerade permanent
- sudo firewallcmd reload
二、客户端配置
客户端配置文件需要包括客户端密钥、证书和CA证书,这些文件需要从服务器复制到客户端,并确保客户端配置文件指向这些文件的正确位置,如果使用Windows客户端,可以在网络适配器的属性中添加OpenVPN TAP适配器,并配置为使用从服务器下载的.ovpn
文件,对于Linux客户端,可以使用以下命令连接VPN:
- sudo openvpn config /path/to/yourconfig.ovpn
三、常见问题解答(FAQs)
Q1: VPN连接不稳定或速度慢怎么办?
A1: 可以尝试以下几个方法来改善VPN连接的稳定性和速度:检查网络带宽是否充足;调整VPN加密协议和算法(如使用更高效的AES256GCM);优化防火墙规则以减少延迟;或者尝试更换VPN服务器的位置。