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

dfbn6 2026-05-18 半仙VPN下载 1 0

在当前网络环境日益复杂的背景下,企业与个人用户对安全远程访问的需求不断增长,虚拟私人网络(VPN)作为实现加密通信、保护数据隐私的重要工具,在Linux服务器中部署尤为常见,CentOS作为一个稳定、开源的Linux发行版,广泛应用于服务器场景,而OpenVPN则是业界公认的开源VPN解决方案之一,本文将详细介绍如何在CentOS系统上搭建OpenVPN服务,包括环境准备、服务安装、证书生成、配置文件编写及客户端连接设置。

第一步:准备工作
确保你有一台运行CentOS 7或8的服务器(推荐使用最小化安装),并具备root权限,通过SSH登录后,更新系统软件包:

sudo yum update -y

然后安装EPEL源(如果尚未启用):

sudo yum install epel-release -y

第二步:安装OpenVPN及相关工具
使用YUM安装OpenVPN和Easy-RSA(用于证书管理):

sudo yum install openvpn easy-rsa -y

安装完成后,复制默认配置文件到指定目录:

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

第三步:生成SSL证书和密钥
使用Easy-RSA工具创建PKI(公钥基础设施),首先初始化证书颁发机构(CA):

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

编辑vars文件,根据需要修改国家、组织等信息(如export KEY_COUNTRY="CN"),接着执行以下命令生成CA证书:

./clean-all
./build-ca

接下来生成服务器证书和密钥:

./build-key-server server

为客户端生成证书(每个客户端需单独生成):

./build-key client1

最后生成Diffie-Hellman参数和TLS密钥:

./build-dh
openvpn --genkey --secret ta.key

第四步:配置OpenVPN服务器
编辑/etc/openvpn/server.conf文件,关键配置如下:

port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/ca.crt
cert /etc/openvpn/easy-rsa/server.crt
key /etc/openvpn/easy-rsa/server.key
dh /etc/openvpn/easy-rsa/dh2048.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
tls-auth /etc/openvpn/ta.key 0
cipher AES-256-CBC
auth SHA256
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3

第五步:启动并启用服务
开启IP转发(允许流量转发):

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

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

systemctl start openvpn@server
systemctl enable openvpn@server

第六步:防火墙配置
若使用firewalld,开放UDP 1194端口:

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

第七步:客户端配置与连接
将生成的客户端证书(client1.crt)、私钥(client1.key)、CA证书(ca.crt)及ta.key文件打包,下载到本地设备,使用OpenVPN GUI客户端导入配置文件(.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

完成以上步骤后,即可通过客户端成功连接至你的CentOS OpenVPN服务器,实现安全远程访问,此方案适用于小型办公网络、远程员工接入以及家庭网络扩展等多种场景,是网络工程师值得掌握的核心技能之一。

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

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