RAS 网关高可用性

适用于:Windows Server 2022、Windows Server 2019、Windows Server 2016,Azure Stack HCI 版本 21H2 和 20H2

本主题介绍软件定义的网络 (SDN) RAS 多租户网关的高可用性配置。

本主题包含以下各节:

RAS 网关概述

如果你的组织是云服务提供商 (CSP) 或具有多个租户的企业,你可以在多租户模式下部署 RAS 网关,以便为传入和传出虚拟网络与物理网络(包括 Internet)的网络流量提供路由。

可以在多租户模式下将 RAS 网关部署为边缘网关,以将租户客户网络流量路由到租户虚拟网络和资源。

在部署提供高可用性和故障转移的 RAS 网关 VM 的多个实例时,会部署一个网关池。 在 Windows Server 2012 R2 中,所有网关 VM 构成了单个池,导致网关部署的逻辑隔离变得有点困难。 Windows Server 2012 R2 网关为网关 VM 提供 1:1 冗余部署,导致站点到站点 (S2S) VPN 连接的可用容量未得到充分利用。

此问题在 Windows Server 2016 中已得到解决,其中提供了多个网关池 - 有不同的池类型可用于逻辑隔离。 新的 M+N 冗余模式实现了更有效的故障转移配置。

有关 RAS 网关的更多概述信息,请参阅 RAS 网关

网关池概述

在 Windows Server 2016 中,你可以在一个或多个池中部署网关。

下图显示了在虚拟网络之间提供流量路由的不同网关池类型。

RAS Gateway pools

每个池具有以下属性。

  • 每个池采用 M+N 冗余。 意思是,“M”个活动网关 VM 由“N”个备用网关 VM 提供后备支持。 N(备用网关)的值始终小于或等于 M(活动网关)。

  • 池可以执行任意单个网关功能 - Internet 密钥交换版本 2 (IKEv2) S2S、第 3 层 (L3) 和通用路由封装 (GRE) - 或者,池可以执行所有这些功能。

  • 可以将一个公共 IP 地址分配给所有池或分配给部分池。 这样做可大大减少必须使用的公共 IP 地址数,因为可以让所有租户在一个 IP 地址上连接到云。 以下有关高可用性和负载均衡的部分介绍了它的工作原理。

  • 可通过在池中添加或删除网关 VM 来轻松纵向扩展和缩减网关池。 删除或添加网关不会中断池提供的服务。 你还可以添加和删除整个网关池。

  • 单个租户的连接可以在多个池上以及某个池中的多个网关上终止。 但是,如果租户的连接在“所有”类型的网关池中终止,则它无法订阅其他“所有”类型或单个类型的网关池。

网关池还提供了实现其他方案的灵活性:

  • 单租户池 - 可以创建一个池以供一个租户使用。

  • 如果你通过合作伙伴(经销商)渠道销售云服务,可为每个经销商创建单独的池集。

  • 多个池可以提供相同的网关功能,但容量不同。 例如,可以创建支持高吞吐量和低吞吐量 IKEv2 S2S 连接的网关池。

RAS 网关部署概述

下图演示了 RAS 网关的典型云服务提供商 (CSP) 部署。

RAS Gateway Deployment Overview

使用这种类型的部署时,网关池部署在软件负载均衡器 (SLB) 后面,使 CSP 能够为整个部署分配单个公共 IP 地址。 租户的多个网关连接可以在多个网关池上终止 – 也可以在某个池中的多个网关上终止。 此原理是通过上图中的 IKEv2 S2S 连接演示的,但同样适用于其他网关功能,例如 L3 和 GRE 网关。

在图中,MT BGP 设备是提供 BGP 的 RAS 多租户网关。 多租户 BGP 用于动态路由。 租户的路由是集中式的 – 称为路由反射器 (RR) 的单个点处理所有租户站点的 BGP 对等互连。 RR 本身分布在池中的所有网关之间。 这就产生了这样一种配置:租户的连接(数据路径)在多个网关上终止,但租户的 RR(BGP 对等互连点 - 控制路径)仅在其中一个网关上终止。

图中的 BGP 路由器已隔离出来,目的是描绘这种集中式路由概念。 网关 BGP 实现还提供中转路由,使云能够充当两个租户站点之间的中转路由点。 这些 BGP 功能适用于所有网关功能。

