如何通过 Wireguard 路由所有公共流量但不路由本地流量?

如何通过 Wireguard 路由所有公共流量但不路由本地流量?

我知道有一系列 CIDR 可以用来覆盖所有公共 CIDR 并忽略本地 CIDR,但我无法在任何地方找到它,也不记得几年前解决这个问题时在哪里找到它。

我的目标是拥有同一个 Wireguard 端点的两种配置:

  • 其中,只有特定到 Wireguard CIDR 的流量才会通过隧道路由;
  • 其中,到公共 CIDR 中的 IP 的所有流量 + 到 Wireguard CIDR 的流量都通过隧道路由。

有人有这个配置并可以分享吗?

答案1

在 Reddit 帖子的评论中找到它。

AllowedIPs除了 Wireguard 配置的 CIDR 块之外,还需要有以下列表。就我而言,我已将其添加10.1.0.0/16到此列表的前面。

AllowedIPs = 0.0.0.0/5, 8.0.0.0/7, 11.0.0.0/8, 12.0.0.0/6, 16.0.0.0/4, 32.0.0.0/3, 64.0.0.0/2, 128.0.0.0/3, 160.0.0.0/5, 168.0.0.0/6, 172.0.0.0/12, 172.32.0.0/11, 172.64.0.0/10, 172.128.0.0/9, 173.0.0.0/8, 174.0.0.0/7, 176.0.0.0/4, 192.0.0.0/9, 192.128.0.0/11, 192.160.0.0/13, 192.169.0.0/16, 192.170.0.0/15, 192.172.0.0/14, 192.176.0.0/12, 192.192.0.0/10, 193.0.0.0/8, 194.0.0.0/7, 196.0.0.0/6, 200.0.0.0/5, 208.0.0.0/4, 8.8.8.8/32

我还发现了这个简洁的 CIDR 块计算器工具,它可能会有所帮助: https://www.procustodibus.com/blog/2021/03/wireguard-allowedips-calculator/

相关内容