WireGuard Windows 服务器多客户端互通完整部署步骤

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 才能被跨设备访问

相关推荐
蓝胖的四次元口袋3 分钟前
服务器网络与系统基础-面试题
服务器·网络
乐维_lwops26 分钟前
2026年如何实现多分支机构全网设备统一运维监控一
运维·cmdb·运维监控·网管·agent ops
John Song36 分钟前
ansible-playbook常用的检查命令
windows·ansible
Cx330❀39 分钟前
【MySQL基础】一文吃透“表的约束”:从 Null/Default 到主外键的终极安全法则
linux·服务器·数据库·c++·mysql·安全
aduzhe1 小时前
关于lib文件格式(keil/unix)
服务器·unix
视觉AI2 小时前
VS Code Remote-SSH 连接Jetson踩坑完整解决记录(网段不通+主机密钥变更双重故障)
运维·网络·人工智能·windows·ssh·边缘计算
银河麒麟操作系统2 小时前
闸机高效稳跑,通勤提速升级!银河麒麟赋能北京轨交新基建
运维·服务器·安全·交通物流
六点_dn2 小时前
Linux学习笔记-printf命令
linux·运维·算法
蜡台2 小时前
Linux Python 安装使用
linux·运维·服务器
欧神附体1232 小时前
在虚拟机中添加网卡,修改网卡名并关闭SElinux
linux·服务器·网络