随着远程办公和跨地域协作需求的激增,虚拟专用网络(VPN)已成为企业网络架构中不可或缺的一环,作为一位资深网络工程师,我经常被客户问及如何在Linux服务器上部署稳定、安全且易于维护的VPN服务,本文将详细记录如何在CentOS 7操作系统中配置OpenVPN服务,涵盖环境准备、证书生成、服务配置、防火墙设置以及客户端连接测试等完整流程,帮助你快速构建一个生产级的OpenVPN解决方案。
确保你的CentOS 7服务器已安装并更新至最新状态,执行以下命令:
sudo yum update -y
然后安装EPEL仓库(用于获取更多软件包),再安装OpenVPN及相关工具:
sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
接下来是证书颁发机构(CA)的建立,OpenVPN使用SSL/TLS加密通信,因此必须先创建CA根证书,进入Easy-RSA目录:
cd /usr/share/easy-rsa/ sudo cp -r /usr/share/easy-rsa/ /etc/openvpn/ cd /etc/openvpn/easy-rsa/ sudo cp vars.example vars
编辑vars文件,根据实际需要修改组织名称(如ORG="MyCompany")、国家代码(C=CN)、省份(ST=Beijing)等字段,保存后运行:
sudo ./easyrsa init-pki sudo ./easyrsa build-ca
这一步会生成CA私钥(ca.key)和证书(ca.crt),它们是后续所有证书签发的基础。
下一步是为服务器和客户端分别生成证书,先生成服务器证书:
sudo ./easyrsa gen-req server nopass sudo ./easyrsa sign-req server server
接着生成客户端证书(可重复此步骤为多个用户生成独立证书):
sudo ./easyrsa gen-req client1 nopass sudo ./easyrsa sign-req client client1
现在配置OpenVPN服务,复制示例配置文件到/etc/openvpn/目录:
sudo cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/
编辑/etc/openvpn/server.conf,关键配置包括:
port 1194:指定监听端口(默认UDP)proto udp:使用UDP协议提升性能dev tun:创建点对点隧道接口ca ca.crt,cert server.crt,key server.key:引用之前生成的证书文件dh dh.pem:生成Diffie-Hellman参数(运行sudo ./easyrsa gen-dh生成)server 10.8.0.0 255.255.255.0:分配给客户端的IP地址池push "redirect-gateway def1 bypass-dhcp":强制客户端流量通过VPN路由(适用于内网访问)
启动并启用OpenVPN服务:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
防火墙配置同样重要,若使用firewalld(CentOS默认),开放UDP 1194端口:
sudo firewall-cmd --add-port=1194/udp --permanent sudo firewall-cmd --reload
启用IP转发以支持NAT功能(若需共享主机网络):
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p
客户端连接时,需将ca.crt、client1.crt、client1.key三个文件打包成.ovpn配置文件,并上传至客户端设备,至此,一个完整的OpenVPN服务已在CentOS 7上部署完毕,具备高安全性与良好扩展性。
作为网络工程师,我建议定期轮换证书、监控日志(位于/var/log/messages或journalctl -u openvpn@server),并考虑集成Fail2Ban防止暴力破解攻击,这套方案不仅适用于中小企业,也可作为云环境中多租户网络隔离的参考模板。

半仙加速器-海外加速器|VPN加速器|vpn翻墙加速器|VPN梯子|VPN外网加速