在当今数字化时代,远程办公、跨地域协作和数据隐私保护成为企业与个人用户的核心需求,虚拟私人网络(VPN)作为保障网络安全通信的重要工具,其部署变得愈发关键,本文将详细介绍如何使用 CentOS 系统搭建一个功能完整、安全性高的 OpenVPN 服务器,适合有一定 Linux 基础的网络工程师或运维人员参考操作。
确保你拥有一台运行 CentOS 7 或 CentOS 8 的服务器(推荐使用 CentOS Stream 或最小化安装版本),并具备公网 IP 地址(若为内网环境可配合 NAT 转发),我们以 CentOS 7 为例进行说明。
第一步:系统更新与基础配置
登录服务器后,执行以下命令更新系统软件包:
sudo yum update -y
接着安装 EPEL 源(便于后续安装 OpenVPN 和 Easy-RSA):
sudo yum install epel-release -y
第二步:安装 OpenVPN 及依赖组件
使用 yum 安装 OpenVPN 和 Easy-RSA(用于证书管理):
sudo yum install openvpn easy-rsa -y
第三步:生成证书和密钥(PKI)
复制 Easy-RSA 模板到 /etc/openvpn 目录:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑 vars 文件,设置你的组织信息(如国家、省份、组织名等):
vi vars
然后执行初始化和证书签发流程:
source ./vars ./clean-all ./build-ca # 创建根证书 ./build-key-server server # 创建服务器证书 ./build-key client1 # 创建客户端证书(可多创建) ./build-dh # 生成 Diffie-Hellman 参数
第四步:配置 OpenVPN 服务端
复制示例配置文件并修改:
cp /usr/share/doc/openvpn-*/sample-config-files/server.conf /etc/openvpn/ vi /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 密钥交换参数server 10.8.0.0 255.255.255.0:分配客户端 IP 段push "redirect-gateway def1 bypass-dhcp":强制客户端流量走 VPN(适用于内网访问)
第五步:启用 IP 转发与防火墙规则
编辑 /etc/sysctl.conf,取消注释:
net.ipv4.ip_forward = 1
应用生效:
sysctl -p
配置 iptables 放行流量(或使用 firewalld):
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE iptables -A INPUT -p udp --dport 1194 -j ACCEPT service iptables save
第六步:启动服务并测试
启动 OpenVPN 服务并设置开机自启:
systemctl start openvpn@server systemctl enable openvpn@server
将生成的证书和配置文件打包分发给客户端(建议使用 .ovpn 配置文件,包含 CA、证书、密钥和服务器地址),即可在 Windows、macOS、Linux 或移动设备上连接。
通过以上步骤,你已成功搭建了一个基于 CentOS 的 OpenVPN 服务器,支持多用户接入、加密传输和灵活策略控制,该方案适用于小型企业、远程团队或个人私有网络扩展,是构建安全网络基础设施的坚实起点,后续可根据需要集成双因素认证、日志审计或与 LDAP 集成实现更精细的身份管理。

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






