隐私与安全

WireGuard端点配置客户端与服务端如何配合设置详解

WireGuard端点配置客户端与服务端如何配合设置详解

很多初次接触WireGuard的用户配置完两端参数后,经常出现完全无法握手、连接后流量转发异常的问题,绝大多数故障根源都来自对Endpoint字段的作用理解偏差,没有理清客户端和服务端的配置配合逻辑。本文以家用软路由部署WireGuard服务端、手机作为外出接入客户端的常见场景为基础,拆解两端Endpoint的配置规则、校验方法和常见误区,帮用户避开无意义的调试弯路。

WireGuard Endpoint配置前的核心前提校验

在修改任何配置文件之前,首先要确认服务端的网络环境满足基础接入条件,如果服务端部署在家庭宽带下,要先确认运营商没有封禁UDP协议的常用端口,同时在主路由上做好WireGuard监听端口的UDP映射,指向软路由的内网地址。如果服务端部署在云服务器上,梯子要提前在云服务商的安全组规则里放通对应UDP端口的入站权限。

其次要提前规划好两端的网段资源,WireGuard生成的虚拟接口私网网段,不能和服务端本身的内网网段、客户端所处的本地网段重合,否则会出现路由冲突,就算Endpoint配对成功也会出现流量走丢的问题,常规场景下推荐服务端虚拟网段使用10.0.0.0/24,避开绝大多数家用路由器默认的192.168.x.x段。

网络设备:WireGuard Endpo

家用软路由作为WireGuard服务端与外出手机客户端的组网示意场景

服务端WireGuard Endpoint字段的正确配置逻辑

很多新手的第一个认知误区,是以为服务端配置文件里需要填写自己的公网地址作为Endpoint,实际上服务端本身的配置段完全不需要声明Endpoint字段,只需要指定监听端口、梯子本地私网IP和加密私钥即可,Endpoint字段只存在于服务端配置的Peer段落里,用来标记对端客户端的接入地址。

如果你的客户端是固定部署在有公网IP的设备上,比如办公室的另一台软路由,你可以在服务端对应的Peer段落里填写该客户端的公网IP加端口作为Endpoint,这样两端都可以主动向对方发起握手请求,不需要依赖任何一端的保活机制。

如果是手机、笔记本这类经常切换网络、处于动态NAT后的移动客户端,服务端对应Peer段落里的Endpoint字段必须留空,不能填写任何固定地址,同时给该Peer配置PersistentKeepalive参数,让客户端定期主动向服务端发起保活请求,就算客户端的公网地址发生变化也不会断连。

客户端WireGuard Endpoint字段的对应配置方法

WireGuard Endpoint:客户端与服务端如何配合的核心逻辑,就体现在客户端配置的这个字段上,客户端的Endpoint字段必须指向服务端的可访问地址,这个地址可以是服务端的固定公网IP,也可以是绑定了服务端动态公网IP的域名,后面紧跟冒号和服务端设置的UDP监听端口。

比如你家的WireGuard服务端动态域名是自行解析的专属域名,监听端口设置为51820,那么客户端的Endpoint字段就填写该动态域名加对应端口,如果你当前和服务端处于同一个局域网内,临时测试也可以填写服务端的内网IP加端口,但是外出使用时必须替换为公网可访问的地址。

绝大多数普通用户的客户端都处于运营商的多级NAT之后,这种场景下客户端完全不需要做任何端口映射,只需要确保当前所处的网络环境没有封禁UDP出站流量,就可以主动向服务端的Endpoint地址发起握手请求,不需要额外的网络改造。

两端配置完成后的连通性验证步骤

两端配置全部保存并启动WireGuard服务后,先登录服务端执行wg show命令查看运行状态,重点观察对应客户端的“latest handshake”字段,如果显示的时间是数分钟以内的时间戳,就说明两端的Endpoint配对已经成功,加密握手流程已经正常完成。

如果看不到任何握手记录,先在客户端侧使用支持UDP探测的工具,测试填写的服务端Endpoint地址加端口是否可达,排除中间网络拦截UDP流量的问题,之后再核对两端配置里的对端公钥是否完全匹配,公钥复制过程中漏了任意一个字符都会导致握手完全失败。

确认握手正常之后,先尝试互ping两端配置的WireGuard虚拟接口私网IP,确认虚拟网络层面的连通性正常,大师之后再配置对应的路由规则,测试需要走VPN转发的业务流量是否能正常传输,验证整个链路的转发逻辑符合预期。

常见的Endpoint配置配合误区排查

很多人为了省事,给所有移动客户端都在服务端的Peer段里填死固定的Endpoint地址,导致客户端切换手机流量、其他公共WiFi网络后,公网地址发生变化就完全无法连接,这种场景下只需要把服务端对应Peer的Endpoint字段清空,完全不需要填写任何内容,就可以适配动态地址的移动客户端。

还有部分新手混淆两端的Endpoint配置逻辑,把服务端和客户端的Endpoint字段填成完全相同的地址,相当于两个设备都尝试向自己的地址发起连接,永远不可能完成握手,这类低级错误在初次配置的用户群体中出现的概率非常高,排查时可以优先核对两端的字段内容。

不要在Endpoint字段的地址前添加http或者https这类协议前缀,WireGuard的Endpoint字段默认只识别UDP协议,添加多余的协议前缀会导致配置文件直接加载失败,服务或者客户端隧道完全无法启动。

Wi-Fi 与路由器编辑组
Wi-Fi 与路由器编辑组
内容编辑

检查无线信号、设备摆放与有线连接,逐步定位家庭网络瓶颈。

查看更多文章
连接指南

找到适合当前设备的指南

遇到设备更新与VPN保护范围相关问题,可从“独立维护设备更新与必要防护”开始阅读。网络加密不能作为停止设备更新的理由,需要结合具体环境判断。