解决地址歧义
WireGuard 的 Address 字段常被误解为网卡自动获取的 IP。实际上,它明确告知该端点在本隧道中应使用哪个源地址,以便其他对等端正确路由数据包。若省略此配置,部分实现可能无法确定本地身份,导致双向通信失败。
路由与源校验的双重作用
该字段不仅定义出站数据包使用的源 IP,还作为入站数据包的源地址校验依据。当收到数据报时,内核检查其源地址是否在本端 Address 列表中;若不在,数据包会被丢弃。这种机制增强了端点标识的唯一性,防止伪造来源。
同时,系统根据此地址将发往该 IP 的流量路由至 WireGuard 接口。例如,若一端配置为 10.0.0.1/32,蓝猫加速器安装包下载说明则所有目标为 10.0.0.1 的包都由该隧道处理。

理解WireGuard地址字段对数据包路由与源校验的关键作用。
与 AllowedIPs 的区别
很多人混淆 Address 和 AllowedIPs。前者是本端“我是谁”的声明,后者是“我允许接收来自哪些网段”的策略。AllowedIPs 决定转发或本地消费的范围,而 Address 仅影响本端源地址绑定。
若 Address 未包含在 AllowedIPs 中,本端仍可发送,但对端可能因策略拒绝接收。两者需协同设计,避免流量黑洞或路由环路。
只读验证示例
在 Linux 系统上,可通过 ip route show table wg0 查看由 Address 生成的路由条目。若看到 10.0.0.1 local 行,说明源地址绑定成功。再运行 ip addr show wg0,确认接口已获取该地址。此过程无需修改配置,仅观察当前状态。
注意:UDP 监听端口(ListenPort)与 TCP 同号端口无关,二者独立。PersistentKeepalive(单数)用于维持 UDP 连接,与地址字段无直接依赖。配置时应参考官方文档,避免凭经验假设字段行为。




