你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

如何为 Azure 虚拟 WAN 中心内的网络虚拟设备配置目标 NAT (DNAT)

以下文章介绍如何为使用虚拟 WAN 中心部署的已启用下一代防火墙的网络虚拟设备配置目标 NAT。

重要

虚拟 WAN 集成式网络虚拟设备的目标 NAT (DNAT) 目前为公共预览版,并且在没有服务级别协议的情况下提供。 不应将其用于生产工作负载。 某些功能可能不受支持或受到约束,或者不一定在所有 Azure 位置都可用。 有关 beta 版本、预览版或尚未正式发布的版本的 Azure 功能所适用的法律条款,请参阅 Microsoft Azure 预览版的补充使用条款

背景

与虚拟 WAN 集成且具有下一代防火墙功能的网络虚拟设备 (NVA) 允许客户保护和检查连接到虚拟 WAN 的专用网络之间的流量。

虚拟 WAN 中心内网络虚拟设备的目标 NAT 让你可以将应用程序发布给 Internet 中的用户,而无需直接公开应用程序或服务器的公共 IP。 使用者通过分配给防火墙网络虚拟设备的公共 IP 地址访问应用程序。 NVA 将配置为筛选和转换流量并控制对后端应用程序的访问。

虚拟 WAN 中 DNAT 用例的基础结构管理和编程是自动进行的。 使用 NVA 业务流程软件或 NVA 命令行对 NVA 进行 DNAT 规则编程时,会自动对 Azure 基础结构进行编程,使其针对受支持的 NVA 合作伙伴接受和路由 DNAT 流量。 有关受支持的 NVA 合作伙伴的列表,请参阅限制部分。

概念

若要启用 DNAT 用例,请将一个或多个 Azure 公共 IP 地址资源与网络虚拟设备资源相关联。 这些 IP 称为“Internet 入站”或“Internet 流入”IP 地址,并且是用户启动连接请求以便访问 NVA 后面的应用程序的目标 IP 地址。 在网络虚拟设备业务流程协调程序和管理软件上配置 DNAT 规则(请参阅合作伙伴指南)后,NVA 管理软件会自动:

  • 对虚拟 WAN 中运行的 NVA 设备软件进行编程,以检查和转换相应的流量(在 NVA 设备上设置 NAT 规则和防火墙规则)。 通过编程方式在 NVA 上实现的规则称为“NVA DNAT 规则”
  • 与 Azure API 交互,以创建和更新入站安全规则。 虚拟 WAN 控制平面将处理入站安全规则,并对虚拟 WAN 和 Azure 托管的 NVA 基础结构组件进行编程,以支持目标 NAT 用例。

示例

在以下示例中,用户将通过连接到分配给端口 443 上的 NVA 的 DNAT 公共 IP (198.51.100.4) 来访问托管在 Azure 虚拟网络中的应用程序(应用程序 IP 10.60.0.4)。

将执行以下配置:

  • 分配给 NVA 的 Internet 入站 IP 地址为 198.51.100.4 和 192.0.2.4。
  • NVA DNAT 规则将被编程为将目标为 198.51.100.4:443 的流量转换为 10.60.0.4:443。
  • NVA 业务流程协调程序将与 Azure API 连接,以创建入站安全规则,而虚拟 WAN 控制平面则会相应地对基础结构进行编程,以支持流量流

入站流量流

显示入站流量流的屏幕截图。

下面的列表对应于上图,描述了入站连接的数据包流:

  1. 用户针对与 NVA 关联的 DNAT 公共 IP 之一发起连接。
  2. Azure 通过负载均衡将该连接请求分配到某一个防火墙 NVA 实例。 流量将发送到 NVA 的外部/不受信任的接口。
  3. NVA 检查流量,并根据规则配置对数据包进行转换。 在这种情况下,NVA 将配置为 NAT 并将入站流量转发到 10.60.0.4:443。 数据包的源也将转换为所选防火墙实例的专用 IP(受信任/内部接口的 IP),以确保流对称。 NVA 会转发数据包,且虚拟 WAN 会将数据包路由到最终目标。

出站流量流

显示出站流量流的屏幕截图。

下面的列表对应于上图,并描述了出站响应的数据包流:

  1. 服务器进行响应,并通过防火墙专用 IP 将回复数据包发送到 NVA 防火墙实例。
  2. NAT 转换是反向的,响应将发送到不受信任的接口。 然后,Azure 会将数据包直接发送回用户那里。

已知问题、限制和注意事项

以下部分介绍与 Internet 入站功能关联的已知问题、限制和注意事项。

已知问题

下表描述了与 Internet 入站/DNAT 功能相关的已知问题。

问题 说明 缓解操作
DNAT 流量在关联其他 IP 地址后不会转发到 NVA。 将其他 IP 地址关联到已具有活动入站安全规则的 NVA 后,由于代码缺陷,DNAT 流量不会正确转发到 NVA。 使用合作伙伴业务流程/管理软件修改(创建或删除现有)配置的入站安全规则以还原连接。
入站安全规则配置可伸缩性 配置大量(大约 100 条)规则时,入站安全规则配置可能会失败。 没有缓解措施,请联系 Azure 支持部门了解修复时间线。

限制

  • 目标 NAT 仅支持以下 NVA:checkpoint、fortinet-sdwan-and-ngfw 和 fortinet-ngfw
  • 用于目标 NAT 的公共 IP 必须满足以下要求:
    • 目标 NAT 公共 IP 必须来自与 NVA 资源相同的区域。 例如,如果 NVA 部署在美国东部区域,则公共 IP 也必须来自美国东部区域。
    • 目标 NAT 公共 IP 无法供另一个 Azure 资源使用。 例如,不能使用虚拟机网络接口 IP 配置或标准负载均衡器前端配置正在使用的 IP 地址。
    • 公共 IP 必须来自 IPv4 地址空间。 虚拟 WAN 不支持 IPv6 地址。
    • 公共 IP 必须使用标准 SKU 进行部署。 不支持基本 SKU 公共 IP。
  • 只有在创建时配备了至少一个目标 NAT 公共 IP 的新 NVA 部署才支持目标 NAT。 现有 NVA 部署或在 NVA 创建时没有配备关联的目标 NAT 公共 IP 的 NVA 部署不符合使用目标 NAT 的条件。
  • 创建 DNAT 规则时,NVA 业务流程软件会自动对 Azure 基础结构组件进行编程以支持 DNAT 方案。 因此,你无法通过 Azure 门户对 NVA 规则进行编程。 但是,可以查看与每个 Internet 入站公共 IP 关联的入站安全规则。
  • 虚拟 WAN 中的 DNAT 流量只能路由到指向与 NVA 相同的中心的连接。 不支持使用 DNAT 的中心间流量模式。

注意事项

  • 入站流量会自动在网络虚拟设备的所有正常实例之间进行负载均衡。
  • 在大多数情况下,除了目标 NAT 外,NVA 还必须对防火墙专用 IP 执行源 NAT,以确保流对称。 某些 NVA 类型可能不需要执行源 NAT。 有关执行源 NAT 的最佳做法,请联系 NVA 提供商。
  • 空闲流的超时时间将自动设置为 4 分钟。
  • 你可以将基于 IP 地址前缀生成的单个 IP 地址资源分配给 NVA,来作为 Internet 入站 IP。 请分别分配各个基于前缀生成的 IP 地址。

管理 DNAT/Internet 入站配置

以下部分介绍如何管理与 Internet 入站和 DNAT 相关的 NVA 配置。

  1. 导航到你的虚拟 WAN 中心。 选择“第三方提供商”下方的“网络虚拟设备”。 单击 NVA 旁边的“管理配置”。

  2. 在“设置”下,选择“Internet 入站”以打开“Internet 入站”页面。

将 IP 地址关联到用于 Internet 入站的 NVA

  1. 如果 NVA 符合用于 Internet 入站的条件,并且没有与 NVA 关联的当前 Internet 入站 IP 地址,请选择“通过将公共 IP 关联到此网络虚拟设备来启用 Internet 入站(目标 NAT)”。 如果 IP 已与此 NVA 关联,请选择“添加”

  2. 从下拉列表中选择要用于 Internet 入站的资源组和 IP 地址资源。

  3. 单击“保存”

使用 Internet 入站公共 IP 查看处于活动状态的入站安全规则

  1. 找到要查看的公共 IP,然后点按“查看规则”
  2. 查看与该公共 IP 关联的规则。

从现有 NVA 中移除 Internet 入站公共 IP

注意

只有在与相应 IP 关联的规则数为 0 时,才能移除 IP 地址。 请移除与该 IP 关联的所有规则,即从 NVA 管理软件中移除分配给该 IP 的 DNAT 规则。

选择要从网格中移除的 IP,然后点按“删除”显示如何从 NVA 中删除 IP 的屏幕截图。

对 DNAT 规则进行编程

以下部分包含专门针对特定 NVA 提供商的说明,介绍了如何配置有关虚拟 WAN 中的 NVA 的 DNAT 规则

Partner 说明
checkpoint Check Point 文档
fortinet-sdwan-and-ngfw Fortinet SD-WAN 和 NGFW 文档
fortinet-ngfw Fortinet NGFW 文档

故障排除

以下部分介绍了一些常见的故障排除场景。

公共 IP 关联/取消关联

  • Azure 门户中未提供用于将 IP 关联到 NVA 资源的选项:只有在部署时创建的配有 DNAT/Internet 入站 IP 的 NVA 才能使用 DNAT 功能。 删除 NVA 并使用部署时分配的 Internet 入站 IP 重新创建 NVA。
  • IP 地址未显示在 Azure 门户的下拉列表中:仅当 IP 地址为 IPv4 地址、与 NVA 位于同一区域且未在使用中/分配给另一个 Azure 资源时,公共 IP 才会显示在下拉菜单中。 确保尝试使用的 IP 地址满足上述要求,或创建新的 IP 地址。
  • 无法从 NVA 中删除/取消关联公共 IP:只能删除没有关联的规则的 IP 地址。 使用 NVA 业务流程软件删除与该 IP 地址关联的任何 DNAT 规则。
  • NVA 预配状态为未成功:如果 NVA 上存在正在进行的操作,或者 NVA 的预配状态为“未成功”,则 IP 地址关联将失败。 等待任何现有操作终止。

负载均衡器运行状况探测

具有 Internet 入站/DNAT 功能的 NVA 依赖于 NVA 对三个不同的 Azure 负载均衡器运行状况探测的响应,以确保 NVA 按预期运行并路由流量。 运行状况探测请求始终从不可公开路由的 Azure IP 地址 168.63.129.16 发出。 NVA 日志中应会记录使用 168.63.129.16 执行的三向 TCP 握手。

有关 Azure 负载均衡器运行状况探测的详细信息,请参阅运行状况探测文档

虚拟 WAN 所需的运行状况探测包括:

  • Internet 入站或 DNAT 运行状况探测:用于将 Internet 入站流量转发到 NVA 的不受信任/外部接口。 此运行状况探测仅检查 NVA 的不受信任/外部接口的运行状况。

    NVA 提供商 端口
    fortinet 8008
    checkpoint 8117
  • 数据路径运行状况探测:用于将专用(VNET/本地)流量转发到 NVA 的受信任/内部接口。 这对于专用路由策略而言是必需的。 此运行状况探测仅检查 NVA 的受信任/内部接口的运行状况。

    NVA 提供商 端口
    fortinet 8008
    checkpoint 8117
  • NVA 运行状况探测:用于确定运行 NVA 软件的虚拟机规模集的运行状况。 此运行状况探测将检查 NVA 的所有接口(同时包括不受信任/外部接口和受信任/内部接口)的运行状况。

    NVA 提供商 端口
    fortinet 8008
    checkpoint 8117

请确保将 NVA 配置为正确响应 3 个运行状况探测。 常见问题包括:

  • 为运行状况探测响应设置了错误的端口。
  • 未正确设置运行状况探测响应:仅为其设置了内部/受信任接口。
  • 防火墙规则会阻止运行状况探测响应。

DNAT 规则创建

  • DNAT 规则创建失败:请确保 NVA 的预配状态为“成功”,并且所有 NVA 实例都正常。 有关如何对供应商进行故障排除或联系供应商以获取进一步支持的详细信息,请参阅 NVA 提供程序文档。

    此外,请确保 NVA 响应所有接口上的 NVA 运行状况探测。 有关详细信息,请参阅运行状况探测部分。

数据路径

  • NVA 在用户发起到公共 IP 的连接后看不到数据包:请确保 NVA 仅响应外部/不受信任的接口上的 DNAT 运行状况探测。 有关详细信息,请参阅运行状况探测部分。

  • 目标服务器在 NVA 转换后看不到数据包:如果数据包未转发到最终目标服务器,请考虑以下故障排除机制。

    • Azure 路由问题:请使用 Azure 虚拟 WAN 门户检查 defaultRouteTable 的有效路由或网络虚拟设备的有效路由。 应在有效路由中看到目标应用程序的子网。
    • NVA 操作系统路由问题:请检查 NVA 操作系统的内部路由表。 应会看到与从 NVA 动态学习的目标子网对应的路由。 请确保没有删除相关前缀的路线筛选器/映射。
    • 中心间目标不可访问:DNAT 用例的中心间路由不受支持。 请确保尝试访问的资源已连接到配置了 DNAT 规则的 NVA 所在的同一中心。
    • NVA 接口上的数据包捕获:请对 NVA 不受信任和受信任接口执行数据包捕获。 在不受信任的接口上,应会看到源 IP 的原始数据包是用户的公共 IP,目标 IP 是分配给 NVA 的 Internet 入站 IP 地址。 在受信任的接口上,应会看到转换后的 NAT 数据包(同时应用源 NAT 和目标 NAT)。 比较应用防火墙规则前后的数据包捕获以确保适当的防火墙规则配置。
    • SNAT 端口耗尽:对于每个 NVA 实例,与单个后端应用程序的入站连接需要使用唯一端口来将 NAT 流量发送到 NVA 实例的专用 IP。 因此,每个 NVA 实例可以处理到同一目标的大约 65,000 个并发连接。 对于大规模用例,请确保 NVA 配置为转发到多个应用程序 IP 地址,以促进端口重用。
  • 返回的流量未返回到 NVA

    • Azure 中托管的应用程序:请使用 Azure 门户检查应用程序服务器的有效路由。 应在应用程序服务器的有效路由中看到中心地址空间。
    • 本地托管的应用程序:请确保本地端没有路由筛选器用于筛选出对应于中心地址空间的路由。 由于 NVA 源 NAT 的流量流向防火墙专用 IP,因此本地必须接受中心地址空间。
    • 中心间应用程序:DNAT 用例的中心间路由不受支持。 请确保尝试访问的资源已连接到配置了 DNAT 规则的 NVA 所在的同一中心。
    • NVA 接口上的数据包捕获:请对 NVA 的受信任接口执行数据包捕获。 应会看到应用程序服务器将返回流量直接发送到 NVA 实例。 请确保在应用防火墙规则之前和之后比较数据包捕获,以确保数据包确保正确的防火墙规则配置。

后续步骤

有关虚拟 WAN 的更多信息,请参阅虚拟 WAN 常见问题解答