在当前远程办公和数据安全日益重要的背景下,搭建一个稳定、安全的虚拟私人网络(VPN)服务变得尤为关键,CentOS 作为一款广泛应用于企业级服务器环境的 Linux 发行版,因其稳定性、安全性以及强大的社区支持,成为部署自建 VPN 的理想平台之一,本文将详细介绍如何在 CentOS 系统上使用 OpenVPN 搭建一个功能完整的点对点加密隧道服务,帮助你实现安全远程访问内网资源。

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

sudo yum update -y

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

sudo yum install -y openvpn easy-rsa

安装完成后,复制 Easy-RSA 的模板文件到 /etc/openvpn 目录,并配置证书生成参数:

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

编辑 vars 文件,根据你的需求修改如下变量:

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

然后执行以下命令生成 CA 根证书和服务器证书:

./clean-all
./build-ca
./build-key-server server
./build-key client1
./build-dh

这些操作会生成必要的加密密钥和证书文件,包括 CA 证书、服务器证书、客户端证书和 Diffie-Hellman 参数,是后续 TLS 加密通信的基础。

配置 OpenVPN 服务端主文件,创建 /etc/openvpn/server.conf 并写入基础配置:

port 1194
proto 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
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
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

此配置启用 UDP 协议、TUN 模式、静态 IP 分配池(10.8.0.0/24),并推送默认路由和 DNS 设置给客户端,使其可访问互联网和内网资源。

启动并启用 OpenVPN 服务:

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

为客户端准备 .ovpn 配置文件,包含 CA 证书、客户端证书、私钥及服务器地址信息,用户只需导入该文件即可连接到你的 VPN。

务必配置防火墙规则允许 1194/udp 端口通过,并开启 IP 转发以支持 NAT 功能(若需共享上网)。

sudo firewall-cmd --add-port=1194/udp --permanent
sudo sysctl net.ipv4.ip_forward=1

通过以上步骤,你就可以在 CentOS 上成功搭建一个安全、可控、易于维护的 OpenVPN 服务,无论是远程办公、跨地域协作还是保护敏感数据传输,这套方案都具备高度实用性与扩展性,记住定期更新证书、监控日志并加强系统权限控制,才能真正实现“安全即服务”的目标。

在 CentOS 系统上搭建安全可靠的 VPN 服务,从零开始的完整指南  第1张

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