RAS 网关与网络控制器的集成

在 Windows Server 2016 中,RAS 网关与网络控制器完全集成。 部署 RAS 网关和网络控制器时,网络控制器将执行以下功能。

  • 部署网关池

  • 在每个网关上配置租户连接

  • 发生网关故障时将网络流量流切换到备用网关

以下部分提供了有关 RAS 网关和网络控制器的详细信息。

网关连接(IKEv2、L3 和 GRE)的预配和负载均衡

当租户请求网关连接时,请求将发送到网络控制器。 网络控制器中配置了有关所有网关池的信息,包括每个池以及每个池中每个网关的容量。 网络控制器为连接选择正确的池和网关。 这种选择是根据连接的带宽要求做出的。 网络控制器使用“最合适的”算法在池中有效挑选连接。 如果这是租户的第一个连接,则连接的 BGP 对等互连点也在此时指定。

在网络控制器为连接选择 RAS 网关后,网络控制器将为网关上的连接预配所需的配置。 如果连接是 IKEv2 S2S 连接,则网络控制器还会在 SLB 池上预配网络地址转换 (NAT) 规则;SLB 池上的此 NAT 规则将连接请求从租户定向到指定的网关。 租户按源 IP 区分,此 IP 预期是唯一的。

注意

L3 和 GRE 连接绕过 SLB 直接连接到指定的 RAS 网关。 这些连接要求必须将远程终结点路由器(或其他第三方设备)正确配置为连接到 RAS 网关。

如果为连接启用了 BGP 路由,则 BGP 对等互连由 RAS 网关启动 - 并且路由将在本地和云网关之间交换。 BGP 获知的路由(如果未使用 BGP,则为静态配置的路由)将发送到网络控制器。 然后,网络控制器将路由向下输送到安装了租户 VM 的 Hyper-V 主机。 此时,租户流量可以路由到正确的本地站点。 网络控制器还会创建用于指定网关位置的关联 Hyper-V 网络虚拟化策略,并将其向下输送到 Hyper-V 主机。

IKEv2 S2S 的高可用性

池中的 RAS 网关由不同租户的连接和 BGP 对等互连组成。 每个池有“M”个活动网关和“N”个备用网关。

网络控制器通过以下方式处理网关故障。

  • 网络控制器不断地对所有池中的网关执行 ping 操作,并可以检测已发生故障或正在发生故障的网关。 网络控制器可以检测以下类型的 RAS 网关故障。

    • RAS 网关 VM 故障

    • 运行 RAS 网关的 Hyper-V 主机的故障

    • RAS 网关服务故障

    网络控制器存储所有已部署的活动网关的配置。 配置由连接设置和路由设置组成。

  • 当网关发生故障时,它会影响其上的租户连接,以及位于其他网关上的、但 RR 驻留在有故障网关上的租户连接。 后一种连接的故障时间比前一种更短。 当网络控制器检测到有故障的网关时,它会执行以下任务。

    • 从计算主机中删除受影响连接的路由。

    • 删除这些主机上的 Hyper-V 网络虚拟化策略。

    • 选择一个备用网关,将其转换为活动网关,并配置该网关。

    • 更改 SLB 池上的 NAT 映射,以将连接指向新网关。

  • 同时,随着该配置在新的活动网关上应用,IKEv2 S2S 连接和 BGP 对等连接将重新建立。 连接和 BGP 对等互连可由云网关或本地网关启动。 网关刷新其路由并将路由发送到网络控制器。 在网络控制器获知网关发现的新路由后,网络控制器会将路由和关联的 Hyper-V 网络虚拟化策略发送到受故障影响的租户的 VM 所在的 Hyper-V 主机。 此网络控制器活动类似于设置新连接的情况,只不过它发生的规模更大。

GRE 的高可用性

网络控制器响应 RAS 网关故障转移的过程 – 包括故障检测、将连接和路由配置复制到备用网关、BGP 故障转移/受影响连接的静态路由(包括计算主机上的路由的撤回和重新输送,以及 BGP 重新对等互连),并在计算主机上重新配置 Hyper-V 网络虚拟化策略 - 对于 GRE 网关和连接是相同的。 但是,重新建立 GRE 连接的方式有所不同,并且 GRE 的高可用性解决方案有一些额外的要求。

