Azure VPN 网关的工作原理

已完成

每个 Azure 虚拟网络中只能部署一个 VPN 网关。 虽然只能部署一个 VPN 网关,但可以配置此网关,使其连接到多个位置,包括其他 Azure 虚拟网络或本地数据中心。

注意

虚拟网络网关由两个或更多个专用 VM 组成,这些虚拟机部署到名为网关子网的特定子网。 虚拟网络网关 VM 托管路由表并运行特定的网关服务。 这些构成网关的 VM 是在创建虚拟网络网关时创建的,由 Azure 自动管理,无需人工管理。

VPN 网关类型

配置虚拟网络网关时,会选择指定网关类型的设置。 网关类型确定如何使用虚拟网络网关以及网关将采取的操作。 网关类型 Vpn 指定所创建的虚拟网络网关的类型为 VPN gateway。 这将它与使用其他网关类型的 ExpressRoute 网关区分开来。 一个 Azure 虚拟网络可以有两个虚拟网络网关:一个 VPN 网关和一个 ExpressRoute 网关。

有两种类型的 Azure VPN 网关:

  • 基于策略的 VPN 网关
  • 基于路由的 VPN 网关

基于策略的 VPN 网关

基于策略的 VPN 网关需要指定一组固定的数据包 IP 地址,且在通过每个隧道时应经过加密。 这种类型的设备会针对这些固定的 IP 地址组评估每个数据包,然后选择用于发送相关流量的隧道。

Azure 中基于策略的 VPN 网关的主要功能包括:

  • 仅支持 IKEv1
  • 使用静态路由

隧道网络的源和目标在 VPN 策略中声明,不需要在路由表中声明。 仅在需要使用基于策略的 VPN 的特定场景中使用它们,例如为了与旧的本地 VPN 设备兼容。

基于路由的 VPN 网关

使用基于路由的 Azure VPN 网关时,IPsec 隧道将充当网络接口或虚拟隧道接口 (VTI)。 IP 路由(静态路由或动态路由协议)确定各数据包由哪些隧道接口来传输。 基于路由的 VPN 是本地设备的首选连接方法,因为它们对拓扑更改(例如创建新子网)更具复原能力。 基于路由的 VPN 非常适合 Adatum,因为如果添加新的子网,使用它可连接到虚拟网络上的 Azure IaaS 资源,而无需重新配置 Azure VPN 网关。

如果需要以下任何类型的连接,请使用基于路由的 VPN 网关:

  • 虚拟网络之间的连接
  • 点到站点连接
  • 多站点连接
  • 与 Azure ExpressRoute 网关共存

Azure 中基于路由的 VPN 网关的主要功能包括:

  • 支持 IKEv2
  • 使用任意到任意(通配符)流量选择器
  • 可以使用动态路由协议,其中路由/转发表将流量定向到不同的 IPsec 隧道

如果配置为使用动态路由,源网络和目标网络不通过静态方式定义,因为它们处于基于策略的 VPN 中,甚至是处于具有静态路由的基于路由的 VPN 中。 相反,数据包是基于使用诸如边界网关协议 (BGP) 之类的路由协议通过动态方式创建的网络路由表来加密的。

Azure VPN 网关仅支持使用“预共享的密钥”身份验证方法。 基于路由和基于策略的类型也都依赖于版本 1 或版本 2 的 Internet 密钥交换 (IKE) 和 Internet 协议安全性 (IPSec)。 IKE 用于在两个终结点之间建立安全关联(加密协议)。 然后将此关联传递给 IPsec 套件,该套件对封装在 VPN 隧道中的数据包进行加密和解密。

Azure VPN 网关大小

创建虚拟网络网关时,需要指定网关 SKU。 应根据工作负载类型、吞吐量、功能和 SLA 选择满足要求的 SKU。

网关 SKU - Generation1 最大站点到站点 VPN 隧道 聚合吞吐量 BGP 支持
基本 10 100 Mbps 不支持
VpnGw1/Az 30 650 Mbps 支持
VpnGw2/Az 30 1 Gbps 支持
VpnGw3/Az 30 1.25 Gbps 支持

此表显示 Generation1 SKU。 使用 Generation1 SKU 时,可以根据需要在 VpnGw1、VpnGw2 和 VpnGw3 SKU 之间迁移。 如果不删除和重新部署 VPN 网关,则无法从基本 SKU 进行迁移。 还可以使用 Generation 2 SKU 创建 VPN 网关。 有关 SKU、吞吐量和受支持的功能的最新信息,请参考本模块“总结”部分中的链接。

VPN 网关要求

需要先有以下 Azure 资源,才能部署可运行的 VPN 网关:

  • 虚拟网络:一个 Azure 虚拟网络,它具有足够的地址空间可用于另一个要用于 VPN 网关的子网。 此虚拟网络的地址空间不得与要连接的本地网络重叠。
  • GatewaySubnet:VPN 网关的名为 GatewaySubnet 的子网。 需要至少一个 /27 地址掩码。 此子网不能用于任何其他服务。
  • 公共 IP 地址:如果使用不可感知区域的网关,请创建基本 SKU 动态公共 IP 地址。 此地址提供公共可路由的 IP 地址作为本地 VPN 设备的目标。 此 IP 地址是动态的,但它在删除并重新创建 VPN 网关之前不会改变。
  • 本地网络网关:创建本地网络网关以定义本地网络的配置:VPN 网关将连接到的位置和内容。 此配置包括本地 VPN 设备的公共 IPv4 地址和本地可路由网络。 VPN 网关使用此信息来路由通过 IPsec 隧道发往本地网络的数据包。

有了这些必备组件后,便可以创建虚拟网络网关,在虚拟网络和本地数据中心或其他虚拟网络之间路由流量。 部署虚拟网络网关后,便可以创建一个连接资源,用于在 VPN 网关和本地网关之间创建逻辑连接:

  1. 该连接的目标是本地网络网关定义的本地 VPN 设备的 IPv4 地址。
  2. 该连接的源是虚拟网络网关及其关联的公共 IP 地址。

可以为每个 Azure VPN 网关配置不超过 SKU 定义的限制数量的连接。

高可用性

即使 Azure 中只有一个 VPN 网关资源,在主动/备用配置中依然会将 VPN 网关部署为托管虚拟机的两个实例。 当计划内维护或计划外中断影响主动实例时,备用实例会自动承担连接责任,无需任何用户或管理员干预。 在此故障转移期间,连接会中断,但对于计划内维护,连接通常会在几秒钟内恢复,对于计划外中断,通常会在 90 秒内恢复。

Azure VPN 网关支持 BGP 路由协议,该协议还支持使用主动/主动配置来部署 VPN 网关。 在此配置中,为每个实例分配唯一的公共 IP 地址。 然后创建从本地设备到每个 IP 地址的单独隧道。 可以通过在本地部署另一个 VPN 设备来扩展高可用性。

注意

许多具有 ExpressRoute 连接的组织还部署了站点到站点 VPN 连接,以实现额外的冗余层。