在 CentOS 7 上搭建安全可靠的 OpenVPN 服务器指南

dfbn6 2026-04-07 梯子VPN 16 0

在当今远程办公和分布式团队日益普及的背景下,建立一个稳定、安全的虚拟私人网络(VPN)服务已成为企业与个人用户的刚需,OpenVPN 是目前最成熟、开源且广泛使用的 VPN 解决方案之一,尤其适合在 Linux 系统上部署,本文将详细介绍如何在 CentOS 7 系统上从零开始搭建一套完整的 OpenVPN 服务器,包括环境准备、安装配置、证书生成、防火墙设置以及客户端连接测试,确保您能快速构建出一个可信赖的私有网络通道。

第一步:准备工作
确保您的 CentOS 7 服务器具备以下条件:

  • 一台运行 CentOS 7 的物理或云服务器(推荐使用最小化安装版本)
  • 公网 IP 地址(用于外部访问)
  • root 权限或 sudo 权限
  • 配置好 YUM 源(如阿里云或腾讯云镜像源)

第二步:安装 OpenVPN 和 Easy-RSA 工具
OpenVPN 官方仓库默认不包含在 CentOS 7 的基础包中,需先启用 EPEL 源:

sudo yum install -y epel-release
sudo yum update -y

接着安装 OpenVPN 及其依赖工具:

sudo yum install -y openvpn easy-rsa

第三步:生成证书和密钥(PKI)
Easy-RSA 是用于管理 SSL/TLS 证书的工具,我们用它来创建服务器和客户端证书:

  1. 复制模板到 /etc/openvpn/easy-rsa/ 目录:
    make-cadir /etc/openvpn/easy-rsa
    cd /etc/openvpn/easy-rsa
  2. 编辑 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_CN=server
    export KEY_NAME=server
    export KEY_OU=OpenVPN
  3. 执行初始化并生成 CA 根证书:
    ./clean-all
    ./build-ca
  4. 生成服务器证书和密钥:
    ./build-key-server server
  5. 为客户端生成证书(每个客户端单独生成):
    ./build-key client1

第四步:配置 OpenVPN 服务器
复制示例配置文件并编辑:

cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/
vi /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 "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
verb 3

第五步:启用 IP 转发和防火墙规则
开启内核转发功能:

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

配置防火墙(firewalld)允许 OpenVPN 流量:

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

第六步:启动服务并设置开机自启

systemctl enable openvpn@server
systemctl start openvpn@server

第七步:分发客户端配置文件
客户端需要一个 .ovpn 文件,内容包括服务器地址、CA 证书、客户端证书和密钥,可以使用如下模板,并将对应文件内容嵌入其中:

client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3

至此,您已成功在 CentOS 7 上搭建了 OpenVPN 服务器,通过上述步骤,不仅实现了加密通信,还支持自动分配 IP、DNS 解析和路由控制,满足大多数远程访问需求,建议定期更新证书、监控日志、限制用户权限,以保障长期运行的安全性与稳定性,对于生产环境,还可结合 Fail2ban、双因子认证等增强措施进一步提升安全性。

在 CentOS 7 上搭建安全可靠的 OpenVPN 服务器指南

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