CentOS系统下搭建OpenVPN服务完整指南,从安装到客户端配置详解

dfbn6 2026-04-01 VPN翻墙 14 0

在企业网络部署和远程办公日益普及的今天,虚拟专用网络(VPN)已成为保障数据安全传输的重要工具,对于使用CentOS操作系统的管理员而言,搭建一个稳定、安全且易于管理的OpenVPN服务,是实现远程访问内网资源的关键一步,本文将详细介绍如何在CentOS 7或8系统中安装、配置并测试OpenVPN服务,帮助你快速构建私有网络通道。

确保你的CentOS系统已更新至最新版本,打开终端并执行以下命令:

sudo yum update -y

安装EPEL仓库(Extra Packages for Enterprise Linux),这是获取OpenVPN及相关依赖包的前提:

sudo yum install epel-release -y

安装OpenVPN软件包及其所需的依赖项:

sudo yum install openvpn easy-rsa -y

安装完成后,需要生成证书和密钥,OpenVPN使用PKI(公钥基础设施)进行身份认证,因此必须先设置CA(证书颁发机构),进入Easy-RSA目录并初始化:

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

编辑vars文件以设置国家、省份、组织等信息(如需自定义,请修改对应字段):

nano vars

然后执行脚本生成CA证书:

source ./vars
./clean-all
./build-ca

生成服务器证书和密钥:

./build-key-server server

为每个客户端生成单独的证书和密钥(为用户“client1”生成):

./build-key client1

同时生成Diffie-Hellman参数(用于加密协商):

./build-dh

这些步骤完成后,你需要配置OpenVPN服务器主文件,复制示例配置文件到/etc/openvpn目录,并重命名为server.conf:

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

编辑该文件,关键配置如下:

  • port 1194:指定端口(可选UDP或TCP)
  • 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

启用IP转发并配置iptables规则,使流量可以穿越服务器:

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

添加NAT规则:

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

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

systemctl start openvpn@server
systemctl enable openvpn@server

至此,服务器端配置完成,客户端方面,需将生成的ca.crt、client1.crt、client1.key三个文件打包发送给用户,并配置OpenVPN客户端连接参数,常见客户端配置包括:

  • 指定服务器地址(公网IP)
  • 使用UDP协议
  • 加载上述三个证书文件

建议在生产环境中进一步强化安全性,如启用TLS验证、限制用户权限、定期轮换证书等,通过以上步骤,你可以在CentOS上成功部署一套功能完整的OpenVPN服务,满足远程办公、站点间互联等多种场景需求。

CentOS系统下搭建OpenVPN服务完整指南,从安装到客户端配置详解

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