适用于虚拟 WAN 合作伙伴的自动化指南
本文介绍如何设置自动化环境以连接和配置 Azure 虚拟 WAN 的分支设备(客户本地 VPN 设备或 SDWAN CPE)。 如果你是可通过 IPsec/IKEv2 或 IPsec/IKEv1 容纳 VPN 连接的分支设备的提供商,那么本文对你有帮助。
分支设备(客户的本地 VPN 设备或 SDWAN CPE)通常使用需要预配的控制器/设备仪表板。 SD-WAN 解决方案管理员通常可以使用管理控制台来提前预配一个设备,然后再将该设备加入到网络中。 这个支持 VPN 的设备从控制器获取其控制平面逻辑。 VPN 设备或 SD-WAN 控制器可使用 Azure API 自动连接到 Azure 虚拟 WAN。 此类型的连接要求本地设备分配有一个面向外部的公共 IP 地址。
验证设备是否支持 IPsec IKEv1/IKEv2。 请参阅默认策略。
查看用来自动连接到 Azure 虚拟 WAN 的 REST API。
测试 Azure 虚拟 WAN 的门户体验。
然后,确定连接步骤中的哪部分需要自动化。 建议至少自动化以下部分:
- 访问控制
- 将分支设备信息上传到 Azure 虚拟 WAN
- 下载 Azure 配置,并设置从分支设备到 Azure 虚拟 WAN 的连接
- 用来自动创建虚拟中心的 REST API
- 用来为虚拟 WAN 自动实现 Azure VPN 网关的 REST API
- 用来将 VPNSite 连接到 Azure VPN 中心的 REST API
- 默认的 IPsec 策略
了解客户在结合 Azure 虚拟 WAN 进行操作时的预期体验。
- 通常情况下,虚拟 WAN 用户一开始会创建虚拟 WAN 资源。
- 该用户会为本地系统(分支控制器或 VPN 设备预配软件)设置基于服务主体的资源组访问权限,以便将分支信息写入到 Azure 虚拟 WAN 中。
- 用户可能会在此时决定登录 UI 并设备服务主体凭据。 该操作完成以后,控制器应该就能够使用你将要提供的自动化设置来上传分支信息。 此操作在 Azure 端的手动等效项是“创建站点”。
- 站点(分支设备)信息在 Azure 中可用以后,用户需将站点连接到中心。 虚拟中心是 Azure 托管的虚拟网络。 中心包含不同的服务终结点,可从本地网络 (vpnsite) 建立连接。 中心是区域中网络的核心,其中的 VPN 终结点 (vpngateway) 在此过程中创建。 可以在同一区域为同一 Azure 虚拟 WAN 创建多个中心。 VPN 网关是一个可扩展的网关,可根据带宽和连接需求进行适当调整。 可以在分支设备控制器仪表板中选择自动创建虚拟中心和 vpngateway。
- 将虚拟中心关联到站点以后,将会生成一个配置文件,供用户手动下载。 可以在其中放置自动化设置,实现无缝的用户体验。 可以在 UI 中设置自动化并提供尽量减少点击的体验,这样就不需用户手动下载和配置分支设备,减少典型的连接问题,例如共享密钥不匹配问题、IPSec 参数不匹配问题、配置文件可读性问题,等等。
- 解决方案中的此步骤结束时,用户就可以在分支设备和虚拟中心之间进行无缝的站点到站点连接。 也可设置跨其他中心的其他连接。 每个连接都是主动-主动隧道。 客户可以选择针对隧道的每个链路使用不同的 ISP。
- 考虑在 CPE 管理界面中提供故障排除和监视功能。 典型方案包括“客户无法访问 Azure 资源,因为出现了 CPE 问题”、“在 CPE 端显示 IPsec 参数”,等等。
客户必须能够在设备 UI 中为虚拟 WAN 设置正确的访问控制。 建议使用 Azure 服务主体。 基于服务主体的访问为设备控制器提供正确的身份验证以上传分支信息。 有关详细信息,请参阅创建服务主体。 虽然此功能不在 Azure 虚拟 WAN 套餐之中,但我们仍将在 Azure 中设置访问权限所需采取的典型步骤列在下面。相关详细信息随后会输入到设备管理仪表板中
- 为本地设备控制器创建 Microsoft Entra 应用程序。
- 获取应用程序 ID 和身份验证密钥
- 获取租户 ID
- 将应用程序分配到“参与者”角色
应设计可将分支(本地站点)信息上传到 Azure 的用户体验。 可以将 VPNSite 的 REST API 用于在虚拟 WAN 中创建站点信息。 可提供所有分支 SDWAN/VPN 设备,或根据需要选择设备自定义。
此步骤包括下载 Azure 配置,并设置从分支设备到 Azure 虚拟 WAN 的连接。 在此步骤中,未使用提供程序的客户将手动下载 Azure 配置并将其应用于本地 SDWAN/VPN 设备。 作为提供商,你应自动执行此步骤。 有关其他信息,请查看下载的 REST API。 设备控制器可调用“GetVpnConfiguration”REST API 来下载 Azure 配置。
配置说明
- 如果 Azure VNet 附加到虚拟中心,它们将显示为 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 组
备注
在使用默认策略时,Azure 可在 IPsec 隧道设置期间充当发起方和响应方。 尽管虚拟 WAN VPN 支持多种算法组合,但我们建议你使用 GCMAES256 来兼顾 IPSEC 加密和完整性,以获得最佳性能。 AES256 和 SHA256 被认为效率较低,因此类似的算法类型预期会出现延迟、丢包之类的性能降低的情况。 有关虚拟 WAN 的详细信息,请参阅 Azure 虚拟 WAN 常见问题解答。
以下部分列出了 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 生存期(以秒为单位):3600 秒
- SA 生存期(以字节为单位):102,400,000 KB
使用自定义 IPsec 策略时,请记住以下要求:
- IKE - 对于 IKE,你可以从“IKE 加密”中选择任何参数、从“IKE 完整性”中选择任何参数,以及从“DH 组”中选择任何参数。
- IPsec - 对于 IPsec,你可以从“IPsec 加密”中选择任何参数,还可以再从“IPsec 完整性”中选择任何参数,还可以再选择“PFS”。 如果“IPsec 加密”或“IPsec 完整性”的任一参数是 GCM,则这两个设置的参数必须都是 GCM。
默认自定义策略包括 SHA1、DHGroup2 和 3DES,用于实现后向兼容性。 这些是较弱的算法,在创建自定义策略时不受支持。 建议仅使用以下算法:
可用的设置和参数
设置 | parameters |
---|---|
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 秒 |
有关虚拟 WAN 的详细信息,请参阅关于 Azure 虚拟 WAN 和 Azure 虚拟 WAN 常见问题解答。
有关其他信息,请发送电子邮件至 azurevirtualwan@microsoft.com。 请在主题行中包含你的公司名称(用“[ ]”括起来)。