CentOS 7 下搭建 OpenVPN 服务的完整指南,从环境准备到客户端配置

dfbn6 2026-04-04 半仙VPN 22 0

在企业网络或远程办公场景中,使用虚拟专用网络(VPN)保障数据传输安全已成为标配,CentOS 7 作为一款稳定、可靠的 Linux 发行版,非常适合部署 OpenVPN 服务,本文将详细介绍如何在 CentOS 7 上安装、配置并测试 OpenVPN,帮助你快速构建一个安全、可控的远程访问通道。

确保你的服务器满足基本条件:一台运行 CentOS 7 的物理机或虚拟机,具备公网 IP 地址(若需外网访问),且防火墙已开放相关端口(默认为 UDP 1194),登录服务器后,执行以下步骤:

第一步:更新系统并安装必要工具

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

Easy-RSA 是用于生成证书和密钥的工具包,OpenVPN 本身提供核心服务功能。

第二步:配置 OpenVPN 服务
进入 Easy-RSA 目录并初始化 PKI(公钥基础设施):

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

编辑 vars 文件,设置国家、组织等信息(如 CN=China, O=MyCompany):

nano vars

执行以下命令生成 CA 证书和服务器证书:

./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa gen-req server nopass
./easyrsa sign-req server server

生成客户端证书(每个用户一个):

./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

第三步:配置 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 "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3

该配置启用隧道模式、分配私有 IP 段,并推送 DNS 和路由规则,确保客户端流量通过 VPN 路由。

第四步:启用 IP 转发与防火墙规则
修改 /etc/sysctl.conf

net.ipv4.ip_forward = 1

执行 sysctl -p 生效,然后配置 iptables:

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

若使用 firewalld,可改用:

firewall-cmd --permanent --add-port=1194/udp
firewall-cmd --permanent --add-masquerade
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 服务,支持多用户安全接入,此方案适用于小型团队或个人远程办公,后续可根据需求扩展至双因素认证、日志审计等功能,记住定期备份证书和密钥,确保服务高可用性。

CentOS 7 下搭建 OpenVPN 服务的完整指南,从环境准备到客户端配置

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