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

教程:为重叠和不可路由的网络部署 Azure 防火墙专用 IP DNAT

使用 Azure 防火墙专用 IP DNAT(目标网络地址转换),可以使用防火墙的专用 IP 地址而不是其公共 IP 地址来转换和筛选入站流量。 此功能对于涉及重叠网络或不可路由网络访问的方案非常有用,因为传统公共 IP DNAT 不适合。

专用 IP DNAT 应对两个关键场景:

  • 重叠网络:当多个网络共享相同的 IP 地址空间时
  • 不可路由的网络:需要通过无法直接路由的网络访问资源

本教程中,您将学习如何:

  • 了解专用 IP DNAT 用例
  • 使用专用 IP DNAT 功能部署 Azure 防火墙
  • 为重叠网络方案配置 DNAT 规则
  • 为不可路由的网络访问配置 DNAT 规则
  • 测试专用 IP DNAT 功能
  • 验证流量流和规则处理

先决条件

重要

专用 IP DNAT 仅在 Azure 防火墙标准和高级 SKU 中可用。 基本 SKU 不支持此功能。

场景概述

本教程演示了两种常见的专用 IP DNAT 方案:

方案 1:重叠网络

有多个虚拟网络使用相同的 IP 地址空间(例如 10.0.0.0/16),并且需要跨这些网络访问资源,而不会发生 IP 冲突。

方案 2:不可路由的网络访问

需要提供对网络中无法直接从源路由的资源的访问权限,例如通过 Azure 防火墙访问本地资源。

部署环境

使用提供的 ARM 模板创建包含所有必要组件的测试环境。

下载部署模板

  1. Azure 网络安全 GitHub 存储库下载 ARM 模板。

  2. PrivateIpDnatArmTemplateV2.json 文件保存到本地计算机。

使用 Azure 门户进行部署

  1. 登录到 Azure 门户

  2. 选择“ 创建资源>模板部署”(使用自定义模板进行部署)。

  3. 选择“在编辑器中生成自己的模板”。

  4. 删除现有内容并粘贴下载的 ARM 模板的内容。

  5. 选择“保存”

  6. 提供以下信息:

    • 订阅:选择 Azure 订阅
    • 资源组:创建新的资源组或选择现有资源组
    • 区域:选择首选的 Azure 区域
    • 位置:此参数基于所选区域自动填充
  7. 查看模板参数并根据需要进行修改。

  8. 选择 “查看 + 创建”,然后选择 “创建” 以部署模板。

部署将创建以下资源:

  • 适用于重叠和不可路由情况的虚拟网络
  • 具有专用 IP DNAT 配置的 Azure 防火墙
  • 用于测试连接的虚拟机
  • 网络安全组和路由表
  • 所有必要的网络组件

注释

ARM 模板包括预配置的 DNAT 规则,用于测试这两种方案。 可以在部署后检查这些规则,也可以根据需要根据特定要求对其进行修改。

验证私有 IP DNAT 规则

部署完成后,验证是否为这两种方案正确创建了 DNAT 规则。

验证重叠网络的规则

  1. 在 Azure 门户中,导航到 Azure 防火墙资源(azfw-hub-vnet-1)。

  2. “设置”下,选择 “防火墙策略”。

  3. 选择防火墙策略 (fp-azfw-hub-vnet-1)。

  4. “设置”下,选择 “规则集合组”。

  5. 选择 DefaultDnatRuleCollectionGroup 以查看预配置的规则。

您应该会看到以下 DNAT 规则:

  • ToVM2-Http:转换 10.10.0.4:8010.10.2.4:80 (从 spoke-vnet-1 访问 hub-vnet-2 防火墙)
  • ToVM2-Rdp:转译 10.10.0.4:5338810.10.2.4:3389 (RDP 访问)
  • ToVM3-Http:转换 10.10.0.4:8080172.16.0.4:80(从 spoke-vnet-1 访问 branch-vnet-1)
  • ToVM3-Rdp:转换 10.10.0.4:53389172.16.0.4:3389(RDP 访问)

验证不可路由网络的规则

  1. 导航到第二个 Azure 防火墙资源(azfw-hub-vnet-2)。

  2. “设置”下,选择 “防火墙策略”。

  3. 选择防火墙策略 (fp-azfw-hub-vnet-2)。

  4. “设置”下,选择 “规则集合组”。

  5. 选择 DefaultDnatRuleCollectionGroup 以查看第二种方案的规则。

