CentOS系统下搭建OpenVPN服务完整指南,从零开始构建安全远程访问通道

dfbn6 2026-04-07 vpn 20 0

在当前企业数字化转型和远程办公普及的背景下,保障数据传输安全成为网络架构中的关键环节,对于使用CentOS操作系统的服务器管理员而言,搭建一个稳定、安全且可扩展的虚拟私人网络(VPN)服务,是实现远程员工安全接入内网资源的理想选择,本文将详细介绍如何在CentOS 7或CentOS 8环境中部署OpenVPN服务,涵盖环境准备、安装配置、证书管理、防火墙设置及客户端连接测试等全流程步骤。

确保你已拥有一台运行CentOS的服务器,并具备root权限或sudo权限,推荐使用最小化安装版本以减少潜在漏洞,通过SSH登录服务器后,执行以下命令更新系统软件包:

sudo yum update -y

接着安装EPEL源(Extra Packages for Enterprise Linux),这是获取OpenVPN及相关工具包的重要来源:

sudo yum install epel-release -y

然后安装OpenVPN和easy-rsa(用于生成SSL/TLS证书):

sudo yum install openvpn easy-rsa -y

安装完成后,需要配置证书颁发机构(CA),复制easy-rsa模板到/etc/openvpn目录并初始化:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
cp vars.example vars

编辑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
./build-key client1  # 为每个客户端创建唯一证书
./build-dh

配置OpenVPN主服务文件,复制示例配置文件至/etc/openvpn目录:

cp /usr/share/doc/openvpn-*/sample-config-files/server.conf /etc/openvpn/

编辑该文件,重点修改以下几项:

  • port 1194(默认端口,可根据需求更改)
  • proto udp(UDP协议更高效)
  • dev tun(隧道设备类型)
  • ca /etc/openvpn/easy-rsa/keys/ca.crt
  • cert /etc/openvpn/easy-rsa/keys/server.crt
  • key /etc/openvpn/easy-rsa/keys/server.key
  • dh /etc/openvpn/easy-rsa/keys/dh2048.pem
  • server 10.8.0.0 255.255.255.0(分配给客户端的IP段)

启用IP转发功能,使客户端能访问内网资源:

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

配置防火墙规则(若使用firewalld):

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

启动OpenVPN服务并设为开机自启:

systemctl enable openvpn@server
systemctl start openvpn@server

分发客户端配置文件(client.ovpn)给用户,其中包含CA证书、客户端证书、私钥及服务器地址,客户端可通过OpenVPN GUI或命令行连接,验证成功后即可安全访问内部网络资源。

本方案基于开源技术栈,成本低、安全性高、易于维护,建议定期更新证书、监控日志、限制访问权限,从而构建一个健壮的企业级远程接入体系,对于更高要求的场景,还可结合双因素认证(如Google Authenticator)进一步提升防护等级。

CentOS系统下搭建OpenVPN服务完整指南,从零开始构建安全远程访问通道

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