关于 VPN 网关配置设置

VPN 网关是一种虚拟网络网关,它通过公共连接在虚拟网络和本地位置之间发送加密流量。 还可以使用 VPN 网关跨 Azure 主干在虚拟网络之间发送流量。

VPN 网关连接依赖于多个资源的配置,每个资源都包含可配置的设置。 本文的各个部分介绍与 Resource Manager 部署模型中创建的虚拟网络的 VPN 网关相关的资源和设置。 可在关于 VPN 网关一文中找到每种连接解决方案的介绍和拓扑图。

Note

本文中的值适用于使用 -GatewayType 'Vpn' 的虚拟网络网关。 这就是这些特殊虚拟网络网关称为 VPN 网关的原因。 ExpressRoute 网关的值与用于 VPN 网关的值不同。

有关适用于 -GatewayType 'ExpressRoute' 的值,请参阅适用于 ExpressRoute 的虚拟网络网关

网关类型

每个虚拟网络只能有一种类型的虚拟网络网关。 创建虚拟网络网关时,必须确保用于配置的网关类型正确。

-GatewayType 的可用值为:

  • Vpn
  • ExpressRoute

VPN 网关需要 -GatewayType Vpn

示例:

New-AzureRmVirtualNetworkGateway -Name vnetgw1 -ResourceGroupName testrg `
-Location 'China North' -IpConfigurations $gwipconfig -GatewayType Vpn `
-VpnType RouteBased

网关 SKU

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

按隧道、连接和吞吐量列出的网关 SKU

SKU S2S/VNet 到 VNet
隧道
P2S
连接
聚合
吞吐量基准
VpnGw1 最大 30 最大 128* 650 Mbps
VpnGw2 最大 30 最大 128* 1 Gbps
VpnGw3 最大 30 最大 128* 1.25 Gbps
基本 最大 10 个 最大 128 100 Mbps

*如果需要其他连接,请联系支持人员

  • 聚合吞吐量基准基于对通过单个网关聚合的多个隧道的测量。 受 Internet 流量情况和应用程序行为影响,该吞吐量无法保证。

  • 可在 定价 页上找到定价信息。

  • 可在 SLA 页上查看 SLA(服务级别协议)信息。

  • 仅在使用资源管理器部署模型的情况下才支持将 VpnGw1、VpnGw2 和 VpnGw3 用于 VPN 网关。

Note

仅资源管理器部署模型支持新的 VPN 网关 SKU(VpnGw1、VpnGw2 和 VpnGw3)。 经典虚拟网络应继续使用老版(旧版)SKU。

按功能集列出的网关 SKU

新 VPN 网关 SKU 简化了网关上提供的功能集:

SKU 功能
基本 (**) 基于路由的 VPN:包含 P2S 的 10 个隧道;无适用于 P2S 的 RADIUS 身份验证;无适用于 P2S 的 IKEv2
基于策略的 VPN (IKEv1):1 个隧道;不含 P2S
VpnGw1、VpnGw2、VpnGw3 基于路由的 VPN:最多 30 个隧道 (*)、P2S、BGP、主动-主动、自定义 IPsec/IKE 策略、ExpressRoute/VPN 共存

(*) 可以对“PolicyBasedTrafficSelectors”进行配置,以便将基于路由的 VPN 网关(VpnGw1、VpnGw2、VpnGw3)连接到多个本地基于策略的防火墙设备。 有关详细信息,请参阅使用 PowerShell 将 VPN 网关连接到多个本地基于策略的 VPN 设备

(**) 基本 SKU 被视为旧版 SKU。 基本 SKU 具有某些功能限制。 使用基本 SKU 的网关无法调整为新网关 SKU 中的一种,必须更改为新的 SKU,这就需要删除并新建 VPN 网关。

网关 SKU - 生产与开发-测试工作负荷

由于 SLA 和功能集的差异,建议使用以下 SKU 比较生产与开发-测试:

工作负载 SKU
生产、关键工作负荷 VpnGw1、VpnGw2、VpnGw3
开发-测试或概念证明 基本 (**)

