在现代企业网络和远程办公环境中,虚拟私人网络(VPN)已成为保障数据安全传输的重要工具,对于使用 CentOS 这类 Linux 发行版的用户来说,掌握如何在系统层面搭建和管理 VPN 服务不仅有助于提升网络安全性,还能实现跨地域访问内网资源、加密通信等关键功能,本文将详细介绍如何在 CentOS 系统中配置并使用 OpenVPN 和 WireGuard 两种主流开源 VPN 协议,适合初学者和有一定经验的网络工程师参考。

我们需要明确目标:在 CentOS 7 或 CentOS 8/9 上部署一个可信赖的本地或远程访问型 VPN,推荐优先使用 WireGuard,因其配置简单、性能优异且原生支持 Linux 内核(自 5.6 版本起),若需兼容旧系统或特定协议(如 L2TP/IPSec),也可选择 OpenVPN。

准备工作

确保你的 CentOS 主机已连接互联网,并具备 root 权限,执行以下命令更新系统:

sudo yum update -y

安装 WireGuard(推荐方案)

WireGuard 是一种轻量级、高性能的现代隧道协议,安装前需启用 EPEL 源(若未启用):

sudo yum install epel-release -y

然后安装 WireGuard:

sudo yum install wireguard-dkms wireguard-tools -y

接下来生成密钥对:

wg genkey | tee privatekey | wg pubkey > publickey

这会生成两个文件:privatekey(私钥,保密)和 publickey(公钥,用于客户端配置)。

配置服务器端

创建配置文件 /etc/wireguard/wg0.conf

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <你的私钥>
[Peer]
PublicKey = <客户端公钥>
AllowedIPs = 10.0.0.2/32

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

sudo systemctl enable --now wg-quick@wg0

配置客户端

在客户端设备上(如另一台 CentOS 或手机),同样安装 WireGuard 工具(官方提供图形界面版本),并配置如下内容:

  • Interface: 本地 IP(如 10.0.0.2)
  • Private Key: 客户端私钥
  • Public Key: 服务器公钥
  • Endpoint: 服务器公网 IP:51820
  • Allowed IPs: 10.0.0.0/24(表示允许访问整个子网)

完成配置后,点击“Connect”,即可建立加密隧道。

进阶建议:

  • 使用防火墙规则(firewalld 或 iptables)开放 UDP 51820 端口;
  • 结合 DNS 配置实现内网域名解析;
  • 使用 systemd 服务监控状态,确保高可用性;
  • 若为多用户环境,可通过脚本批量生成客户端配置。

CentOS 上配置和使用 VPN 不仅能增强网络安全,还能灵活满足远程办公、站点互访等多种需求,掌握上述方法,你将拥有构建稳定、高效、安全的私有网络的能力。

CentOS系统中配置与使用VPN的完整指南,从基础到进阶  第1张

半仙加速器-海外加速器|VPN加速器|vpn翻墙加速器|VPN梯子|VPN外网加速