在CentOS 7上安装VPN通常指的是安装和配置OpenVPN服务器,这是一个相对复杂但非常有意义的任务,通过详细的步骤和清晰的逻辑,我们可以实现一个安全、可靠的VPN服务器,以下是具体步骤:
一、准备工作
1、系统更新:确保你的CentOS 7系统是最新的。

- sudo yum update y
2、关闭SELinux和防火墙:SELinux和firewalld可能会干扰VPN的正常运行,建议暂时关闭它们。
- sudo setenforce 0
- sudo systemctl stop firewalld
- sudo systemctl disable firewalld
二、安装必要的软件包
1、安装EPEL仓库:EPEL(Extra Packages for Enterprise Linux)提供了一些额外的软件包。
- sudo yum install epelrelease y
2、安装OpenVPN和EasyRSA:OpenVPN是VPN服务端软件,EasyRSA用于生成证书和密钥。
- sudo yum install openvpn easyrsa y
3、安装其他依赖包:确保所有必需的依赖都已安装。
- sudo yum install openssl lzo pam openssldevel lz4devel pamdevel y
三、配置EasyRSA
1、初始化PKI:PKI(Public Key Infrastructure)用于生成和管理证书。
- cd /usr/share/easyrsa/3.0.6
- ./easyrsa initpki
2、生成CA证书:CA证书用于签署其他证书。

- ./easyrsa buildca nopass
3、生成服务器密钥和证书:服务器需要自己的密钥和证书。
- ./easyrsa genreqserver server nopass
- ./easyrsa signreq server server
4、生成客户端密钥和证书:每个客户端需要独立的密钥和证书。
- ./easyrsa genreqclient client1 nopass
- ./easyrsa signreq client client1
5、生成DH参数:DiffieHellman参数用于密钥交换。
- ./easyrsa gendh
6、生成TLS认证密钥:TLS认证用于增加安全性。
- openvpn genkey secret ta.key
7、生成CRL(证书吊销列表):CRL用于管理吊销的证书。
- ./easyrsa gencrl
四、配置OpenVPN服务器
1、复制证书文件到OpenVPN目录:将生成的证书文件复制到OpenVPN的配置目录中。
- cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem pki/ta.key pki/crl.pem /etc/openvpn/
2、创建服务器配置文件:编辑或创建OpenVPN服务器配置文件/etc/openvpn/server.conf
。
- port 1194
- proto udp
- dev tun
- ca /etc/openvpn/ca.crt
- cert /etc/openvpn/server.crt
- key /etc/openvpn/server.key
- dh /etc/openvpn/dh.pem
- tlsauth /etc/openvpn/ta.key 0
- cipher AES256CBC
- auth SHA512
- user nobody
- group nobody
- persistkey
- persisttun
- topology subnet
- server 10.8.0.0 255.255.255.0
- ifconfigpoolpersist ipp.txt
- verb 3
3、启动并启用OpenVPN服务:启动OpenVPN并设置开机自启。
- sudo systemctl start openvpn@server
- sudo systemctl enable openvpn@server
4、配置防火墙和流量转发:开放防火墙端口允许OpenVPN使用的端口(如UDP 1194),并开启IP转发以确保服务器支持流量转发。
- sudo firewallcmd permanent addservice=openvpn
- sudo firewallcmd reload
- sudo sysctl w net.ipv4.ip_forward=1
五、测试与验证
1、检查OpenVPN状态:确保OpenVPN正常运行。
- sudo systemctl status openvpn@server
2、连接测试:使用客户端连接到VPN,验证连接是否正常。
六、常见问题与解决方案
1、无法连接VPN:检查防火墙设置、SELinux状态以及OpenVPN日志文件。
2、证书错误:确保所有证书和密钥文件路径正确,且权限设置合理。
3、性能问题:调整加密算法和压缩选项,优化网络配置。
七、维护与安全建议
1、定期更新:保持系统和软件包的最新状态,及时应用安全补丁。
2、备份配置:定期备份OpenVPN配置文件和证书,以防数据丢失。
3、监控与日志:实时监控OpenVPN运行状态,定期检查日志文件,及时发现并解决问题。
4、安全性考虑:使用强密码和密钥,限制VPN访问范围,防止未经授权的访问。