(**) 基本 SKU 被视为旧版 SKU,并且具有功能限制。 使用基本 SKU 前,请验证所需功能是否受支持。

如果使用老版 SKU(旧版),则推荐使用的生产 SKU 为标准和高性能。 有关老版 SKU 的信息和说明,请参阅网关 SKU(旧版)

配置网关 SKU

Azure 门户

如果使用 Azure 门户创建 Resource Manager 虚拟网络网关,可以使用下拉列表选择网关 SKU。 显示的选项对应于所选的网关类型和 VPN 类型。

PowerShell

以下 PowerShell 示例将 -GatewaySku 指定为 VpnGw1。 使用 PowerShell 创建网关时,需要首先创建 IP 配置,然后变量引用它。 在此示例中,配置变量为 $gwipconfig。

New-AzureRmVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1 `
-Location 'China North' -IpConfigurations $gwipconfig -GatewaySku VpnGw1 `
-GatewayType Vpn -VpnType RouteBased

Azure CLI

az network vnet-gateway create --name VNet1GW --public-ip-address VNet1GWPIP --resource-group TestRG1 --vnet VNet1 --gateway-type Vpn --vpn-type RouteBased --sku VpnGw1 --no-wait

调整 SKU 的大小或对其进行更改

如果具有 VPN 网关并且希望使用不同的网关 SKU,则可以采用的选项是调整网关 SKU 的大小,或者更改为另一个 SKU。 如果更改为另一个网关 SKU,这会完全删除现有网关并构建一个新网关。 最多可能需要花费 45 分钟才能完成构建。 与之相比,当调整网关 SKU 的大小时,停机时间非常短,因为这不需要删除并重建网关。 如果能够调整网关 SKU 的大小而不需要更改它,则这是首选方式。 但是,大小调整有如下规则:

  1. 可以在 VpnGw1 SKU、VpnGw2 SKU 和 VpnGw3 SKU 之间调整大小。
  2. 使用旧版网关 SKU 时,仍可在基本、标准和高性能 SKU 之间调整大小。
  3. 不能从基本/标准/高性能 SKU 调整为新版 VpnGw1/VpnGw2/VpnGw3 SKU, 而只能更改为新版 SKU。

重设网关大小

对于当前 SKU(VpnGw1、VpnGw2 和 VPNGW3),如果希望调整网关 SKU 大小以升级到更强大的 SKU,可以使用 Resize-AzureRmVirtualNetworkGateway PowerShell cmdlet。 也可以使用此 cmdlet 下调网关 SKU 大小。 如果使用的是基本网关 SKU,请改用这些说明来调整网关大小。

以下 PowerShell 示例演示如何将网关 SKU 的大小调整为 VpnGw2。

$gw = Get-AzureRmVirtualNetworkGateway -Name vnetgw1 -ResourceGroupName testrg
Resize-AzureRmVirtualNetworkGateway -VirtualNetworkGateway $gw -GatewaySku VpnGw2

还可以通过转到虚拟网关的“配置”页并从下拉列表中选择其他 SKU,在 Azure 门户中调整网关大小。

从旧版 SKU 更改为新版 SKU

如果使用的是资源管理器部署模型,则可更改到新式网关 SKU。 当从旧式网关 SKU 更改到新式 SKU 时,需删除现有 VPN 网关并创建新的 VPN 网关。

工作流程:

  1. 删除到虚拟网关的任何连接。
  2. 删除旧的 VPN 网关。
  3. 创建新的 VPN 网关。
  4. 使用新的 VPN 网关 IP 地址更新本地 VPN 设备(适用于站点到站点连接)。
  5. 更新将连接到本网关的任何 VNet 到 VNet 本地网关的网关 IP 地址值。
  6. 下载适用于 P2S 客户端(通过此 VPN 网关连接到虚拟网络)的新客户端 VPN 配置包。
  7. 重新创建到虚拟网关的连接。

注意事项:

  • 若要更改到新式 SKU,VPN 网关必须处于资源管理器部署模型中。
  • 如果有经典的 VPN 网关,必须对该网关继续使用早期的旧式 SKU,但可以在旧式 SKU 之间重设网关大小。 不能更改为新式 SKU。
  • 当从旧式 SKU 更改到新式 SKU 时,连接将中断。
  • 更改为新网关 SKU 时,VPN 网关的公有 IP 地址将更改。 即使指定以前使用的同一公共 IP 地址对象,也会出现这种情况。

连接类型

在 Resource Manager 部署模型中,每个配置都需要特定的虚拟网络网关连接类型。 -ConnectionType 的可用 Resource Manager PowerShell 值为:

  • IPsec
  • Vnet2Vnet
  • ExpressRoute
  • VPNClient

以下 PowerShell 示例创建需要 IPsec 连接类型的 S2S 连接。

New-AzureRmVirtualNetworkGatewayConnection -Name localtovon -ResourceGroupName testrg `
-Location 'China North' -VirtualNetworkGateway1 $gateway1 -LocalNetworkGateway2 $local `
-ConnectionType IPsec -RoutingWeight 10 -SharedKey 'abc123'

VPN 类型

为 VPN 网关配置创建虚拟网络网关时,必须指定 VPN 类型。 选择的 VPN 类型取决于要创建的连接拓扑。 例如,P2S 连接需要 RouteBased VPN 类型。 VPN 类型还取决于使用的硬件。 S2S 配置需要 VPN 设备。 有些 VPN 设备仅支持特定的 VPN 类型。

选择的 VPN 类型必须满足所要创建的解决方案的所有连接要求。 例如,如果要为同一虚拟网络创建 S2S VPN 网关连接和 P2S VPN 网关连接,应使用 VPN 类型 RouteBased ,因为 P2S 需要 RouteBased VPN 类型。 此外,需确认 VPN 设备支持 RouteBased VPN 连接。

创建虚拟网络网关后,无法更改 VPN 类型。 必须删除虚拟网络网关,并新建一个。 有两种 VPN 类型:

  • PolicyBased :PolicyBased VPN 以前在经典部署模型中称为静态路由网关。 基于策略的 VPN 会根据使用本地网络和 Azure VNet 之间的地址前缀的各种组合配置的 IPsec 策略,加密数据包并引导其通过 IPsec 隧道。 通常会在 VPN 设备配置中将策略(或流量选择器)定义为访问列表。 基于策略的 VPN 类型的值为 PolicyBased。 使用 PolicyBased VPN 时,请记住下列限制:

    • PolicyBased VPN 可在基本网关 SKU 上使用。 此 VPN 类型与其他网关 SKU 不兼容。
    • 如果使用 PolicyBased VPN,可以只有 1 个隧道。
    • 只能将 PolicyBased VPN 用于 S2S 连接且只能用于特定配置。 大多数 VPN 网关配置需要 RouteBased VPN。
  • RouteBased:RouteBased VPN 以前在经典部署模型中称为动态路由网关。 RouteBased VPN 使用 IP 转发或路由表中的“路由”将数据包引导到相应的隧道接口中。 然后,隧道接口会加密或解密出入隧道的数据包。 RouteBased VPN 的策略(或流量选择器)配置为任意到任意(或通配符)。 基于路由的 VPN 类型的值为 RouteBased

以下 PowerShell 示例将 -VpnType 指定为 RouteBased。 在创建网关时,必须确保用于配置的 -VpnType 正确。

New-AzureRmVirtualNetworkGateway -Name vnetgw1 -ResourceGroupName testrg `
-Location 'China North' -IpConfigurations $gwipconfig `
-GatewayType Vpn -VpnType RouteBased

网关要求

下表列出了基于策略和基于路由的 VPN 网关的要求。 此表适用于 Resource Manager 与经典部署模型。 对于经典模型,基于策略的 VPN 网关与静态网关相同,基于路由的网关与动态网关相同。

基于策略的基本 VPN 网关 基于路由的基本 VPN 网关 基于路由的标准 VPN 网关 基于路由的高性能 VPN 网关
站点到站点连接 (S2S) 基于策略的 VPN 配置 基于路由的 VPN 配置 基于路由的 VPN 配置 基于路由的 VPN 配置
点到站点连接 (P2S) 不支持 支持(可与 S2S 共存) 支持(可与 S2S 共存) 支持(可与 S2S 共存)
身份验证方法 预共享密钥 S2S 连接的预共享密钥,P2S 连接的证书 S2S 连接的预共享密钥,P2S 连接的证书 S2S 连接的预共享密钥,P2S 连接的证书
S2S 连接的最大数目 1 10 10 30
P2S 连接的最大数目 不支持 128 128 128
活动路由支持 (BGP) 不支持 不支持 支持 支持

网关子网

在创建 VPN 网关之前,必须创建一个网关子网。 网关子网包含虚拟网络网关 VM 和服务使用的 IP 地址。 创建虚拟网络网关时,会将网关 VM 部署到网关子网,并使用所需的 VPN 网关设置进行配置。 不能将任何其他设备(例如,其他 VM)部署到网关子网。 网关子网必须命名为“GatewaySubnet”才能正常工作。 将网关子网命名为“GatewaySubnet”,可以让 Azure 知道这就是要将虚拟网络网关 VM 和服务部署到的目标子网。

Note

不要将包含目标为 0.0.0.0/0 路由的路由表关联到网关子网。 这样做会阻止网关正常工作。

创建网关子网时,需指定子网包含的 IP 地址数。 将网关子网中的 IP 地址分配到网关 VM 和网关服务。 有些配置需要具有比其他配置更多的 IP 地址。 查看要创建的配置的说明,验证要创建的网关子网是否会满足这些要求。 此外,可能需要确保网关子网包含足够的 IP 地址,以便应对将来可能会添加的配置。 尽管网关子网最小可创建为 /29,但建议创建 /28 或更大(/28、/27 和 /26 等)的网关子网。 这样一来,如果以后添加功能,就无需断开网关,删除并重新创建网关子网以容纳更多 IP 地址。

以下 Resource Manager PowerShell 示例显示名为 GatewaySubnet 的网关子网。 可以看到,CIDR 表示法指定了 /27,这可提供足够的 IP 地址供大多数现有配置使用。

Add-AzureRmVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 10.0.3.0/27

Important

处理网关子网时,请避免将网络安全组 (NSG) 关联到网关子网。 将网络安全组与此子网关联可能会导致 VPN 网关停止按预期方式工作。 有关网络安全组的详细信息,请参阅什么是网络安全组?

本地网关

创建 VPN 网关配置时,本地网络网关通常代表本地位置。 在经典部署模型中,本地网络网关称为本地站点。

指定本地网络网关的名称(即本地 VPN 设备的公共 IP 地址),并指定位于本地位置的地址前缀。 Azure 将查看网络流量的目标地址前缀、查阅针对本地网络网关指定的配置,并相应地路由数据包。 也应该针对使用 VPN 网关连接的 VNet 到 VNet 配置指定本地网络网关。

以下 PowerShell 示例创建新的本地网络网关:

New-AzureRmLocalNetworkGateway -Name LocalSite -ResourceGroupName testrg `
-Location 'China North' -GatewayIpAddress '23.99.221.164' -AddressPrefix '10.5.51.0/24'

有时需要修改本地网络网关设置。 例如,在添加或修改地址范围时,或 VPN 设备的 IP 地址发生变化时。 请参阅使用 PowerShell 修改本地网络网关设置

REST APIs、PowerShell cmdlet 和 CLI

有关将 REST API、PowerShell cmdlet 或 Azure CLI 用于 VPN 网关配置的其他技术资源和具体语法要求,请参阅以下页面:

经典 Resource Manager
PowerShell PowerShell
REST API REST API
不支持 Azure CLI

后续步骤

有关可用连接配置的详细信息,请参阅关于 VPN 网关