本文帮助您了解如何设置自动化环境来连接和配置分支设备(客户本地 VPN 设备或 SDWAN CPE),用于 Azure 虚拟广域网。 如果你是一个提供分支设备的提供商,可以容纳通过 IPsec/IKEv2 或 IPsec/IKEv1 建立 VPN 连接,本文适合你。
分支设备(客户本地 VPN 设备或 SDWAN CPE)通常使用要预配的控制器/设备仪表板。 SD-WAN 解决方案管理员通常可以使用管理控制台在设备插入网络之前预先预配设备。 此支持 VPN 的设备从控制器获取其控制平面逻辑。 VPN 设备或 SD-WAN 控制器可以使用Azure API 自动连接到Azure Virtual WAN。 这种类型的连接要求本地设备为其分配一个面向外部的公共 IP 地址。
在开始自动执行之前
验证设备是否支持 IPsec IKEv1/IKEv2。 请参阅 默认策略。
查看用于自动连接到Azure Virtual WAN的 REST API。
测试Azure Virtual WAN的门户体验。
然后,确定要自动执行的连接步骤的哪一部分。 建议至少自动执行:
- 访问控制
- 将分支设备信息上传到Azure Virtual WAN
- 从分支设备下载Azure配置并设置到Azure虚拟广域网上的连接
其他信息
- 用于自动创建虚拟中心的 REST API
- REST API 自动化用于虚拟广域网的 Azure VPN 网关
- REST API将 VPNSite 连接到 Azure VPN 中心
- 默认 IPsec 策略
客户体验
了解与Azure Virtual WAN结合后的预期客户体验。
- 通常,virtual WAN用户将通过创建Virtual WAN资源来启动该过程。
- 用户将为本地系统(分支控制器或 VPN 设备预配软件)设置基于服务主体的资源组访问权限,以将分支信息写入Azure Virtual WAN。
- 用户此时可能会决定登录到 UI 并设置服务主体凭据。 完成后,控制器应能够使用你将提供的自动化上传分支信息。 Azure端的手动等效项是“创建网站”。
- 在Azure中提供站点(分支设备)信息后,用户会将站点连接到中心。 虚拟中心是Microsoft托管的虚拟网络。 中心包含各种服务端点,用于实现从您的本地网络(vpnsite)的连接。 集线器是区域中网络的核心,在此过程中会创建其中的 VPN 网关。 可以为同一个Azure Virtual WAN在同一区域中创建多个中心。 VPN 网关是一个可缩放的网关,可根据带宽和连接需求适当调整大小。 可以选择从分支设备控制仪表板去自动创建虚拟中心和VPN网关。
- 将虚拟中心关联到站点后,将生成配置文件供用户手动下载。 在此时,自动化介入并使用户体验变得更加流畅。 无需用户手动下载和配置分支设备,即可在 UI 上设置自动化并提供最少的点击体验,从而缓解典型的连接问题,例如共享密钥不匹配、IPSec 参数不匹配、配置文件可读性等。
- 在解决方案中的此步骤结束时,用户将在分支设备和虚拟中心之间建立无缝站点到站点连接。 还可以在其他枢纽之间设置更多连接。 每个连接都是双活隧道。 客户可以选择为隧道中的每个连接选择不同的 ISP。
- 请考虑在 CPE 管理界面中提供故障排除和监视功能。 典型方案包括“客户由于 CPE 问题而无法访问Azure资源”、“在 CPE 端显示 IPsec 参数”等。
自动化详细信息
访问控制
客户必须能够在设备 UI 中为Virtual WAN设置适当的访问控制。 建议使用Azure服务主体。 基于服务主体的访问提供设备控制器相应的身份验证来上传分支信息。 有关详细信息,请参阅 创建服务主体。 虽然此功能不在Azure Virtual WAN产品/服务之外,但我们在下面列出了在Azure中设置访问权限的典型步骤,之后相关详细信息将输入到设备管理仪表板中
- 为本地设备控制器创建Microsoft Entra应用程序。
- 获取应用程序 ID 和身份验证密钥
- 获取租户 ID
- 将应用程序分配到角色“参与者”
上传分支设备信息
应设计用户体验,将分支(本地站点)信息上传到Azure。 可以使用 REST APIs 来为 VPNSite 在 Virtual WAN 中创建站点信息。 你可以提供所有分支 SDWAN/VPN 设备,或根据需要选择设备自定义。
设备配置下载和连接
此步骤涉及下载 Azure 配置并将分支设备的连接设置到 Azure Virtual WAN。 在此步骤中,未使用提供程序的客户将手动下载Azure配置并将其应用到其本地 SDWAN/VPN 设备。 作为提供程序,你应该自动执行此步骤。 查看下载 REST API 以获取其他信息。 设备控制器可以调用“GetVpnConfiguration”REST API 来下载Azure配置。
配置说明
- 如果 Azure VNets 附加到虚拟中心,它们将显示为 ConnectedSubnets。
- VPN 连接使用基于路由的配置,并支持 IKEv1 和 IKEv2 协议。
设备配置文件
设备配置文件包含配置本地 VPN 设备时要使用的设置。 查看此文件时,请留意以下信息:
vpnSiteConfiguration - 本部分表示设置为连接到虚拟 WAN 的站点的设备详细信息。 它包括分支设备的名称和公共 IP 地址。
vpnSiteConnections - 本部分提供有关以下内容的信息:
虚拟中心 VNet 的地址空间。
例:"AddressSpace":"10.1.0.0/24"连接到中心的 VNet 的地址空间。
例:"ConnectedSubnets":["10.2.0.0/16","10.3.0.0/16"]虚拟中心 vpngateway 的 IP 地址。 由于 vpngateway 具有由主动-主动配置中的 2 个隧道组成的每个连接,因此你将看到此文件中列出的两个 IP 地址。 在此示例中,可以看到为每个站点指定了“Instance0”和“Instance1”。
例:"Instance0":"104.45.18.186" "Instance1":"104.45.13.195"Vpngateway 连接配置详细信息 ,例如 BGP、预共享密钥等。PSK 是自动生成的预共享密钥。 始终可以在“概述”页中为自定义 PSK 编辑连接。
示例设备配置文件
{
"configurationVersion":{
"LastUpdatedTime":"2018-07-03T18:29:49.8405161Z",
"Version":"r403583d-9c82-4cb8-8570-1cbbcd9983b5"
},
"vpnSiteConfiguration":{
"Name":"testsite1",
"IPAddress":"73.239.3.208"
},
"vpnSiteConnections":[
{
"hubConfiguration":{
"AddressSpace":"10.1.0.0/24",
"Region":"China North 2",
"ConnectedSubnets":[
"10.2.0.0/16",
"10.3.0.0/16"
]
},
"gatewayConfiguration":{
"IpAddresses":{
"Instance0":"104.45.18.186",
"Instance1":"104.45.13.195"
}
},
"connectionConfiguration":{
"IsBgpEnabled":false,
"PSK":"bkOWe5dPPqkx0DfFE3tyuP7y3oYqAEbI",
"IPsecParameters":{
"SADataSizeInKilobytes":102400000,
"SALifeTimeInSeconds":3600
}
}
}
]
},
{
"configurationVersion":{
"LastUpdatedTime":"2018-07-03T18:29:49.8405161Z",
"Version":"1f33f891-e1ab-42b8-8d8c-c024d337bcac"
},
"vpnSiteConfiguration":{
"Name":" testsite2",
"IPAddress":"66.193.205.122"
},
"vpnSiteConnections":[
{
"hubConfiguration":{
"AddressSpace":"10.1.0.0/24",
"Region":"China East 2"
},
"gatewayConfiguration":{
"IpAddresses":{
"Instance0":"104.45.18.187",
"Instance1":"104.45.13.195"
}
},
"connectionConfiguration":{
"IsBgpEnabled":false,
"PSK":"XzODPyAYQqFs4ai9WzrJour0qLzeg7Qg",
"IPsecParameters":{
"SADataSizeInKilobytes":102400000,
"SALifeTimeInSeconds":3600
}
}
}
]
},
{
"configurationVersion":{
"LastUpdatedTime":"2018-07-03T18:29:49.8405161Z",
"Version":"cd1e4a23-96bd-43a9-93b5-b51c2a945c7"
},
"vpnSiteConfiguration":{
"Name":" testsite3",
"IPAddress":"182.71.123.228"
},
"vpnSiteConnections":[
{
"hubConfiguration":{
"AddressSpace":"10.1.0.0/24",
"Region":"China East 2"
},
"gatewayConfiguration":{
"IpAddresses":{
"Instance0":"104.45.18.187",
"Instance1":"104.45.13.195"
}
},
"connectionConfiguration":{
"IsBgpEnabled":false,
"PSK":"YLkSdSYd4wjjEThR3aIxaXaqNdxUwSo9",
"IPsecParameters":{
"SADataSizeInKilobytes":102400000,
"SALifeTimeInSeconds":3600
}
}
}
]
}
连接性详细信息
本地 SDWAN/VPN 设备或 SD-WAN 配置必须匹配或包含以下算法和参数,在 Azure IPsec/IKE 策略中指定。
- IKE 加密算法
- IKE 完整性算法
- DH 组
- IPsec 加密算法
- IPsec 完整性算法
- PFS 组
IPsec 连接的默认策略
注释
使用默认策略时,Azure可以在 IPsec 隧道设置过程中充当发起方和响应方。 虽然 Virtual WAN VPN 支持许多算法组合,但我们的建议是分别在 IPSEC 加密和完整性中使用 GCMAES256,以实现最佳性能。 AES256 和 SHA256 被认为效率较低,因此类似的算法类型预期会出现延迟、丢包之类的性能降低的情况。 有关Virtual WAN的详细信息,请参阅 Azure Virtual WAN 常见问题解答。
Initiator
以下部分列出了当Azure是隧道的发起程序时支持的策略组合。
阶段 1
- AES_256、SHA1、DH_GROUP_2
- AES_256、SHA_256、DH_GROUP_2
- AES_128、SHA1、DH_GROUP_2
- AES_128、SHA_256、DH_GROUP_2
阶段 2
- GCM_AES_256、GCM_AES_256、PFS_NONE
- AES_256、SHA_1、PFS_NONE
- AES_256、SHA_256、PFS_NONE
- AES_128、SHA_1、PFS_NONE
响应者
当Azure是隧道的响应方时,以下部分列出了受支持的策略组合。
阶段 1
- AES_256、SHA1、DH_GROUP_2
- AES_256、SHA_256、DH_GROUP_2
- AES_128、SHA1、DH_GROUP_2
- AES_128、SHA_256、DH_GROUP_2
阶段 2
- GCM_AES_256、GCM_AES_256、PFS_NONE
- AES_256、SHA_1、PFS_NONE
- AES_256、SHA_256、PFS_NONE
- AES_128、SHA_1、PFS_NONE
- AES_256、SHA_1、PFS_1
- AES_256、SHA_1、PFS_2
- AES_256、SHA_1、PFS_14
- AES_128、SHA_1、PFS_1
- AES_128、SHA_1、PFS_2
- AES_128、SHA_1、PFS_14
- AES_256、SHA_256、PFS_1
- AES_256、SHA_256、PFS_2
- AES_256、SHA_256、PFS_14
- AES_256、SHA_1、PFS_24
- AES_256、SHA_256、PFS_24
- AES_128、SHA_256、PFS_NONE
- AES_128、SHA_256、PFS_1
- AES_128、SHA_256、PFS_2
- AES_128、SHA_256、PFS_14
SA 生命周期价值
这些生命周期值适用于发起方和响应方
- SA 生存期(秒):3600 秒
- SA 生存期(字节):102,400,000 KB
IPsec 连接的自定义策略
使用自定义 IPsec 策略时,请记住以下要求:
- IKE - 对于 IKE,可以从 IKE 加密中选择任何参数,以及来自 IKE 完整性的任何参数,以及 DH 组中的任何参数。
- IPsec - 对于 IPsec ,可以从 IPsec 加密中选择任何参数,以及 IPsec 完整性中的任何参数,以及 PFS。 如果 IPsec 加密或 IPsec 完整性的任何参数为 GCM,则这两个设置的参数必须是 GCM。
默认自定义策略包括 SHA1、DHGroup2 和 3DES,以实现向后兼容性。 这些算法较弱,在创建自定义策略时不受支持。 建议仅使用以下算法:
可用的设置和参数
| 设置 | 参数 |
|---|---|
| IKE 加密 | GCMAES256、GCMAES128、AES256、AES128 |
| IKE 完整性 | SHA384、SHA256 |
| DH 组 | ECP384、ECP256、DHGroup24、DHGroup14 |
| IPsec 加密 | GCMAES256、GCMAES128、AES256、AES128、None |
| IPsec 完整性 | GCMAES256、GCMAES128、SHA256 |
| PFS 组 | ECP384、ECP256、PFS24、PFS14、None |
| SA 生存期 | 整数,最小值:300秒/默认值:3600秒 |
后续步骤
有关Virtual WAN的详细信息,请参阅 About Azure Virtual WAN 和 Azure Virtual WAN FAQ。
有关任何其他信息,请发送电子邮件至 azurevirtualwan@microsoft.com。 请在主题行中将公司名称包含在“[ ]”中。