High Availability for GRE

部署网关时,将为每个 RAS 网关 VM 分配一个动态 IP 地址 (DIP)。 此外,还将为每个网关 VM 分配一个虚拟 IP 地址 (VIP),以实现 GRE 高可用性。 VIP 仅分配到可接受 GRE 连接的池中的网关,而不会分配到非 GRE 池。 分配的 VIP 通过 BGP 播发到架顶式 (TOR) 交换机,后者进一步将 VIP 播发到云物理网络。 这样,就可以从 GRE 连接的另一端所在的远程路由器或第三方设备访问网关。 此 BGP 对等互连不同于用于交换租户路由的租户级 BGP 对等互连。

在预配 GRE 连接时,网络控制器将选择一个网关,在所选网关上配置 GRE 终结点,并返回分配的网关的 VIP 地址。 然后,此 VIP 将配置为远程路由器上的目标 GRE 隧道地址。

当网关发生故障时,网络控制器会将有故障网关的 VIP 地址和其他配置数据复制到备用网关。 当备用网关变为活动网关时,它会将 VIP 播发到其 TOR 交换机,然后进一步播发到物理网络。 远程路由器继续将 GRE 隧道连接到同一个 VIP,路由基础结构确保将数据包路由到新的活动网关。

L3 转发网关的高可用性

Hyper-V 网络虚拟化 L3 转发网关是数据中心内物理基础结构与 Hyper-V 网络虚拟化云中虚拟化基础结构之间的桥梁。 在多租户 L3 转发网关上,每个租户使用自己的 VLAN 标记逻辑网络来与租户的物理网络进行连接。

当新租户创建新的 L3 网关时,网络控制器网关服务管理器将选择可用的网关 VM,并使用高可用性客户地址 (CA) 空间 IP 地址(来自租户的 VLAN 标记逻辑网络)配置新的租户接口。 IP 地址用作远程(物理网络)网关上的对等互连 IP 地址,并且是用于访问租户 Hyper-V 网络虚拟化网络的下一个跃点。

与 IPsec 或 GRE 网络连接不同,TOR 交换机不会动态获知租户的 VLAN 标记网络。 租户的 VLAN 标记网络的路由需要在 TOR 交换机上以及在物理基础结构与网关之间的所有中间交换机和路由器上配置,以确保实现端到端连接。 下图显示了 CSP 虚拟网络配置示例。

网络 子网 VLAN ID 默认网关
Contoso L3 逻辑网络 10.127.134.0/24 1001 10.127.134.1
Woodgrove L3 逻辑网络 10.127.134.0/24 1002 10.127.134.1

下图显示了租户网关配置示例。

租户名称 L3 网关 IP 地址 VLAN ID 对等 IP 地址
Contoso 10.127.134.50 1001 10.127.134.55
Woodgrove 10.127.134.60 1002 10.127.134.65

下图显示了 CSP 数据中心内的这些配置。

High Availability for L3 Forwarding Gateways

L3 转发网关上下文中的网关故障、故障检测和网关故障转移过程类似于 IKEv2 和 GRE RAS 网关。 不同之处在于外部 IP 地址的处理方式。

当网关 VM 状态变为不正常时,网络控制器将从池中选择一个备用网关,并在该备用网关上重新预配网络连接和路由。 移动连接时,L3 转发网关的高可用性 CA 空间 IP 地址也会与租户的 CA 空间 BGP IP 地址一起移动到新的网关 VM。

由于 L3 对等互连 IP 地址在故障转移期间会移动到新的网关 VM,远程物理基础结构再次能够连接到该 IP 地址,随后可以访问 Hyper-V 网络虚拟化工作负载。 对于 BGP 动态路由,随着 CA 空间 BGP IP 地址移动到新的网关 VM,远程 BGP 路由器可以重新建立对等互连并再次获知所有 Hyper-V 网络虚拟化路由。

注意

必须单独配置 TOR 交换机和所有中间路由器,才能使用 VLAN 标记逻辑网络进行租户通信。 此外,L3 故障转移限制为以这种方式配置的机架。 因此,必须认真配置 L3 网关池,并单独完成手动配置。