WireGuard Windows 服务器多客户端互通完整部署步骤
1. 环境规划
服务器系统:Windows
VPN 网段:10.0.0.0/24
服务器 VPN 地址:10.0.0.1
监听端口:8784
客户端 1(Windows):10.0.0.2
客户端 2(手机):10.0.0.3
2. 安装 WireGuard
下载并安装 WireGuard for Windows
打开软件,新建空隧道,自动生成密钥
3. 开启系统 IP 转发(必须)
以管理员身份运行 CMD,执行:
bash
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v IPEnableRouter /t REG_DWORD /d 1 /f
执行完成后重启 Windows 服务器
4. 服务器配置文件 wg0.conf
bash
[Interface]
PrivateKey = 服务器私钥
ListenPort = 8784
Address = 10.0.0.1/24
PostUp = route add 10.0.0.0 mask 255.255.255.0 10.0.0.1
PostDown = route delete 10.0.0.0 mask 255.255.255.0 10.0.0.1
[Peer]
PublicKey = 客户端1公钥
AllowedIPs = 10.0.0.2/32
[Peer]
PublicKey = 客户端2公钥
AllowedIPs = 10.0.0.3/32
5. 客户端 1 配置(Windows 10.0.0.2)
bash
[Interface]
PrivateKey = 客户端1私钥
Address = 10.0.0.2/24
DNS = 10.0.0.1, 8.8.8.8
MTU = 1420
[Peer]
PublicKey = 服务器公钥
AllowedIPs = 10.0.0.0/24
Endpoint = 101.223.183.11:8784 # 服务器地址
PersistentKeepalive = 25
6. 客户端 2 配置(手机 10.0.0.3)
bash
[Interface]
PrivateKey = 客户端2私钥
Address = 10.0.0.3/24
DNS = 10.0.0.1, 8.8.8.8
MTU = 1420
[Peer]
PublicKey = 服务器公钥
AllowedIPs = 10.0.0.0/24
Endpoint = 101.223.183.11:8784 # 服务器地址
PersistentKeepalive = 25
7. Windows 客户端防火墙放行
管理员 CMD 执行:
bash
netsh advfirewall firewall add rule name="Allow WireGuard LAN" dir=in action=allow remoteip=10.0.0.0/24 profile=any enable=yes
放行 8788 端口:
bash
netsh advfirewall firewall add rule name="Allow VPN 8788" dir=in action=allow protocol=TCP localport=8788 remoteip=10.0.0.0/24 profile=any enable=yes
8. 检查服务监听端口
CMD 执行:
bash
netstat -ano | findstr ":8788"
必须显示 0.0.0.0:8788 才能被外部访问
9. 连通性验证
服务器 ping 10.0.0.2
服务器 ping 10.0.0.3
客户端 1 ping 10.0.0.3
手机 ping 10.0.0.2
手机访问 http://10.0.0.2:8788
10. 关键要点总结
Windows 必须开启 IP 转发并重启
服务器必须配置 PostUp/PostDown 路由
每个客户端单独 [Peer],AllowedIPs 使用 /32
Windows 客户端必须放通 10.0.0.0/24 网段
服务必须监听 0.0.0.0 才能被跨设备访问