在当前企业网络和远程办公日益普及的背景下,虚拟专用网络(VPN)已成为保障数据传输安全、实现远程访问的重要工具,CentOS作为一款稳定可靠的Linux发行版,广泛应用于服务器环境中,本文将详细介绍如何在CentOS 7或CentOS 8系统上搭建OpenVPN服务,包括环境准备、安装配置、防火墙设置以及客户端连接步骤,帮助网络工程师快速部署一套安全、高效的私有VPN解决方案。

准备工作
首先确保你拥有一个公网IP地址的CentOS服务器,并具备root权限,推荐使用CentOS 7或8,因为它们对OpenVPN的支持更成熟,通过SSH登录服务器后,执行以下命令更新系统软件包:

sudo yum update -y

安装OpenVPN及相关依赖
OpenVPN需要Easy-RSA来生成证书和密钥,我们使用EPEL源安装所需组件:

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

配置证书颁发机构(CA)
OpenVPN基于SSL/TLS协议进行加密通信,因此必须先建立CA体系,复制Easy-RSA模板并初始化:

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

编辑vars文件,修改如下参数以符合你的组织信息:

export KEY_COUNTRY="CN"
export KEY_PROVINCE="Beijing"
export KEY_CITY="Beijing"
export KEY_ORG="MyCompany"
export KEY_EMAIL="admin@mycompany.com"

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

./clean-all
./build-ca

生成服务器证书和密钥

./build-key-server server

按提示输入信息,确认是否签署证书,完成后继续生成Diffie-Hellman参数(用于密钥交换):

./build-dh

配置OpenVPN服务器
创建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 /var/log/openvpn-status.log
verb 3

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

net.ipv4.ip_forward = 1

执行 sysctl -p 生效。
使用firewalld配置端口开放:

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

启动服务并测试

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

客户端配置
为每个用户生成客户端证书:

cd /etc/openvpn/easy-rsa
./build-key client1

客户端配置文件(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
comp-lzo
verb 3

将服务器IP、CA证书和客户端证书分发给用户,即可通过OpenVPN客户端连接至内网资源。

通过以上步骤,你可以在CentOS平台上成功搭建一个安全、可扩展的OpenVPN服务,满足企业或个人远程访问需求,此方案不仅成本低廉,且安全性高,是网络工程师值得掌握的实用技能。

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

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