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

在 Azure 门户中通过 Azure 防火墙 DNAT 筛选入站 Internet 或 Intranet 流量

可以将 Azure 防火墙目标网络地址转换(DNAT)配置为翻译和过滤入站 Internet 流量,以便将这些流量引导至您的子网或专用网络之间的内部网络。 配置 DNAT 时,NAT 规则集合操作设置为 DNAT。 然后,NAT 规则集合中的每个规则都可用于将防火墙的公共或专用 IP 地址和端口转换为专用 IP 地址和端口。 DNAT 规则会隐式添加一个对应的网络规则来允许转换后的流量。 出于安全原因,建议添加特定源以允许 DNAT 访问网络,并避免使用通配符。 若要详细了解 Azure 防火墙规则处理逻辑,请参阅 Azure 防火墙规则处理逻辑

注意

本文使用经典防火墙规则来管理防火墙。 首选方法是使用防火墙策略。 若要使用防火墙策略完成此过程,请参阅 教程:使用 Azure 门户通过 Azure 防火墙策略 DNAT 筛选入站 Internet 流量

先决条件

如果没有 Azure 订阅,请在开始之前创建一个免费帐户

创建资源组

  1. 登录 Azure 门户
  2. 在 Azure 门户主页上,依次选择“资源组”、“创建”。
  3. 对于“订阅”,请选择自己的订阅。
  4. 对于“资源组”,请键入 RG-DNAT-Test。
  5. 对于“区域”,选择一个区域。 你创建的所有其他资源必须位于同一区域中。
  6. 选择“查看 + 创建”。
  7. 选择“创建” 。

设置网络环境

请为本文创建 2 个对等互连的 VNet:

  • VN-Hub - 防火墙位于此虚拟网络中。
  • VN-Spoke - 工作负载服务器位于此虚拟网络中

首先创建 VNet,然后将其对等互连。

创建中心虚拟网络

  1. 在 Azure 门户主页上,选择“所有服务”。
  2. 在“网络”下,选择“虚拟网络”。
  3. 选择“创建” 。
  4. 对于“资源组”,请选择“RG-DNAT-Test” 。
  5. 对于“名称”,请键入“VN-Hub”。
  6. 对于“区域”,请选择之前使用的同一区域。
  7. 选择下一步
  8. 在“安全性”选项卡上,选择“下一步”。
  9. 对于“IPv4 地址空间”,请接受默认值“10.0.0.0/16”。
  10. 在“子网”下,选择“默认值”。
  11. 对于“子网模板”,请选择“Azure 防火墙”。

防火墙位于此子网中,子网名称 必须是 AzureFirewallSubnet。

注意

AzureFirewallSubnet 子网的大小为 /26。 有关子网大小的详细信息,请参阅 Azure 防火墙常见问题解答

  1. 选择“保存”。
  2. 选择“查看 + 创建”。
  3. 选择“创建” 。

创建分支虚拟网络

  1. 在 Azure 门户主页上,选择“所有服务”。
  2. 在“网络”下,选择“虚拟网络”。
  3. 选择“创建” 。
  4. 对于“资源组”,请选择“RG-DNAT-Test” 。
  5. 对于“名称” ,请键入 VN-Spoke
  6. 对于“区域”,请选择之前使用的同一区域。
  7. 选择下一步
  8. 在“安全性”选项卡上,选择“下一步”。
  9. 对于“IPv4 地址空间”,请编辑默认值并键入“192.168.0.0/16”。
  10. 在“子网”下,选择“默认值”。
  11. 对于子网 名称,请键入 SN-Workload
  12. 对于“起始地址”,输入“192.168.1.0”。
  13. 对于“子网大小”,请选择“/24”。
  14. 选择“保存”。
  15. 选择“查看 + 创建”。
  16. 选择“创建” 。

在 VNet 之间建立对等互连

现在,请将这两个 VNet 对等互连。

  1. 选择“VN-Hub”虚拟网络。
  2. 在“设置”下选择“对等互连”。
  3. 选择“添加” 。
  4. 在“此虚拟网络”下的“对等互连链接名称”中,键入“Peer-HubSpoke”。
  5. 在“远程虚拟网络”下的“对等互连链接名称”中,键入“Peer-SpokeHub”。
  6. 选择 VN-Spoke 作为虚拟网络。
  7. 接受所有其他默认值,然后选择“添加”。

创建虚拟机

创建一个工作负荷虚拟机,将其置于 SN-Workload 子网中。

  1. 在 Azure 门户菜单中,选择“创建资源” 。
  2. 在“热门市场产品”下,选择“Windows Server 2019 Datacenter”。

基础知识

  1. 对于“订阅”,请选择自己的订阅。
  2. 对于“资源组”,请选择“RG-DNAT-Test” 。
  3. 对于“虚拟机名称”,请键入 Srv-Workload
  4. 对于“区域”,请选择以前使用的同一位置。
  5. 键入用户名和密码。
  6. 在完成时选择“下一步:磁盘”

磁盘

  1. 在完成时选择“下一步: 网络”。

联网

  1. 对于“虚拟网络”,请选择“VN-Spoke”。
  2. 对于“子网”,请选择“SN-Workload”。
  3. 对于“公共 IP”,请选择“无”。
  4. 对于“公共入站端口”,请选择“无”。
  5. 保留其他默认设置,然后选择“下一步: 管理”。

