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

相关推荐
螺蛳粉 螺蛳粉13 小时前
mysql的备份与恢复
linux·运维·数据库·mysql
ao-weilai13 小时前
Linux网络编程:Socket UDP
linux·服务器·网络·c++
可乐鸡翅yeah_13 小时前
混合内容 Mixed‑Content 安全策略,HLS HTTPS 页面加载 HTTP 资源排错实战
运维·ffmpeg·音视频·媒体·m3u8
曦夜日长13 小时前
Linux系统篇,进程概念(四):内核链表的深度理解、进程优先级的底层理解
linux·运维·服务器·php
Wang's Blog13 小时前
Java 接入Redis: Redis下载与源码编译安装
java·服务器·redis
Ivanqhz14 小时前
矩阵引擎的数据流模式与 BM1684X 架构
java·服务器·网络·深度学习·神经网络
小葱运维15 小时前
日志规范(K8s 结构化日志)
运维·开源·云计算
其实防守也摸鱼15 小时前
DeepSeek Harness 开源贡献手记:从入门到合入主线
服务器·数据库·windows·https·ssl
杨云龙UP15 小时前
DB2 HADR 主备切换实战:SQL1639N 认证问题、备库只读与双向 Takeover
linux·运维·数据库·db2·主备切换·角色互换