安装核心组件
sudo dnf install wireguard-tools -y # [1](@ref)
curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
chmod +x wireguard-install.sh
./wireguard-install.sh # [5](@ref)
生成密钥对
sudo wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key
sudo chmod 600 /etc/wireguard/*.key # [1](@ref)
配置主文件wg0.conf
sudo vi /etc/wireguard/wg0.conf
[Interface]
PrivateKey = <server_private_key>
Address = 10.255.255.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
<server_private_key>
并修改eth0
为实际网卡名。启用IP转发与启动服务
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
sudo systemctl enable wg-quick@wg0 && sudo systemctl start wg-quick@wg0 # [1](@ref)
安装WireGuard-UI
sudo mkdir -p /opt/wireguard-ui
curl -L https://github.com/ngoduykhanh/wireguard-ui/releases/download/v0.6.2/wireguard-ui-v0.6.2-linux-amd64.tar.gz | sudo tar xz -C /opt/wireguard-ui
docker run -d --name wireguard-ui -p 5000:5000 -v /etc/wireguard:/etc/wireguard ngoduykhanh/wireguard-ui # [2](@ref)
配置WebUI
sudo vi /opt/wireguard-ui/config.ini
[wireguard]
conf = /etc/wireguard/wg0.conf
[webui]
listen = :5000
username = admin
password = StrongPassw0rd! # 需改为复杂密码
启动服务并设置权限
sudo systemctl enable --now wireguard-ui # [1](@ref)
sudo chmod 755 /etc/wireguard && sudo chmod 644 /etc/wireguard/wg0.conf
防火墙配置
sudo firewall-cmd --permanent --add-port=51820/udp --add-port=5000/tcp
sudo firewall-cmd --reload # [1](@ref)
公网端口映射
密钥轮换与日志监控
sudo wg genkey | sudo tee /etc/wireguard/new_server_private.key | wg pubkey | sudo tee /etc/wireguard/new_server_public.key
sudo systemctl reload wg-quick@wg0 # [1](@ref)
journalctl -u wg-quick@wg0 -f
生成客户端证书
sudo wg genkey | sudo tee client1_private.key | sudo wg pubkey > client1_public.key
client1_public.key
导入WebUI并创建用户。分发配置文件
sudo wg-quick export-client-config client1 /etc/wireguard/client1.conf
sudo wg-quick up client1 # [7](@ref)
sudo ethtool -L eth0 combined 8
注:企业级部署建议配合堡垒机、WAF等形成纵深防御体系。测试阶段可使用
tcpdump -i wg0 -n
验证流量加密情况。