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

dfbn6 2026-04-13 梯子VPN 9 0

在企业网络或远程办公环境中,虚拟专用网络(VPN)是保障数据安全传输的重要手段,对于使用 CentOS 操作系统的服务器管理员而言,OpenVPN 是一个开源、稳定且功能强大的选择,本文将详细介绍如何在 CentOS 7 或 CentOS 8 系统上部署和配置 OpenVPN 服务,包括证书生成、服务器端配置、防火墙设置以及客户端连接步骤。

第一步:准备环境
确保你的 CentOS 主机已更新至最新版本,并拥有公网 IP 地址(若需外网访问),通过 SSH 登录服务器后,运行以下命令更新系统:

sudo yum update -y

第二步:安装 OpenVPN 和 Easy-RSA
Easy-RSA 是用于生成证书和密钥的工具,它是 OpenVPN 的必备组件,执行以下命令安装:

sudo yum install -y openvpn easy-rsa

第三步:配置证书颁发机构(CA)
复制 Easy-RSA 示例文件到 /etc/openvpn/ 目录并初始化:

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

编辑 vars 文件,根据实际需求修改国家代码、组织名等信息,

set_var EASYRSA_COUNTRY "CN"
set_var EASYRSA_PROVINCE "Beijing"
set_var EASYRSA_CITY "Beijing"
set_var EASYRSA_ORG "MyCompany"
set_var EASYRSA_EMAIL "admin@mycompany.com"
set_var EASYRSA_CN "MyCA"

然后执行以下命令生成 CA 证书:

./easyrsa init-pki
./easyrsa build-ca

第四步:生成服务器和客户端证书
为服务器生成证书:

./easyrsa gen-req server nopass
./easyrsa sign-req server server

为客户端生成证书(可批量生成多个客户端):

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

第五步:生成 Diffie-Hellman 参数和 TLS 密钥
这些参数用于增强加密强度:

./easyrsa gen-dh
openvpn --genkey --secret ta.key

第六步:配置 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"
keepalive 10 120
tls-auth /etc/openvpn/ta.key 0
cipher AES-256-CBC
auth SHA256
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

第七步:启用 IP 转发与防火墙规则
编辑 /etc/sysctl.conf 启用 IP 转发:

net.ipv4.ip_forward = 1

应用更改:

sysctl -p

配置 iptables 放行流量:

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

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

sudo systemctl enable openvpn@server
sudo systemctl start openvpn@server

第九步:分发客户端配置文件
将客户端所需的证书、密钥和配置文件打包,供用户下载,客户端配置示例(client.ovpn):

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
tls-auth ta.key 1
cipher AES-256-CBC
auth SHA256
verb 3

完成以上步骤后,用户即可使用 OpenVPN 客户端(如 OpenVPN Connect)连接至你的 CentOS 服务器,实现安全远程访问内网资源。

本指南覆盖了从环境准备到客户端连接的全过程,适合初学者和中级网络工程师参考,务必注意安全性,如定期更换证书、限制访问权限,并记录日志以便排查问题。

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

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