您应该会看到以下 DNAT 规则:

  • ToVM2-Http:转换 10.10.2.4:80192.168.0.4:80(从 hub-vnet-1 防火墙子网访问 spoke-vnet-2)
  • ToVM2-Rdp:转换 10.10.2.4:3389192.168.0.4:3389(对 spoke-vnet-2 的 RDP 访问权限)

这些规则展示了重叠网络场景,其中两个辐射网络都使用相同的 IP 空间 (192.168.0.0/24)。

设置虚拟机

通过运行提供的 PowerShell 脚本完成 VM 配置。

在方案 1 中配置 VM(重叠网络)

  1. 使用 Azure Bastion 或 RDP 连接到虚拟机 win-vm-2

  2. 以管理员身份打开 PowerShell。

  3. 下载并运行配置脚本:

    # Download the script from GitHub repository
    Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Azure/Azure-Network-Security/master/Azure%20Firewall/Template%20-%20Private%20IP%20Dnat%20with%202%20Scenarios%20-%20Overlapped%20Network%20and%20Non-Routable%20Network/win-vm-2.ps1" -OutFile "C:\win-vm-2.ps1"
    
    # Execute the script
    .\win-vm-2.ps1
    

在方案 2 中配置 VM(不可路由的网络)

  1. 使用 Azure Bastion 或 RDP 连接到虚拟机 win-vm-3

  2. 以管理员身份打开 PowerShell。

  3. 下载并运行配置脚本:

    # Download the script from GitHub repository
    Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Azure/Azure-Network-Security/master/Azure%20Firewall/Template%20-%20Private%20IP%20Dnat%20with%202%20Scenarios%20-%20Overlapped%20Network%20and%20Non-Routable%20Network/win-vm-3.ps1" -OutFile "C:\win-vm-3.ps1"
    
    # Execute the script
    .\win-vm-3.ps1
    

测试专用 IP DNAT 功能

验证专用 IP DNAT 配置是否适用于这两种方案。

测试网络重叠场景

  1. 从源网络中的客户端计算机,尝试使用配置的端口连接到 Azure 防火墙专用 IP 地址。

  2. 验证连接是否已成功传输到重叠网络中的目标 VM。

  3. 检查 Azure 防火墙日志,确认规则命中和成功转换。

测试不可路由的网络方案

  1. 从适当的源网络连接到 Azure 防火墙专用 IP 地址。

  2. 通过防火墙验证对不可路由网络中资源的访问。

  3. 若要确保正确的规则处理和流量流,请监视防火墙日志。

监视并排查

若要监视专用 IP DNAT 性能,请使用 Azure 防火墙诊断日志和指标。

启用诊断日志记录

  1. 在 Azure 门户中,导航到 Azure 防火墙资源。

  2. 选择 “诊断设置>+ 添加诊断设置”。

  3. 为以下项配置日志记录:

    • Azure 防火墙应用程序规则日志
    • Azure 防火墙网络规则日志
    • Azure 防火墙 NAT 规则日志
  4. 选择首选目标(Log Analytics 工作区、存储帐户或事件中心)。

要监视的关键指标

若要确保最佳性能,请监视以下指标:

  • 处理的数据:防火墙处理的数据总量
  • 网络规则命中计数:匹配的网络规则数
  • NAT 规则命中计数:匹配的 DNAT 规则数
  • 吞吐量:防火墙吞吐量性能

最佳做法

实现专用 IP DNAT 时,请遵循以下最佳做法:

  • 规则排序:若要确保正确的处理顺序,请放置优先级较低的更具体的规则
  • 源规范:使用特定的源 IP 范围而不是通配符来提高安全性
  • 网络分段:若要隔离重叠网络,请实施适当的网络分段
  • 监视:若要识别性能问题,请定期监视防火墙日志和指标
  • 测试:为了确保生产的可靠性,在实施之前全面测试所有 DNAT 规则

清理资源

不再需要测试环境时,请删除资源组以删除本教程中创建的所有资源。

  1. 在 Azure 门户中导航到资源组。

  2. 选择“删除资源组”。

  3. 键入资源组名称以确认删除。

  4. 选择 “删除” 以删除所有资源。

后续步骤

本教程介绍了如何为重叠和不可路由的网络方案部署和配置 Azure 防火墙专用 IP DNAT。 你部署了测试环境、配置了 DNAT 规则并验证了功能。

若要详细了解 Azure 防火墙 DNAT 功能,