CentOS 系统下配置 OpenVPN 服务器与客户端的完整指南

dfbn6 2026-04-03 免费VPN 9 0

在现代网络环境中,虚拟私人网络(VPN)已成为远程办公、安全访问内网资源以及保护数据传输隐私的重要工具,作为网络工程师,掌握在 CentOS 系统上部署和管理 OpenVPN 是一项必备技能,本文将详细介绍如何在 CentOS 7 或 CentOS 8 上搭建 OpenVPN 服务器,并配置客户端连接,确保企业或个人用户能够安全、稳定地使用私有网络通道。

第一步:准备工作
确保你有一台运行 CentOS 的服务器(建议 CentOS 7/8),具备公网 IP 地址,并已安装基本的防火墙工具(如 firewalld 或 iptables),登录服务器后,首先更新系统并安装必要软件包:

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

Easy-RSA 是用于生成证书和密钥的工具,OpenVPN 依赖它来实现 TLS 加密通信。

第二步:配置 OpenVPN 服务器
OpenVPN 的主配置文件位于 /etc/openvpn/server.conf,我们先复制默认配置模板并进行修改:

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

关键配置项如下:

  • port 1194:指定监听端口(可更改,但需与防火墙一致)
  • proto udp:使用 UDP 协议,性能更优
  • dev tun:创建点对点隧道接口
  • ca ca.crtcert server.crtkey server.key:证书路径,后续会用 Easy-RSA 生成
  • dh dh2048.pem:Diffie-Hellman 参数文件(由 Easy-RSA 生成)
  • 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 服务器地址

第三步:生成证书和密钥
使用 Easy-RSA 工具生成 CA 根证书及服务器、客户端证书:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass
sudo ./easyrsa gen-req server nopass
sudo ./easyrsa sign-req server server
sudo ./easyrsa gen-dh
sudo cp pki/dh.pem /etc/openvpn/
sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key /etc/openvpn/

第四步:启用 IP 转发与防火墙规则
为了让客户端能访问外网,需开启 Linux 的 IP 转发功能:

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

然后配置防火墙放行 OpenVPN 流量:

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

第五步:启动服务并设置开机自启

sudo systemctl enable openvpn@server
sudo systemctl start openvpn@server

第六步:客户端配置
在客户端(如 Windows、Linux、Android)上,需获取以下文件:

  • ca.crt(CA 根证书)
  • client.crt(客户端证书)
  • client.key(客户端私钥)

创建一个 .ovpn 配置文件,

client
dev tun
proto udp
remote your-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
auth-user-pass

将该配置文件导入客户端(如 OpenVPN GUI 或 Tunnelblick),输入用户名密码即可连接。


通过以上步骤,你已在 CentOS 系统成功搭建了 OpenVPN 服务器,并实现了客户端的安全接入,此方案适合中小型组织或个人用户,具备良好的可扩展性和安全性,作为网络工程师,理解底层原理并能灵活调整配置(如多用户认证、负载均衡、日志监控等)是持续提升的关键,网络安全无小事,定期更新证书、监控日志、限制访问权限,才能真正保障你的私有网络环境。

CentOS 系统下配置 OpenVPN 服务器与客户端的完整指南

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