CentOS 7 搭建 OpenVPN 服务器完整指南,从零开始实现安全远程访问

dfbn6 2026-04-12 vpn 19 0

在现代企业网络环境中,远程办公、跨地域访问和数据加密传输已成为刚需,OpenVPN 是一个开源、灵活且安全的虚拟私人网络(VPN)解决方案,支持多种认证方式和强大的加密机制,本文将详细介绍如何在 CentOS 7 系统上搭建 OpenVPN 服务器,帮助你构建一个稳定、可扩展的私有网络通道。

确保你的 CentOS 7 服务器已安装并更新至最新状态,登录到服务器后执行以下命令:

sudo yum update -y
sudo yum install epel-release -y
sudo yum install openvpn easy-rsa -y

这一步安装了 OpenVPN 和用于证书管理的 Easy-RSA 工具包,我们配置证书颁发机构(CA)和服务器证书,进入 Easy-RSA 目录:

cd /usr/share/easy-rsa/
cp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa/
cd /etc/openvpn/easy-rsa/

编辑 vars 文件,设置国家、省份、组织名称等信息,

export KEY_COUNTRY="CN"
export KEY_PROVINCE="Beijing"
export KEY_CITY="Beijing"
export KEY_ORG="MyCompany"
export KEY_EMAIL="admin@mycompany.com"
export KEY_OU="IT Department"

运行以下命令生成 CA 密钥对:

./clean-all
./build-ca

然后生成服务器证书:

./build-key-server server

为客户端生成证书(可批量生成多个):

./build-key client1

生成 Diffie-Hellman 参数(此过程可能需要几分钟):

./build-dh

配置 OpenVPN 服务,复制默认配置文件:

cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/

编辑 /etc/openvpn/server.conf,关键配置如下:

port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/dh.pem
server 10.8.0.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"  # 推送内网路由
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3

启用 IP 转发功能以支持 NAT:

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p

配置防火墙规则(使用 firewalld):

firewall-cmd --add-port=1194/udp --permanent
firewall-cmd --add-masquerade --permanent
firewall-cmd --reload

启动 OpenVPN 服务:

systemctl enable openvpn@server
systemctl start openvpn@server

客户端连接时,需准备 .ovpn 配置文件,内容包括服务器地址、证书路径、用户名密码等,建议使用 TLS 认证增强安全性,并定期轮换证书。

通过以上步骤,你已在 CentOS 7 上成功部署了一个功能完整的 OpenVPN 服务器,支持多用户接入、内网穿透和端到端加密,该方案适用于中小企业或个人开发者,具备高可用性和良好扩展性,网络安全是持续的过程,建议结合日志监控、访问控制列表(ACL)和定期审计来提升整体防护能力。

CentOS 7 搭建 OpenVPN 服务器完整指南,从零开始实现安全远程访问

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN