跳转到内容
搜索文档

Microsoft Azure Virtual WAN

最后更新 查看 MarkdownAgent 设置

本教程提供了关于如何将 Cloudflare WAN(前称 Magic WAN)连接到 Microsoft Azure Virtual WAN 虚拟中心(Hub)的信息。

先决条件

您需要在您的 Azure 账户中已创建资源组、虚拟网络和虚拟机。请参阅 Microsoft 文档以了解有关如何创建这些资源的更多信息。

开始 Azure 配置

1. 创建虚拟 WAN

要通过虚拟 WAN 中心将一个或多个 VNet 连接到 Cloudflare WAN,您首先需要创建一个代表您 Azure 网络的虚拟 WAN (vWAN) 资源。如果您已经拥有一个希望连接到 Cloudflare WAN 的 vWAN,请继续执行下一步。请参阅 Microsoft 文档以了解更多信息。

  1. 在 Azure 门户中,转到您的 Virtual WANs(虚拟 WAN) 页面。
  2. 选择创建 Virtual WAN 的选项。
  3. 创建一个将 Type(类型) 设置为 Standard(标准) 的虚拟 WAN。

2. 创建虚拟 WAN 中心 (Virtual WAN Hub)

使用传统的轴辐式架构术语,部署在 vWAN 内的虚拟 WAN 中心(Virtual WAN Hub)是您的 VNet 和 Cloudflare WAN 作为“辐条(Spokes)”连接到的“中心(Hub)”。在此步骤中部署的 vWAN 中心将包含一个用于连接到 Cloudflare WAN 的 VPN 网关。

  1. 创建 Virtual WAN Hub(虚拟 WAN 中心)
  2. 在 **Basics(基本信息)**中:
    1. 选择您的资源组以及所需的区域、容量和中心路由偏好。Microsoft 建议使用默认的中心路由偏好 ExpressRoute,除非您有特定的需要来更改此设置。请参阅 Microsoft 文档以了解有关 Azure 中心路由偏好的更多信息。
    2. 配置 Hub Private Address Space(中心私有地址空间)。选择一个子网掩码为 /24 或更大且不与您希望挂载到 vWAN 中心的任何 VNet 的地址空间重叠的地址空间,也不要与您的任何 Cloudflare WAN 站点重叠。
  3. 在 **Site to Site(站点到站点)**中:
    1. Do you want to create a Site to site (VPN gateway)?(是否要创建站点到站点 (VPN 网关)?) 中选择 Yes(是)
    2. 选择您所需的 Gateway scale units(网关缩放单元)Routing Preference(路由偏好)。请参阅 Microsoft 文档以了解有关 Azure 路由偏好的更多信息。
  4. 选择 Create(创建)。请注意,vWAN 中心和 VPN 网关的部署时间可能需要 30 分钟或更长时间。
  5. VPN 网关完成预配后,转到 Virtual WAN > Hubs(中心) > 你的虚拟中心 > Connectivity(连接) > VPN (Site to site)(VPN(站点到站点))
  6. Essentials(基本信息) 下拉菜单中,选择列出的 VPN 网关。
  7. 选择该 VPN 网关的 JSON 视图,并记下路径 properties.ipConfigurations[0].publicIpAddressproperties.ipConfigurations[1].publicIpAddress 下的 JSON 属性。这些将是为 Cloudflare WAN 配置 IPsec 隧道时所需的客户方端点。

3. 创建 VPN 站点

VPN 站点代表您的 Azure vWAN 可以通过 VPN 连接到达的远程站点。这通常是本地物理位置。在本例中,VPN 站点代表 Cloudflare WAN。

  1. 转到 Virtual WAN > VPN sites(VPN 站点) > Create site(创建站点)
  2. Basics(基本信息) 中:
    1. 配置您所需的区域和名称。
    2. 将 **Device vendor(设备供应商)**配置为 Cloudflare。
    3. Private address space(私有地址空间) 中,指定您希望从 vWAN 通过 Cloudflare WAN 访问的地址范围。这可以包括连接到您 Cloudflare WAN 的其他私有网络,或者如果您希望互联网出口流量穿过 Cloudflare WAN(即被 Cloudflare Gateway 扫描),则可以使用默认路由(0.0.0.0/0)。地址空间可在创建 VPN 站点后进行修改。
  3. 在 **Links(链接)**中:
    1. 配置单个链接。为您的链接提供名称、速度(以 Mbps 为单位)和提供商名称(此处输入 Cloudflare)。对于 Link IP address(链接 IP 地址),输入您的 Cloudflare Anycast 地址。BGP address(BGP 地址)ASN 字段应留空。在撰写本教程时,暂不支持 BGP。
  4. 选择 Create(创建)

4. 为 IPsec 隧道健康检查配置 VPN 站点

Cloudflare WAN 使用隧道健康检查来监控隧道是否可用。

隧道健康检查利用了从 IPsec 隧道 Cloudflare 侧发送到远程端点 (Azure) 的 ICMP 探测包。探测包从隧道的接口地址发送,您需要在两个地方指定该地址:

  • Cloudflare 仪表板:在您的 IPsec 隧道配置中,作为虚拟隧道接口 (VTI) 的地址(以便 Cloudflare 知道从哪个地址发送探测)。Cloudflare 要求此地址采用带有 /31 子网掩码的 CIDR 表示法。
  • Azure 门户:在您的 VPN 站点的地址空间中(以便 Azure 将探测响应路由回隧道)。Azure 要求此地址采用带有 /32 子网掩码的 CIDR 表示法。

Cloudflare 建议您为每个 IPsec 隧道选择一个唯一的 /31 子网(RFC 1918 — 专用互联网的地址分配),该子网被视为点对点链路,并提供了满足这两个要求的理想寻址方案。

示例:

  • 选择 169.254.251.137/31 作为您的点对点链路子网。
  • 在 Cloudflare 仪表板中,将 169.254.251.137/31 设置为隧道的 IPv4 接口地址。(参阅下方的配置 Cloudflare WAN。)
  • 在 Azure 门户中,将 169.254.251.137/32 添加到您 VPN 站点的**Private address space(私有地址空间)**中。

要配置本地网络网关 (Local Network Gateway) 的地址空间以支持隧道健康检查:

  1. 转到 Virtual WAN > VPN sites(VPN 站点) > 你的 VPN 站点 > Edit site(编辑站点) 来编辑在上一节中配置的 VPN 站点。
  2. 更新 Private address space(私有地址空间) 以包含如上所述的两个 CIDR 表示法 /32 子网。当在 vWAN 中心使用 Azure VPN 网关时,单个 VPN 网关连接会映射到两个 Cloudflare WAN IPsec 隧道。因此,我们需要选择两个唯一的 /31 子网,每个 Cloudflare IPsec 隧道分配一个。然后,将每个 /31 的高位地址作为 /32 子网添加到该 VPN 站点的私有地址空间中。
  3. 选择 Confirm(确认)

5. 创建虚拟网络连接

要将您现有的 VNet 连接到新创建的虚拟中心(vHub):

  1. 转到 Virtual WAN > Virtual network connections(虚拟网络连接),然后选择 Add connection(添加连接)
  2. 配置该连接以将所需的 VNet 连接到上面创建的虚拟中心 (vHub)。
  3. 确保在连接的 **Routing configuration(路由配置)**内:
    1. **Propagate to none(不传播)**设置为 No(否)
    2. **Bypass Next Hop IP for workloads within this VNet(对此 VNet 中的工作负载绕过下一跳 IP)**设置为 No(否)
    3. 且 **Propagate static route(传播静态路由)**设置为 Yes(是)
  4. 选择 Create(创建)

配置 Cloudflare WAN

当将您的 Azure vHub VPN 网关连接到 Cloudflare WAN 时,您需要创建两个 Cloudflare WAN IPsec 隧道,以映射到上面创建的单个 Azure VPN 网关连接。这是因为 Azure VPN 网关是使用两个公共 IP 地址部署的。

  1. 在 Cloudflare 仪表板中创建一个IPsec 隧道
  2. 确保您具有以下设置:
    1. 接口地址:添加在“开始 Azure 配置”部分的第 4 步中选择的第一条 /31 子网内的高位 IP 地址。请参阅隧道端点以了解更多详情。
    2. 客户方端点:与您的 Azure VPN 网关相关联的第一条公共 IP。例如,40.xxx.xxx.xxx
    3. Cloudflare 端点:使用分配给您账户的 Cloudflare Anycast 地址之一,可在租用 IP 中获取。这也将是 Azure 中 VPN 站点对应的 IP 地址。例如,162.xxx.xxx.xxx
    4. 健康检查速率:Medium(默认)。
    5. 健康检查类型:Reply(默认)。
    6. 健康检查方向:Bidirectional(默认)。
    7. 健康检查目标:自定义(Custom),并输入客户方端点。
    8. 稍后添加预共享密钥:选择此选项以创建一个稍后将在 Azure 中使用的 PSK。
    9. 重放保护启用
  3. 编辑隧道。生成新的预共享密钥,并将该密钥复制到安全位置。
  4. 为您的 Azure 虚拟网络子网创建静态路由,指定新创建的隧道作为下一跳。
  5. 在 Cloudflare 仪表板中创建第二个 IPsec 隧道。复制第一个隧道的配置,但有以下例外:
    1. 接口地址:添加在“开始 Azure 配置”部分的第 4 步中选择的第二条 /31 子网内的高位 IP 地址。
    2. 客户方端点:与您的 Azure VPN 网关相关联的第二条公共 IP。
    3. 健康检查目标:将新的客户方端点输入为自定义目标。
    4. 使用我自己的预共享密钥:选择此选项,并输入为第一个隧道生成的密钥。
  6. 为您的 Azure 虚拟网络子网创建静态路由,指定新创建的隧道作为下一跳。若要将一条隧道用作主隧道而另一条用作备用隧道,请为主隧道的路由赋予更低的优先级(更小的值)。若要在两条隧道之间进行 ECMP 负载均衡,请为两条路由分配相同的优先级。

完成 Azure 配置

1. 创建 IPsec VPN 网关连接

要创建 VPN 网关连接

  1. 转到 Virtual WAN > Hubs(中心) > 你的虚拟中心 > Connectivity(连接) > VPN (Site to site)(VPN(站点到站点)),然后移除默认的筛选器 Hub association: Connected(中心关联:已连接),以显示上面创建的 VPN site(VPN 站点)
  2. 勾选您的 VPN 站点旁边的复选框,然后选择 Connect VPN sites(连接 VPN 站点)

选择以下设置。这些设置已通过 Cloudflare 的测试。但在设置您的 VPN 连接时,请注意其他配置参数在技术上也是可行的,如 Azure 文档Cloudflare 文档中所述。

  1. PSK:提供由 Cloudflare 为您的 IPsec 隧道生成的 PSK。

  2. Protocol(协议)IKEv2

  3. IPsecCustom(自定义)

    1. 以秒为单位的 IPsec SA 生存周期:28800
    2. IKE 阶段 1
      1. Encryption(加密)AES256
      2. Integrity/PRF(完整性/PRF)SHA256
      3. DH Group(DH 组)ECP384
    3. IKE 阶段 2 (IPsec)
      1. IPsec Encryption(IPsec 加密)AES256
      2. IPsec Integrity(IPsec 完整性)SHA256
      3. PFS Group(PFS 组)ECP384
    4. 传播默认路由禁用
    5. 使用基于策略的流量选择器禁用
    6. 连接模式仅限发起方
    7. 配置流量选择器?已禁用
  4. 选择 Connect(连接)

这篇文档对您有帮助吗?