管理

  1. 在完成时选择“下一步:监视”。

监控

  1. 对于“启动诊断”,请选择“禁用” 。
  2. 选择“查看 + 创建” 。

查看 + 创建

查看摘要,然后选择“创建”。 此过程需要几分钟才能完成。

部署完成后,请注意虚拟机的专用 IP 地址。 稍后在配置防火墙时需要此 IP 地址。 选择虚拟机名称,转到 “概述”,然后在 “网络”下记下专用 IP 地址。

注意

Azure 会为未分配公共 IP 地址的 VM 或位于内部基本 Azure 负载均衡器的后端池中的 VM 提供默认出站访问 IP。 默认出站访问 IP 机制会提供不可配置的出站 IP 地址。

发生以下事件之一时,将禁用默认出站访问 IP:

  • 将公共 IP 地址分配给 VM。
  • 虚拟机被放置在标准负载平衡器的后端池中,有无出站规则均可。
  • 向 VM 的子网分配了 Azure NAT 网关资源。

在灵活业务流程模式下通过使用虚拟机规模集创建的 VM 没有默认的出站访问权限。

有关 Azure 中的出站连接的详细信息,请参阅 Azure 中的默认出站访问权限使用用于出站连接的源网络地址转换 (SNAT)

部署防火墙

  1. 在门户主页上,选择“创建资源”。

  2. 搜索“防火墙”,然后选择“防火墙” 。

  3. 选择“创建” 。

  4. 在“创建防火墙”页上,使用下表配置防火墙:

    设置
    订阅 <用户的订阅>
    资源组 选择“RG-DNAT-Test”
    名称 FW-DNAT-test
    区域 选择以前使用的相同位置
    防火墙 SKU 标准
    防火墙管理 使用“防火墙规则(经典)”来管理此防火墙
    选择虚拟网络 使用现有项:VN-Hub
    公共 IP 地址 添加新名称: fw-pip
  5. 接受其他默认值,然后选择“查看 + 创建”。

  6. 查看摘要,然后选择“ 创建 ”以部署防火墙。

    此过程需要几分钟才能完成。

  7. 部署完成后,转到 RG-DNAT-Test 资源组并选择 FW-DNAT 测试 防火墙。

  8. 记下防火墙专用 IP 地址和公共 IP 地址。 稍后在创建默认路由和 NAT 规则时使用它们。

创建默认路由

对于 SN-Workload 子网,请将出站默认路由配置为通过防火墙。

重要

无需在目标子网中配置返回到防火墙的显式路由。 Azure 防火墙是一项有状态服务,可自动处理数据包和会话。 创建此路由将导致非对称路由环境,中断有状态会话逻辑并导致数据包和连接断开。

  1. 在 Azure 门户主页上,选择“创建资源”。

  2. 搜索路由表并将其选中。

  3. 选择“创建” 。

  4. 对于“订阅”,请选择自己的订阅。

  5. 对于“资源组”,请选择“RG-DNAT-Test” 。

  6. 对于 “区域”,请选择以前使用的同一区域。

  7. 对于“名称”,请键入“RT-FWroute”。

  8. 选择“查看 + 创建”。

  9. 选择“创建” 。

  10. 选择“转到资源”。

  11. 依次选择“子网”、“关联”。

  12. 对于“虚拟网络”,请选择“VN-Spoke”。

  13. 对于“子网”,请选择“SN-Workload”。

  14. 选择“确定” 。

  15. 依次选择“路由”、“添加”。

  16. 对于“路由名称”,请键入 FW-DG

  17. 对于“目标类型”,请选择“IP 地址”。

  18. 对于“目标 IP 地址/CIDR 范围”,键入 0.0.0.0/0。

  19. 对于“下一跃点类型”,请选择“虚拟设备”。

    Azure 防火墙是托管服务,但选择虚拟设备在这种情况下有效。

  20. 对于 下一跃点地址,请键入之前记录的防火墙的私有 IP 地址。

  21. 选择“添加” 。

配置 NAT 规则

  1. 打开“RG-DNAT-Test”资源组,然后选择“FW-DNAT-test”防火墙 。
  2. 在“FW-DNAT-test”页的“设置”下,选择“规则(经典)” 。
  3. 选择“添加 NAT 规则集合”。
  4. 对于“名称”,键入 RC-DNAT-01
  5. 对于“优先级”,请键入 200
  6. 在“规则”下,对于“名称”,键入 RL-01
  7. 对于“协议”,请选择“TCP”。
  8. 对于源类型,请选择“IP 地址”。
  9. 对于“源”,请键入“*”。
  10. 对于“目标地址”,请键入防火墙的公共 IP 地址。
  11. 对于“目标端口”,键入 3389
  12. 对于 转换的地址,请键入 Srv-Workload 虚拟机的专用 IP 地址。
  13. 对于“已翻译的端口” ,键入 3389
  14. 选择“添加” 。

此过程需要几分钟才能完成。

测试防火墙

  1. 将远程桌面连接到防火墙的公共 IP 地址。 此时会连接到 Srv-Workload 虚拟机。
  2. 关闭远程桌面。

清理资源

可保留防火墙资源供进一步测试。如果不再需要,请删除 RG-DNAT-Test 资源组,以删除与防火墙相关的所有资源。

后续步骤

接下来,可以监视 Azure 防火墙日志。

教程:监视 Azure 防火墙日志