tavimori
336 天前
Wireguard 在系统路由表建立路由其实有两个阶段。
第一个阶段是在系统加载虚拟网卡并设置网卡地址时。这时会读取 [Interface] 下的 Address ,设立相应的 IP 地址,如果是/24 的话,系统会自动对/24 增加一个路由,使得相关流量从该虚拟网卡走。
第二个阶段是使用类似 wg-quick 等工具时,这些工具会在基本操作之外读取你 [Peer] 下各个 peer 的 AllowedIPs 字段,并且将对应的段加到路由表,使得相关流量从该虚拟网卡走。
所以如果你是用 wg-quick (通常也包括 iPhone 客户端这类功能完整的 wireguard 前端),只要相应的 peer 下面的 AllowedIPs 包含需要的段的话,[Interface] 下面的地址设置成 /32 应该也是没有关系的。
与此相对的,在一些路由器上配置的 wireguard 并不会自动加载 AllowedIPs 路由(例如 RouterOS 就是这样),这种时候就需要通过设置虚拟网卡的 IP 地址和正确的前缀,或者手动增加路由条目来确保相应地址会走虚拟网卡。