CentOS下搭建OpenVPN服务的完整教程,从安装到客户端配置详解

dfbn6 2026-04-14 半仙VPN 22 0

在企业网络部署或远程办公场景中,虚拟私人网络(VPN)已成为保障数据安全与访问灵活性的重要工具,CentOS作为一款稳定、安全且广泛应用于服务器环境的操作系统,非常适合用来搭建OpenVPN服务,本文将详细介绍如何在CentOS 7或8上从零开始搭建OpenVPN服务,并完成客户端的配置,帮助你快速构建一个可信赖的私有网络通道。

第一步:准备工作
确保你的CentOS系统已更新至最新版本,执行以下命令:

sudo yum update -y

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

sudo yum install openvpn easy-rsa -y

第三步:配置Easy-RSA证书系统
Easy-RSA是OpenVPN用于生成SSL/TLS证书和密钥的工具,首先复制默认配置文件并编辑:

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

用文本编辑器打开vars文件,修改以下参数以适应你的环境:

  • KEY_COUNTRY="CN"(国家代码)
  • KEY_PROVINCE="Beijing"(省份)
  • KEY_CITY="Beijing"(城市)
  • KEY_ORG="MyCompany"(组织名称)
  • KEY_EMAIL="admin@example.com"(管理员邮箱)

接着初始化PKI(公钥基础设施)并生成CA证书:

./clean-all
./build-ca

第四步:生成服务器证书和密钥
运行以下命令生成服务器证书和密钥:

./build-key-server server

系统会提示是否确认签名,输入“yes”后继续,完成后,还会要求输入密码(建议设置强密码保护私钥)。

第五步:生成Diffie-Hellman参数和TLS密钥
这些是加密通信的基础材料:

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

第六步:配置OpenVPN服务端
复制示例配置文件到/etc/openvpn目录并重命名:

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

编辑/etc/openvpn/server.conf,关键配置项如下:

  • port 1194(默认UDP端口)
  • 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
  • tls-auth /etc/openvpn/ta.key 0(启用TLS认证)
  • server 10.8.0.0 255.255.255.0(分配给客户端的IP段)
  • push "redirect-gateway def1 bypass-dhcp"(强制客户端流量走VPN)
  • push "dhcp-option DNS 8.8.8.8"(指定DNS服务器)

第七步:启用IP转发并配置防火墙
编辑/etc/sysctl.conf,取消注释:

net.ipv4.ip_forward = 1

然后应用更改:

sysctl -p

配置iptables规则允许流量转发:

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

保存规则(CentOS 7需安装iptables-services):

service iptables save

第八步:启动OpenVPN服务

systemctl enable openvpn@server
systemctl start openvpn@server

第九步:客户端配置
在客户端机器上下载并安装OpenVPN客户端(Windows/Linux/macOS均有官方支持),创建一个.ovpn配置文件,内容包含服务器IP、证书路径、协议等信息。

client
dev tun
proto udp
remote your-vpn-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
tls-auth ta.key 1

将所有证书文件(ca.crt、client.crt、client.key、ta.key)打包发送给客户端用户,即可实现安全连接。

通过以上步骤,你已经在CentOS上成功搭建了一个功能完整的OpenVPN服务,既满足了安全性要求,也具备良好的可扩展性,此方案适用于中小企业远程办公、分支机构互联等多种应用场景。

CentOS下搭建OpenVPN服务的完整教程,从安装到客户端配置详解

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