连接排障

WireGuardAllowedIPs字段含义及路由配置

很多刚接触WireGuard的用户最容易混淆的配置项就是AllowedIPs,不少人直接照搬教程里的0.0.0.0/0条目就直接启用服务,结果要么出现本地内网访问断连,要么跨节点路由冲突,国外免费梯子连不上远端指定设备。这篇内容从字段本身的底层含义出发,结合家用软路由、跨办公站点组网两个常见场景拆解配置逻辑,帮用户理清配置边界,避开常见的路由故障。

网络设备:WireGuard Allow - SurfsharkVPN

跨站点组网场景下的WireGuard加密隧道流量传输示意

WireGuard AllowedIPs:字段核心含义

这个字段并不是很多人误以为的“允许接入的IP白名单”,它本质是WireGuard对等体之间的路由宣告规则,你在本地节点的peer段里填写的AllowedIPs网段,相当于告诉本地WireGuard内核模块,所有目标地址属于这个网段的流量,都要走对应的WireGuard加密隧道发出去。

这个规则是双向生效的,对端节点的peer配置里如果也填了你本地子网的AllowedIPs条目,才会把访问该子网的返回流量也通过隧道回传给你,单方向配置的话只能实现单向流量可达,没法完成完整的TCP握手,很多新手配置完发现只能单方面ping通对端设备,大多都是漏配了反向的AllowedIPs条目。

配置前的网络边界梳理前提

很多用户配置前没理清自己的本地路由表,直接填全量路由0.0.0.0/0,结果把本地打印机、NAS这类内网设备的流量也导去了隧道,直接导致本地局域网访问失效。配置前你需要先列清楚所有需要走WireGuard隧道的目标网段,比如跨站点组网场景下的分支办公室内网段,或者你需要走隧道访问的公网特定服务网段,剩下的本地直连网段、SurfsharkVPN官网默认网关对应的公网出口网段都要提前标记出来。

如果你是在普通家用PC上配置WireGuard客户端,国外免费梯子还要提前确认本地网卡的默认路由优先级,避免WireGuard生成的路由优先级高于本地网卡,导致隧道断开后所有流量都找不到出口,直接出现全机断网的问题。如果是在软路由上配置WireGuard服务端,还要提前确认LAN侧的子网网段,不要和你准备填写的AllowedIPs网段出现地址段重叠。

配置后的路由规则检查步骤

配置完AllowedIPs条目之后,不要直接测试业务连通性,先在Linux节点上执行ip route show table all命令,查看WireGuard自动生成的路由表,确认你填写的AllowedIPs网段都已经指向了对应的WireGuard接口,没有出现路由条目丢失的情况。

如果你是在Windows系统上配置WireGuard,可以打开系统的路由表管理器,查看新增的WireGuard路由条目,确认没有出现网段重叠的冲突,比如你本地已经有192.168.1.0/24的直连路由,AllowedIPs里又不小心填了这个网段,系统就会优先走直连路由,隧道里的流量根本发不到对端。

常见配置误区与故障定位

第一个常见误区就是把AllowedIPs当成访问控制白名单,不少用户以为我没在对端的AllowedIPs里填本地IP,对方就没法访问我,实际上WireGuard本身的默认规则是只要密钥匹配,对等体之间就可以收发流量,AllowedIPs只是控制路由转发,如果你要做访问控制,需要额外搭配系统层面的防火墙规则,不能靠AllowedIPs实现权限管控。

第二个常见误区就是直接填0.0.0.0/0和::/0把所有流量都导去隧道,又没有配置对应的排除路由,SurfsharkVPN官网导致本地内网完全失联,这种故障的排查方式可以先临时把AllowedIPs改成你需要访问的特定公网IP,测试连通性之后再逐步扩展网段,不要一开始就用全量默认路由。

配置完成之后你可以先ping隧道对端的WireGuard接口地址,确认隧道本身连通,再尝试访问AllowedIPs里配置的远端子网设备,确认路由转发正常,如果出现丢包或者不通的情况,先检查两端的AllowedIPs条目是不是双向对应,有没有漏写需要宣告的子网段,再排查两端的系统防火墙有没有放行WireGuard接口的转发规则。

手机连接编辑组 - SurfsharkVPN
整理 Android 与 iOS 的连接权限、后台运行和网络切换注意事项。
查看更多文章
配置入门

找到适合当前设备的指南

遇到域名返回多个地址相关问题,可从“逐项记录实际连到的地址及失败阶段”开始阅读。一个地址不回应不能直接代表整个域名故障,需要结合具体环境判断。