CentOS 7 下配置 OpenVPN 服务的完整指南,从安装到客户端连接

banxian11 2026-05-16 免费VPN 3 0

在当前企业网络和远程办公日益普及的背景下,虚拟私人网络(VPN)已成为保障数据安全传输的重要工具,对于使用 CentOS 7 系统的服务器管理员而言,OpenVPN 是一个稳定、开源且功能强大的选择,本文将详细介绍如何在 CentOS 7 上部署并配置 OpenVPN 服务,包括安装、证书生成、服务启动以及客户端连接步骤,帮助你快速搭建一个安全可靠的远程访问通道。

第一步:准备工作
确保你的 CentOS 7 系统已更新至最新版本,并拥有 root 权限,执行以下命令更新系统包:

yum update -y

接着安装 EPEL 源(用于获取更多软件包):

yum install epel-release -y

第二步:安装 OpenVPN 和 Easy-RSA
Easy-RSA 是用于管理 PKI(公钥基础设施)证书的工具,是 OpenVPN 安全通信的核心组件,执行以下命令安装:

yum install openvpn easy-rsa -y

第三步:配置证书颁发机构(CA)
复制 Easy-RSA 配置文件到默认路径:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa

编辑 vars 文件,设置国家、组织名称等基本信息(如 CN=YourCompany, O=YourOrg),以保证证书的唯一性和可识别性。

执行以下命令生成 CA 证书和密钥:

./clean-all
./build-ca

系统会提示输入 Common Name(如 "CA"),确认后生成 ca.crtca.key

第四步:生成服务器证书和密钥
运行以下命令创建服务器证书和密钥:

./build-key-server server

同样输入 Common Name(如 "server"),然后确认是否签名该证书。

第五步:生成 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:使用 UDP 协议(性能更优)
  • dev tun:使用隧道模式
  • ca ca.crt, cert server.crt, key server.key, dh dh.pem:指定证书路径
  • server 10.8.0.0 255.255.255.0:定义内部 IP 段
  • push "redirect-gateway def1 bypass-dhcp":强制客户端流量走 VPN
  • push "dhcp-option DNS 8.8.8.8":指定 DNS 服务器

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

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

配置 iptables 规则(或 firewalld)允许流量通过:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT

保存规则并重启服务:

systemctl enable openvpn@server
systemctl start openvpn@server

第八步:客户端配置
ca.crtclient.crtclient.key 复制到客户端设备,并创建 .ovpn 配置文件,内容包括服务器地址、协议、证书路径等。

客户端通过 OpenVPN GUI 或命令行连接即可实现安全远程访问,此方案不仅适用于个人用途,也适合中小企业构建私有云接入通道,是 CentOS 7 环境下最实用的开源解决方案之一。

CentOS 7 下配置 OpenVPN 服务的完整指南,从安装到客户端连接

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