我有一个 ASN 和 IPv4 块,比方说 AS 65001 和 10.0.0.0/24。
ISP AS 65000 有两个数据中心,分别位于亚洲和北美。
我想将 /24 分成两个 /25,以便在亚洲(10.0.0.1/25)和北美(10.0.0.129/25)中使用它。
ISP 不会接受任何小于 /24 的通知,因此我在两个站点上都发布了 /24,并在两个站点之间创建了 GRE 隧道,以建立 iBGP 对等会话。
65001(Asia) 65001(North America)
\ /
+-- 65000 =---gre---= 65000 --+
(Asia) (North America)
在 AS65001 中,两个 /25 子网可以相互访问。但是,如果来自北美的某人尝试访问亚洲部分 (10.0.0.1),则流量将无法返回北美。来自亚洲的流量也无法到达北美。
我可以看到来自北美的流量以亚洲为目的地,但亚洲正在尝试使用其默认网关(即 ISP 的亚洲路由器)对其进行响应,因此无法正常工作。
我可以通过添加路由策略使亚洲从北美可达:
ip rule add from 10.0.0.0/24 lookup gre_peer_as_gw
ip route add default via 10.0.0.129 dev gre0 table gre_peer_as_gw
但这显然不是我想要的。亚洲地区的用户将无法通过设置访问任何内容。
这怎么可能?