1
jasonyang9 278 天前 via Android
因为 wg-quick 脚本会根据这个地址/24 与否自动加一条路由,用这些关键字搜搜
|
2
Jimmyisme 278 天前 1
你不要把 WireGuard 想成一个中心化的结构。事实上他是可以去中心化的。
op 里面的 Address 是定义了 WireGuard 的网段,处于这个网段的设备都走 WireGuard 。而 peer 里面的 allowips 则是定义这个 peer (实际上就是公钥)允许使用哪些 ip 接入。 你看起来/32 和 /24 很乱。但实际上只是一种“批量设置”的意思 |
3
Jimmyisme 278 天前
|
4
Getting OP @Jimmyisme #2 但是为什么我把 op 里面的 Address 的写成单 ip 不写成网段咋就不能访问外网了 很奇怪 内网却能访问 说明还是走 WireGuard 接口了😂
|
7
tavimori 277 天前
Wireguard 在系统路由表建立路由其实有两个阶段。
第一个阶段是在系统加载虚拟网卡并设置网卡地址时。这时会读取 [Interface] 下的 Address ,设立相应的 IP 地址,如果是/24 的话,系统会自动对/24 增加一个路由,使得相关流量从该虚拟网卡走。 第二个阶段是使用类似 wg-quick 等工具时,这些工具会在基本操作之外读取你 [Peer] 下各个 peer 的 AllowedIPs 字段,并且将对应的段加到路由表,使得相关流量从该虚拟网卡走。 所以如果你是用 wg-quick (通常也包括 iPhone 客户端这类功能完整的 wireguard 前端),只要相应的 peer 下面的 AllowedIPs 包含需要的段的话,[Interface] 下面的地址设置成 /32 应该也是没有关系的。 与此相对的,在一些路由器上配置的 wireguard 并不会自动加载 AllowedIPs 路由(例如 RouterOS 就是这样),这种时候就需要通过设置虚拟网卡的 IP 地址和正确的前缀,或者手动增加路由条目来确保相应地址会走虚拟网卡。 |