如何为 Azure VPN 网关配置 BGP
本文介绍如何使用 Azure 门户在跨界站点到站点 (S2S) VPN 连接和 VNet 到 VNet 连接上启用 BGP。 还可以使用 Azure CLI 或 PowerShell 步骤创建此配置。
BGP 是通常在 Internet 上使用的,用于在两个或更多网络之间交换路由和可访问性信息的标准路由协议。 BGP 允许 VPN 网关和本地 VPN 设备(称为 BGP 对等节点或邻居)交换“路由”,这些路由将通知这两个网关这些前缀的可用性和可访问性,以便这些前缀可通过涉及的网关或路由器。 BGP 还可以通过将 BGP 网关从一个 BGP 对等节点获知的路由传播到所有其他 BGP 对等节点来允许在多个网络之间传输路由。
若要详细了解 BGP 优点,以及了解使用 BGP 的技术要求和注意事项,请参阅关于 BGP 和 Azure VPN 网关。
入门
本文帮助你在网络连接中启用 BGP,其中的每一部分都是一个基本构建基块。 如果已完成所有三个部分(在网关上配置 BGP、S2S 连接和 VNet 到 VNet 连接),请如图 1 所示生成拓扑。 可以将这些部分组合在一起,生成更复杂的多跃点传输网络,以满足需求。
图示 1
有关上下文,请参考图 1。如果在 TestVNet2 和 TestVNet1 之间禁用了 BGP,则 TestVNet2 不会获知本地网络 Site5 的路由,因此无法与 Site5 进行通信。 启用 BGP 后,所有三个网络都将能够通过 S2S IPsec 和 VNet 到 VNet 连接进行通信。
先决条件
确保拥有 Azure 订阅。 如果还没有 Azure 订阅,可以注册一个试用帐户。
为 VPN 网关启用 BGP
需要先完成此部分,才可执行另外两个配置部分中的任何步骤。 以下配置步骤设置 VPN 网关的 BGP 参数,如图 2 中所示。
图示 2
1. 创建 TestVNet1
在此步骤中,你将创建并配置 TestVNet1。 使用创建网关教程中的步骤创建并配置 Azure 虚拟网络和 VPN 网关。
虚拟网络示例值:
- 资源组:TestRG1
- VNet:TestVNet1
- 位置/区域:ChinaEast2
- 地址空间:10.11.0.0/16、10.12.0.0/16
- 子网:
- FrontEnd:10.11.0.0/24
- BackEnd:10.12.0.0/24
- GatewaySubnet:10.12.255.0/27
2. 使用 BGP 创建 TestVNet1 网关
在此步骤中,你将创建采用相应 BGP 参数的 VPN 网关。
遵循创建和管理 VPN 网关中的步骤使用以下参数创建网关:
实例详细信息:
- 名称: VNet1GW
- 区域:ChinaEast2
- 网关类型:VPN
- VPN 类型:基于路由
- SKU:VpnGW1 或更高
- 代系:选择一个代系
- 虚拟网络:TestVNet1
公共 IP 地址
- 公共 IP 地址:新建
- 公共 IP 地址名称:VNet1GWIP
- 启用主动-主动模式:已禁用
- 配置 BGP:已启用
在页面的突出显示的“配置 BGP”部分中,配置以下设置:
选择“配置 BGP” - “已启用”以显示 BGP 配置部分。
填写你的 ASN(自治系统编号)。
“Azure APIPA BGP IP 地址”字段是可选的。 如果本地 VPN 设备使用 BGP 的 APIPA 地址,则必须从 VPN 的 Azure 预留 APIPA 地址范围中选择一个地址,该地址范围是从 169.254.21.0 到 169.254.22.255。
如果要创建主动-主动 VPN 网关,则 BGP 部分会显示一个额外的 IP 地址,即第二个自定义 Azure APIPA BGP IP 地址。 选择的每个地址都必须是唯一的,且在允许的 APIPA 范围内(169.254.21.0 到 169.254.22.255) 。 主动-主动网关还支持“Azure APIPA BGP IP 地址”和“第二个自定义 Azure APIPA BGP IP 地址”的多个地址 。 只有在输入第一个 APIPA BGP IP 地址后,才会显示其他输入。
重要
默认情况下,Azure 会将 GatewaySubnet 前缀范围内的一个专用 IP 地址自动分配为 VPN 网关上的 Azure BGP IP 地址。 如果本地 VPN 设备使用 APIPA 地址(169.254.0.1 到169.254.255.254)作为 BGP IP,则需要一个自定义 Azure APIPA BGP 地址。 VPN 网关会选择自定义 APIPA 地址的前提是,相应的本地网络网关资源(本地网络)将 APIPA 地址作为 BGP 对等节点 IP。 如果本地网络网关使用常规 IP 地址(而不是 APIPA),则 VPN 网关会恢复使用 GatewaySubnet 范围内的专用 IP 地址。
APIPA BGP 地址在本地 VPN 设备和所有已连接的 VPN 网关之间不得重叠。
如果在 VPN 网关上使用 APIPA 地址,则网关不会使用 APIPA 源 IP 地址发起 BGP 对等互连会话。 本地 VPN 设备必须启动 BGP 对等互连连接。
选择“查看 + 创建” ,运行验证。 验证通过后,选择“创建” 以部署 VPN 网关。 创建网关通常需要 45 分钟或更长的时间,具体取决于所选的网关 SKU。 可以在网关的“概述”页上查看部署状态。
3. 获取 Azure BGP 对等 IP 地址
创建网关后,可以在 VPN 网关上获取 BGP 对等 IP 地址。 需要使用这些地址来配置本地 VPN 设备,以便与 VPN 网关建立 BGP 会话。
在虚拟网络网关“配置”页上,可以查看 VPN 网关上的 BGP 配置信息:ASN、公共 IP 地址和 Azure 端对应的 BGP 对等 IP 地址(默认值和 APIPA)。 还可以进行以下配置更改:
- 如果需要,你可以更新 ASN 或 APIPA BGP IP 地址。
- 如果你有主动-主动 VPN 网关,则此页会显示第二个 VPN 网关实例的公共 IP 地址、默认值和 APIPA BGP IP 地址。
若要获取 Azure BGP 对等 IP 地址,请执行以下操作:
- 转到虚拟网络网关资源,然后选择“配置”页以查看 BGP 配置信息。
- 记下 BGP 对等 IP 地址。
在跨界 S2S 连接上配置 BGP
本部分中的说明适用于跨界站点到站点配置。
若要建立跨界连接,需要创建本地网络网关来表示本地 VPN 设备,并创建一个连接以将 VPN 网关与本地网关连接在一起,如创建站点到站点连接所述。 以下部分包含指定 BGP 配置参数(如图 3 所示)所需的其他属性。
图示 3
在继续操作之前,请确保已为 VPN 网关启用 BGP。
1. 创建本地网络网关
使用 BGP 设置配置本地网络网关。
- 有关信息和步骤,请参阅站点到站点连接文章中的本地网络网关部分。
- 如果已有本地网关,可以对其进行修改。 若要修改本地网关,请转到本地网关资源的“配置”页面,然后进行所有必要的更改。
为本练习创建本地网络网关时,请使用以下值:
- 名称:Site5
- IP 地址:要连接到的网关终结点的 IP 地址。 示例:128.9.9.9
- 地址空间:如果启用了 BGP,则不需要地址空间。
若要配置 BGP 设置,请转到“高级”页。 使用以下示例值(如图 3 中所示)。 修改任何所需值以便与环境匹配。
- 配置 BGP 设置:是
- 自治系统编号(ASN):65050
- BGP 对等机 IP 地址:本地 VPN 设备的地址。 示例:10.51.255.254
单击“查看 + 创建”以创建本地网络网关。
重要的配置注意事项
- ASN 和 BGP 对等节点 IP 地址必须与本地 VPN 路由器配置相匹配。
- 仅当使用 BGP 连接到此网络时,才能将“地址空间”留空。 Azure VPN 网关会在内部将 BGP 对等节点 IP 地址的路由添加到相应的 IPsec 隧道。 如果未在 VPN 网关与此特定网络之间使用 BGP,则必须为“地址空间”提供有效地址前缀的列表。
- 如果需要,还可以选择使用 APIPA IP 地址 (169.254.x.x) 作为你的本地 BGP 对等节点 IP。 但是,如本文前面所述,你还需要为 VPN 网关指定 APIPA IP 地址,否则无法为此连接建立 BGP 会话。
- 你可以在创建本地网络网关的过程中输入 BGP 配置信息,也可以从本地网络网关资源的“配置”页中添加或更改 BGP 配置。
2. 配置启用了 BGP 的 S2S 连接
在此步骤中,你将创建启用了 BGP 的新连接。 如果你已有一个连接,并且想要在其上启用 BGP,可以更新该连接。
创建连接
- 若要创建新连接,请转到虚拟网络网关“连接”页。
- 选择“+添加”以打开“添加连接”页。
- 填写所需的值。
- 选择“启用 BGP”,在此连接上启用 BGP。
- 选择“确定”以保存更改。
更新现有连接
- 转到虚拟网络网关“连接”页。
- 选择要修改的连接。
- 转到该连接的“配置”页。
- 将“BGP”设置更改为“已启用”。
- 单击“保存”以保存更改。
本地设备配置
下面的示例列出了可在本地 VPN 设备上的 BGP 配置节中为此练习输入的参数:
- Site5 ASN : 65050
- Site5 BGP IP : 10.51.255.254
- Prefixes to announce : (for example) 10.51.0.0/16
- Azure VNet ASN : 65010
- Azure VNet BGP IP : 10.12.255.30
- Static route : Add a route for 10.12.255.30/32, with nexthop being the VPN tunnel interface on your device
- eBGP Multihop : Ensure the "multihop" option for eBGP is enabled on your device if needed
在 VNet 到 VNet 连接上启用 BGP
本部分中的步骤适用于 VNet 到 VNet 连接。
若要在 VNet 到 VNet 连接上启用或禁用 BGP,请使用与上一部分中的 S2S 跨界步骤相同的步骤。 你可以在创建连接时启用 BGP,也可以更新现有 VNet 到 VNet 连接上的配置。
注意
不使用 BGP 的 VNet 到 VNet 连接会将通信范围限制为已连接的两个 VNet。 启用 BGP 能够将路由功能扩展到其他 S2S 连接或者这两个 VNet 的 VNet 到 VNet 连接。
后续步骤
有关 BGP 的详细信息,请参阅关于 BGP 和 VPN 网关。