在现代网络环境中,虚拟私人网络(VPN)已成为远程办公、安全访问内网资源以及保护数据传输隐私的重要工具,对于使用 CentOS 操作系统的用户来说,搭建一个稳定、安全的 OpenVPN 服务器是一个非常实用且经济的选择,本文将详细介绍如何在 CentOS 系统上部署 OpenVPN 服务,涵盖环境准备、证书生成、服务配置、防火墙设置和客户端连接等全流程。

确保你拥有一个运行 CentOS 7 或 CentOS 8 的服务器(推荐使用最小化安装版本),并具备 root 权限,建议通过 SSH 连接进行操作,执行以下命令更新系统:

sudo yum update -y

接着安装 EPEL 源(如果尚未安装)以便获取更多软件包:

sudo yum install epel-release -y

然后安装 OpenVPN 和 Easy-RSA(用于证书管理):

sudo yum install openvpn easy-rsa -y

接下来是证书签发阶段,Easy-RSA 是 OpenVPN 官方推荐的 PKI(公钥基础设施)工具,我们先复制模板到指定目录:

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

编辑 vars 文件,根据需要修改默认参数(如国家、组织名、密钥长度等)。

export KEY_COUNTRY="CN"
export KEY_PROVINCE="Beijing"
export KEY_CITY="Beijing"
export KEY_ORG="MyCompany"
export KEY_EMAIL="admin@mycompany.com"
export KEY_CN="server"
export KEY_NAME="server"
export KEY_ALTNAMES="server.mycompany.com"
export KEY_SIZE=2048

执行以下命令初始化 PKI 并生成 CA 证书:

./clean-all
./build-ca

随后生成服务器证书和密钥:

./build-key-server server

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

./build-key client1

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

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

完成证书生成后,配置 OpenVPN 服务,复制示例配置文件并修改:

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

关键配置项如下(可根据需求调整):

  • port 1194:OpenVPN 默认端口,可改为其他端口(如 443)
  • proto udp:使用 UDP 协议提升性能
  • dev tun:创建隧道设备
  • ca /etc/openvpn/easy-rsa/pki/ca.crt
  • cert /etc/openvpn/easy-rsa/pki/issued/server.crt
  • key /etc/openvpn/easy-rsa/pki/private/server.key
  • dh /etc/openvpn/easy-rsa/pki/dh.pem
  • tls-auth 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 转发功能(使服务器能转发流量):

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

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

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

启动 OpenVPN 服务:

systemctl enable openvpn@server
systemctl start openvpn@server

为客户端打包配置文件(包含 ca.crt、client1.crt、client1.key 和 ta.key),下载至本地并导入 OpenVPN 客户端即可连接。

至此,一个基于 CentOS 的 OpenVPN 服务器已成功搭建完成,此方案具有良好的安全性、灵活性和可扩展性,适用于小型企业或个人用户远程接入需求,建议定期备份证书与配置,并根据实际场景优化网络策略。

CentOS下搭建OpenVPN服务器的完整指南,从安装到客户端配置  第1张

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