CentOS系统搭建OpenVPN服务详解,从零开始配置安全远程访问通道
半仙VPN 26 May 2026
在现代企业网络环境中,远程办公和安全访问内网资源已成为刚需,为了保障数据传输的机密性与完整性,虚拟私人网络(VPN)成为不可或缺的技术手段,本文将以 CentOS 7/8 系统为例,详细讲解如何使用 OpenVPN 搭建一个稳定、安全的个人或小型企业级 VPN 服务。
确保你拥有一个运行 CentOS 的服务器(物理机或云主机),并具备 root 权限,建议使用 CentOS Stream 或 CentOS 7 最新版(长期支持版本),我们以 CentOS 7 为例进行演示。
第一步:更新系统并安装必要软件包
sudo yum update -y sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
第二步:配置证书颁发机构(CA)和服务器证书
OpenVPN 使用 PKI(公钥基础设施)进行身份认证,因此需要生成证书和密钥,进入 Easy-RSA 目录:
cd /usr/share/easy-rsa/ cp -r /usr/share/easy-rsa/* /etc/openvpn/ cd /etc/openvpn/
编辑 vars 文件,设置你的组织信息(如国家、省份、公司名等),然后执行初始化:
./easyrsa init-pki ./easyrsa build-ca nopass # 生成 CA 根证书,不设密码便于自动化 ./easyrsa gen-req server nopass # 生成服务器证书请求 ./easyrsa sign-req server server # 签署服务器证书
第三步:生成 Diffie-Hellman 密钥和 TLS 密钥
./easyrsa gen-dh openvpn --genkey --secret ta.key
第四步:创建 OpenVPN 配置文件
复制示例配置文件并修改:
cp /usr/share/doc/openvpn/sample/sample-config-files/server.conf /etc/openvpn/ vi /etc/openvpn/server.conf
关键配置项如下:
port 1194:指定端口(可改为你想要的)proto udp:推荐使用 UDP 协议,性能更好dev tun:TUN 模式用于点对点隧道ca /etc/openvpn/pki/ca.crtcert /etc/openvpn/pki/issued/server.crtkey /etc/openvpn/pki/private/server.keydh /etc/openvpn/pki/dh.pemtls-auth /etc/openvpn/ta.key 0server 10.8.0.0 255.255.255.0:分配给客户端的 IP 段push "redirect-gateway def1 bypass-dhcp":强制客户端流量通过 VPNpush "dhcp-option DNS 8.8.8.8":指定 DNS 服务器
第五步:启用 IP 转发和防火墙规则
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 文件分发给用户,用户只需导入该文件即可连接到你的 OpenVPN 服务器。
通过以上步骤,你已在 CentOS 上成功部署了一个基于 OpenVPN 的安全远程访问通道,此方案适合中小团队、家庭办公或开发测试环境,后续可根据需求添加双因素认证、日志审计、多用户权限管理等功能,进一步提升安全性与可用性。

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











