安装 WireGuard

# 需要EPEL
yum install wireguard-tools

生成密钥对

mkdir -p /etc/wireguard/
cd /etc/wireguard
wg genkey | tee /etc/wireguard/server_private.key | wg pubkey | tee /etc/wireguard/server_public.key

创建WireGuard配置文件

/etc/wireguard/wg0.conf

[Interface]
Address = 10.0.0.1/30
MTU = 1280
SaveConfig = true
ListenPort = 51820
PrivateKey = private-key-of-your-server

[Peer]
PublicKey = public-key-of-your-client
AllowedIPs = 10.0.0.0/30, 10.0.1.0/24
  • 调整合适的MTU值以获得最佳性能
  • AllowedIPs 除包含对端wg网卡的IP地址段外 对端本地网络的其他设备如果想经过对端的路由转发至Server 也需要将其IP地址段填入 若是经对端NAT后转发则不需要 换句话说 允许通过隧道的包的三层源地址必须包含在此

像这样保护文件:

chmod 600 /etc/wireguard/ -R

调整内核参数启用IP转发

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

在防火墙上配置IP伪装(NAT)和放开端口

firewall-cmd --zone=public --permanent --add-masquerade
firewall-cmd --permanent --add-port=51820/udp 
systemctl reload firewalld

启动 WireGuard

# 手动启动
wg-quick up /etc/wireguard/wg0.conf

# 手动停止
wg-quick down /etc/wireguard/wg0.conf

# 交给 systemd 管理 开机自启
systemctl start wg-quick@wg0.service
systemctl enable wg-quick@wg0.service
  • ifconfig检查wg0网卡是否存在
  • route检查路由表 若正确配置则AllowedIPs中的所有网段会在启动时 自动创建路由表项 且Ifacewg0