在当今网络安全日益重要的时代,搭建一个私有、加密且高效的虚拟专用网络(VPN)变得尤为重要。WireGuard 是一款现代、轻量级、高性能的 VPN 协议,相比传统方案如 OpenVPN 或 IPSec,它具有更简洁的代码库和更快的速度。本文将详细讲解如何在 CentOS 系统上完成 CentOS WireGuard配置,即使是 Linux 新手也能轻松上手。
在开始之前,请确保你满足以下条件:
首先,我们需要启用 EPEL(Extra Packages for Enterprise Linux)仓库,并安装一些基础工具:
# 对于 CentOS 7sudo yum install -y epel-releasesudo yum install -y yum-utils# 对于 CentOS Stream 8/9sudo dnf install -y epel-releasesudo dnf install -y dnf-plugins-core WireGuard 需要内核模块支持。在较新的 CentOS 版本中,可以通过官方仓库直接安装。如果系统内核较旧,可能需要通过 DKMS 编译模块。
执行以下命令安装 WireGuard:
# CentOS Stream 8/9(推荐)sudo dnf install -y wireguard-tools# CentOS 7(需先启用 ELRepo 仓库)sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmsudo curl -o /etc/yum.repos.d/jdoss-wireguard-epel-7.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.reposudo yum install -y wireguard-dkms wireguard-tools 安装完成后,可通过以下命令验证是否成功:
wg --version 如果看到类似 wg v1.0.20210914 的输出,说明 WireGuard内核模块 已正确安装。
WireGuard 使用公钥加密机制。我们需要为服务器和客户端分别生成密钥对。
# 创建配置目录sudo mkdir -p /etc/wireguard# 进入目录并生成私钥和公钥sudo su -cd /etc/wireguardumask 077wg genkey | tee privatekey | wg pubkey > publickey 执行后,你会在 /etc/wireguard/ 目录下看到两个文件:privatekey(服务器私钥)和 publickey(服务器公钥)。
创建配置文件 /etc/wireguard/wg0.conf:
[Interface]PrivateKey = <你的服务器私钥>Address = 10.0.0.1/24ListenPort = 51820PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEPostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE 请将 <你的服务器私钥> 替换为 /etc/wireguard/privatekey 文件中的内容。注意:确保网卡名称(如 eth0)与你服务器实际外网网卡一致,可通过 ip a 命令查看。
编辑 sysctl 配置以启用 IPv4 转发:
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.confsudo sysctl -p 设置配置文件权限并启动 WireGuard:
sudo chmod 600 /etc/wireguard/wg0.confsudo systemctl enable wg-quick@wg0sudo systemctl start wg-quick@wg0 至此,CentOS搭建VPN 的服务端已基本完成。
在客户端设备上安装 WireGuard 客户端(官网下载),然后创建如下配置:
[Interface]PrivateKey = <客户端私钥>Address = 10.0.0.2/24DNS = 8.8.8.8[Peer]PublicKey = <服务器公钥>Endpoint = <你的服务器公网IP>:51820AllowedIPs = 0.0.0.0/0PersistentKeepalive = 25 客户端私钥可通过本地 WireGuard 工具生成。服务器公钥即之前生成的 /etc/wireguard/publickey 内容。
确保服务器防火墙允许 UDP 51820 端口通信:
# firewalld(CentOS 7/8 默认)sudo firewall-cmd --permanent --add-port=51820/udpsudo firewall-cmd --reload# 或使用 iptables(若未用 firewalld)sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPT 在客户端激活连接后,回到服务器执行:
wg show 如果看到 peer 信息和最新握手时间,说明 WireGuard安装教程 成功完成!你现在拥有了一个安全、快速、低延迟的私有网络。
通过本教程,你应该已经掌握了完整的 CentOS WireGuard配置 流程。WireGuard 不仅安全高效,而且配置简洁,是现代 VPN 解决方案的理想选择。
本文由主机测评网于2025-12-11发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025126062.html