在当前数字化办公日益普及的背景下,企业与个人用户对远程访问内网资源的需求显著增长,虚拟私人网络(VPN)作为实现安全远程接入的核心技术,已成为网络架构中不可或缺的一环,CentOS,作为一款稳定、开源且广泛应用于服务器环境的操作系统,非常适合用于构建企业级的VPN服务,本文将详细介绍如何在CentOS系统上搭建一个基于OpenVPN的加密VPN服务,涵盖安装、配置、证书管理及防火墙策略设置等关键步骤。

确保你已准备一台运行CentOS 7或CentOS 8/9的物理机或虚拟机,并具备root权限,建议使用最小化安装版本以减少安全风险,第一步是更新系统软件包:

sudo yum update -y

接着安装OpenVPN及相关依赖项:

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

easy-rsa 是用于生成SSL/TLS证书和密钥的工具,是OpenVPN认证机制的核心组件,复制默认的EasyRSA配置文件并初始化PKI(公钥基础设施):

cp -r /usr/share/easy-rsa/3.0 /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
./easyrsa init-pki
./easyrsa build-ca nopass  # 创建根证书颁发机构(CA),无需密码便于自动化

随后生成服务器证书和密钥:

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

客户端证书也需生成,例如为一名员工创建证书:

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

生成完成后,将服务器证书、私钥、CA证书以及DH参数文件(增强加密强度)复制到OpenVPN配置目录:

mkdir -p /etc/openvpn/server/
cp pki/ca.crt /etc/openvpn/server/
cp pki/private/server.key /etc/openvpn/server/
cp pki/issued/server.crt /etc/openvpn/server/
openssl dhparam -out /etc/openvpn/server/dh.pem 2048

接下来编写OpenVPN服务器配置文件 /etc/openvpn/server/server.conf示例包括:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh 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
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3

保存后启动服务并设为开机自启:

systemctl enable openvpn@server
systemctl start openvpn@server

在防火墙上开放UDP端口1194(若启用SELinux,请确保策略允许):

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

至此,一个功能完整的OpenVPN服务器已在CentOS上成功部署,客户端可通过.ovpn配置文件连接,该文件包含CA证书、客户端证书、密钥和服务器地址信息,此方案适用于中小型企业或远程办公场景,兼具安全性与易维护性,是构建私有网络隧道的理想选择。

CentOS系统下搭建安全可靠的VPN服务,从基础配置到实战部署指南  第1张

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