Azure *** 网关 BGP APIPA 地址

Posted

技术标签:

【中文标题】Azure *** 网关 BGP APIPA 地址【英文标题】:Azure *** Gateway BGP APIPA Addresses 【发布时间】:2021-12-05 19:23:52 【问题描述】:

我正在与一家供应商合作,以实施到同一地理位置的两个不同区域的主动/主动站点到站点 IPSec 隧道。供应商正在使用 Palo Alto 防火墙。

我们已经成功地建立了两条隧道 - IKE 和 IPSec 参数配置正确,我可以在 Azure 和供应商场所之间进行双向路由。

现在我们正在尝试配置路由首选项,以便在主隧道出现故障时,流量将自动通过第二个隧道发送到第二个区域。

供应商已要求我们使用 APIPA 地址来探测隧道是否已启动。没问题,Azure 支持 BGP 的 APIPA 地址 - 但它们是否响应 ICMP?

我不清楚 - 尽管阅读了所有 MS 文档 - *** 网关 资源 BGP 设置 中配置的 APIPA 地址是否是 接收者地址邻居地址。我假设它是接收器,并且对等地址是在本地网关的 BGP 设置中配置的。如果这不正确,请纠正我。

微软文档说:

如果相应的本地网络网关资源(本地网络)具有 APIPA 地址作为 BGP 对等 IP,Azure *** 网关将选择自定义 APIPA 地址。

这是否表明我可以将 *** 网关 APIPA 留空,Azure 会为我选择一个?如果是这样,这可能是一个问题,因为供应商必须指定 2 x /30 地址空间,每个隧道一个,并且取决于 Azure 具有特定地址,而 Palo Alto 具有特定地址。我猜这意味着我需要先在***中配置地址,然后在本地网关中配置peer地址?

除此之外,供应商只想通过 ping 来使用这些地址进行探测。我已经在 ExpressRoute 电路中创建了 BGP 配置,并且可以确认 B 端 (Azure) BGP 邻居地址确实响应 ICMP Echo,但我相信这只是在成功建立 BGP 会话之后。

所以我的问题是,是否可以在 Azure *** 资源中指定,例如,APIPA 地址为 169.254.21.2,对等地址为 169.254.21.1,并且在没有建立实际 BGP 会话的情况下获得 ping 响应从 169.254.21.2。我知道它应该打开 TCP 179 以建立 BGP,但我认为 Palo Altos 不能进行端口测试而不是 ping。

【问题讨论】:

【参考方案1】:

我咨询了 Azure *** 产品组团队,以下是他们对此查询的回复:

虽然 Azure *** 网关允许为每个 *** 实例指定特定的 APIPA 地址,但我们不能使用基于前缀的方法(固定分配的 /30)。我们正在考虑在 Azure *** 端允许更多 APIPA 地址来解决此限制。但我们现在仍处于设计阶段。

目前,*** 网关将使用 *** 网关上的私有 IP 地址向本地网络网关资源中指定的本地 BGP 对等 IP 地址发起 BGP 对等会话。这与本地 BGP IP 地址是在 APIPA 范围内还是在常规私有 IP 地址中无关。

参考:https://docs.microsoft.com/en-us/azure/***-gateway/***-gateway-bgp-overview#do-azure-***-gateways-initiate-bgp-peering-sessions-or-connections

我们可以在网关上创建和配置多个 APIPA(支持工作中),而无需实际连接 BGP 对等方,但我们不支持/不推荐 Ping 的要求。

【讨论】:

以上是关于Azure *** 网关 BGP APIPA 地址的主要内容,如果未能解决你的问题,请参考以下文章

VRRP,BGP协议的基本概念

我应该在 Azure *** 中使用网关子网中的 IP 地址吗?

边界网关协议的BGP属性

BGP-20190321-dampening

计算机网络-4-8-外部网关协议BGP

关于BGP协议路径属性 相关的详细说明