教程:在 Azure 门户中通过 Azure 防火墙 DNAT 筛选入站 Internet 流量Tutorial: Filter inbound Internet traffic with Azure Firewall DNAT using the Azure portal

可以配置 Azure 防火墙目标网络地址转换 (DNAT),以转换和筛选到子网的入站 Internet 流量。You can configure Azure Firewall Destination Network Address Translation (DNAT) to translate and filter inbound Internet traffic to your subnets. 配置 DNAT 时,NAT 规则收集操作设置为“Dnat”。 When you configure DNAT, the NAT rule collection action is set to Dnat. 然后,可以使用 NAT 规则集合中的每个规则将防火墙公共 IP 地址和端口转换为专用 IP 地址和端口。Each rule in the NAT rule collection can then be used to translate your firewall public IP address and port to a private IP address and port. DNAT 规则会隐式添加一个对应的网络规则来允许转换后的流量。DNAT rules implicitly add a corresponding network rule to allow the translated traffic. 出于安全原因,推荐的方法是添加特定的 Internet 源以允许 DNAT 访问网络,并避免使用通配符。For security reasons, the recommended approach is to add a specific Internet source to allow DNAT access to the network and avoid using wildcards. 若要详细了解 Azure 防火墙规则处理逻辑,请参阅 Azure 防火墙规则处理逻辑To learn more about Azure Firewall rule processing logic, see Azure Firewall rule processing logic.

在本教程中,你将了解如何执行以下操作:In this tutorial, you learn how to:

  • 设置测试网络环境Set up a test network environment
  • 部署防火墙Deploy a firewall
  • 创建默认路由Create a default route
  • 配置 DNAT 规则Configure a DNAT rule
  • 测试防火墙Test the firewall

先决条件Prerequisites

如果没有 Azure 订阅,请在开始前创建一个试用订阅If you don't have an Azure subscription, create a Trial Subscription before you begin.

创建资源组Create a resource group

  1. https://portal.azure.cn 中登录 Azure 门户。Sign in to the Azure portal at https://portal.azure.cn.
  2. 在 Azure 门户主页上,依次选择“资源组”、“添加”。 On the Azure portal home page, select Resource groups, then select Add.
  3. 对于“订阅”,请选择自己的订阅。 For Subscription, select your subscription.
  4. 对于“资源组名称”,请键入 RG-DNAT-TestFor Resource group name, type RG-DNAT-Test.
  5. 对于“区域”,选择一个区域。For Region, select a region. 你创建的所有其他资源必须位于同一区域中。All other resources that you create must be in the same region.
  6. 选择“查看 + 创建”。Select Review + create.
  7. 选择“创建” 。Select Create.

设置网络环境Set up the network environment

请为本教程创建两个对等互连的 VNet:For this tutorial, you create a two peered VNets:

  • VN-Hub - 防火墙在此 VNet 中。VN-Hub - the firewall is in this VNet.
  • VN-Spoke - 工作负荷服务器在此 VNet 中。VN-Spoke - the workload server is in this VNet.

首先创建 VNet,然后将其对等互连。First, create the VNets and then peer them.

创建中心 VNetCreate the Hub VNet

  1. 在 Azure 门户主页上,选择“所有服务”。 From the Azure portal home page, select All services.

  2. 在“网络”下,选择“虚拟网络”。 Under Networking, select Virtual networks.

  3. 选择“添加” 。Select Add.

  4. 对于“资源组”,请选择“RG-DNAT-Test” 。For Resource group, select RG-DNAT-Test.

  5. 对于“名称”,请键入“VN-Hub”。 For Name, type VN-Hub.

  6. 对于“区域”,请选择之前使用的同一区域。For Region, select the same region that you used before.

  7. 在完成时选择“下一步:IP 地址”。Select Next: IP Addresses.

  8. 对于“IPv4 地址空间”,请接受默认值“10.0.0.0/16”。For IPv4 Address space, accept the default 10.0.0.0/16.

  9. 在“子网名称”下,选择“默认值”。Under Subnet name, select default.

  10. 编辑“子网名称”,然后键入“AzureFirewallSubnet”。Edit the Subnet name and type AzureFirewallSubnet.

    防火墙将位于此子网中,子网名称 必须 是 AzureFirewallSubnet。The firewall will be in this subnet, and the subnet name must be AzureFirewallSubnet.

    备注

    AzureFirewallSubnet 子网的大小为 /26。The size of the AzureFirewallSubnet subnet is /26. 有关子网大小的详细信息,请参阅 Azure 防火墙常见问题解答For more information about the subnet size, see Azure Firewall FAQ.

  11. 对于“子网地址范围”,请键入“10.0.1.0/26” 。For Subnet address range, type 10.0.1.0/26.

  12. 选择“保存”。Select Save.

  13. 选择“查看 + 创建”。Select Review + create.

  14. 选择“创建”。Select Create.

创建辐射 VNetCreate a spoke VNet

  1. 在 Azure 门户主页上,选择“所有服务”。 From the Azure portal home page, select All services.
  2. 在“网络”下,选择“虚拟网络”。 Under Networking, select Virtual networks.
  3. 选择“添加” 。Select Add.
  4. 对于“资源组”,请选择“RG-DNAT-Test” 。For Resource group, select RG-DNAT-Test.
  5. 对于“名称” ,请键入 VN-SpokeFor Name, type VN-Spoke.
  6. 对于“区域”,请选择之前使用的同一区域。For Region, select the same region that you used before.
  7. 在完成时选择“下一步:IP 地址”。Select Next: IP Addresses.
  8. 对于“IPv4 地址空间”,请编辑默认值并键入“192.168.0.0/16”。For IPv4 Address space, edit the default and type 192.168.0.0/16.
  9. 选择“添加子网”。Select Add subnet.
  10. 对于“子网名称”,请键入“SN-Workload” 。For the Subnet name type SN-Workload.
  11. 对于“子网地址范围”,请键入“192.168.1.0/24” 。For Subnet address range, type 192.168.1.0/24.
  12. 选择 添加Select Add.
  13. 选择“查看 + 创建” 。Select Review + create.
  14. 选择“创建”。Select Create.

在 VNet 之间建立对等互连Peer the VNets

现在,请将这两个 VNet 对等互连。Now peer the two VNets.

  1. 选择“VN-Hub”虚拟网络。 Select the VN-Hub virtual network.
  2. 在“设置”下选择“对等互连”。 Under Settings, select Peerings.
  3. 选择“添加” 。Select Add.
  4. 在“此虚拟网络”下的“对等互连链接名称”中,键入“Peer-HubSpoke”。Under This virtual network, for the Peering link name, type Peer-HubSpoke.
  5. 在“远程虚拟网络”下的“对等互连链接名称”中,键入“Peer-SpokeHub”。Under Remote virtual network, for Peering link name, type Peer-SpokeHub.
  6. 选择 VN-Spoke 作为虚拟网络。Select VN-Spoke for the virtual network.
  7. 接受所有其他默认值,然后选择“添加”。Accept all the other defaults, and then select Add.

创建虚拟机Create a virtual machine

创建一个工作负荷虚拟机,将其置于 SN-Workload 子网中。Create a workload virtual machine, and place it in the SN-Workload subnet.

  1. 在 Azure 门户菜单中,选择“创建资源” 。From the Azure portal menu, select Create a resource.

  2. 在“常用”下,选择“Windows Server 2016 Datacenter”。 Under Popular, select Windows Server 2016 Datacenter.

    基础知识Basics

    1. 对于“订阅”,请选择自己的订阅。 For Subscription, select your subscription.
    2. 对于“资源组”,请选择“RG-DNAT-Test” 。For Resource group, select RG-DNAT-Test.
    3. 对于“虚拟机名称”,请键入 Srv-WorkloadFor Virtual machine name, type Srv-Workload.
    4. 对于“区域”,请选择以前使用的同一位置。 For Region, select the same location that you used previously.
    5. 键入用户名和密码。Type a username and password.
    6. 在完成时选择“下一步:磁盘”Select Next: Disks.

    磁盘Disks

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

    联网Networking

    1. 对于“虚拟网络”,请选择“VN-Spoke”。 For Virtual network, select VN-Spoke.
    2. 对于“子网”,请选择“SN-Workload”。 For Subnet, select SN-Workload.
    3. 对于“公共 IP”,请选择“无”。For Public IP, select None.
    4. 对于“公共入站端口”,请选择“无”。 For Public inbound ports, select None.
    5. 保留其他默认设置,然后选择“下一步:管理”Leave the other default settings and select Next : Management.

    ManagementManagement

    1. 对于“启动诊断”,请选择“禁用” 。For Boot diagnostics, select Disable.
    2. 选择“查看 + 创建” 。Select Review + Create.

    查看 + 创建Review + Create

    查看摘要,然后选择“创建”。 Review the summary, and then select Create. 完成此设置可能需要几分钟时间。This will take a few minutes to complete.

部署完成后,请记下虚拟机的专用 IP 地址。After deployment finishes, note the private IP address for the virtual machine. 该地址会在稍后配置防火墙时使用。It will be used later when you configure the firewall. 选择虚拟机名称,然后在“设置”下选择“网络”,找到专用 IP 地址。 Select the virtual machine name, and under Settings, select Networking to find the private IP address.

备注

Azure 为未获得公共 IP 地址或位于内部基本 Azure 负载均衡器后端池中的 Azure 虚拟机提供临时 IP。Azure provides an ephemeral IP for Azure Virtual Machines which aren't assigned a public IP address, or are in the backend pool of an internal Basic Azure Load Balancer. 临时 IP 机制可提供无法配置的出站 IP 地址。The ephemeral IP mechanism provides an outbound IP address that isn't configurable.

如果将公共 IP 地址分配给某个虚拟机或将该虚拟机置入具有或不具有出站规则的标准负载均衡器的后端池中时,将禁用其原有的临时 IP。The ephemeral IP is disabled when a public IP address is assigned to the virtual machine or the virtual machine is placed in the backend pool of a Standard Load Balancer with or without outbound rules. 如果向虚拟机的子网分配 Azure 虚拟网络 NAT 网关资源,也会禁用其临时 IP。If a Azure Virtual Network NAT gateway resource is assigned to the subnet of the virtual machine, the ephemeral IP is disabled.

有关 Azure 中出站连接的详细信息,请参阅为出站连接使用源网络地址转换 (SNAT)For more information on outbound connections in Azure, see Using Source Network Address Translation (SNAT) for outbound connections.

部署防火墙Deploy the firewall

  1. 在门户主页上,选择“创建资源”。 From the portal home page, select Create a resource.

  2. 搜索“防火墙”,然后选择“防火墙” 。Search for Firewall, and then select Firewall.

  3. 选择“创建”。Select Create.

  4. 在“创建防火墙”页上,使用下表配置防火墙:On the Create a Firewall page, use the following table to configure the firewall:

    设置Setting Value
    订阅Subscription <your subscription>
    资源组Resource group 选择“RG-DNAT-Test”Select RG-DNAT-Test
    名称Name FW-DNAT-testFW-DNAT-test
    区域Region 选择前面使用的同一位置Select the same location that you used previously
    防火墙管理Firewall management 使用“防火墙规则(经典)”来管理此防火墙Use Firewall rules (classic) to manage this firewall
    选择虚拟网络Choose a virtual network 使用现有项:VN-HubUse existing: VN-Hub
    公共 IP 地址Public IP address 新建,名称:fw-pip。Add new, Name: fw-pip.
  5. 接受其他默认值,然后选择“查看 + 创建”。Accept the other defaults, and then select Review + create.

  6. 查看摘要,然后选择“创建”以创建防火墙。 Review the summary, and then select Create to create the firewall.

    需要花费几分钟时间来完成部署。This will take a few minutes to deploy.

  7. 部署完成后,转到“RG-DNAT-Test”资源组,然后选择“FW-DNAT-test”防火墙。 After deployment completes, go to the RG-DNAT-Test resource group, and select the FW-DNAT-test firewall.

  8. 记下防火墙专用 IP 地址和公共 IP 地址。Note the firewall's private and public IP addresses. 稍后在创建默认路由和 NAT 规则时,将用到它们。You'll use them later when you create the default route and NAT rule.

创建默认路由Create a default route

对于“SN-Workload”子网,请配置要通过防火墙的出站默认路由。 For the SN-Workload subnet, you configure the outbound default route to go through the firewall.

  1. 在 Azure 门户主页上,选择“所有服务”。 From the Azure portal home page, select All services.

  2. 在“网络”下,选择“路由表”。 Under Networking, select Route tables.

  3. 选择 添加Select Add.

  4. 对于“订阅”,请选择自己的订阅。 For Subscription, select your subscription.

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

  6. 对于“区域”,请选择前面使用的同一区域。For Region, select the same region that you used previously.

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

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

  9. 选择“创建”。Select Create.

  10. 选择“转到资源”。Select Go to resource.

  11. 依次选择“子网”、“关联”。 Select Subnets, and then select Associate.

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

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

  14. 选择“确定” 。Select OK.

  15. 依次选择“路由”、“添加”。 Select Routes, and then select Add.

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

  17. 对于“地址前缀”,请键入 0.0.0.0/0For Address prefix, type 0.0.0.0/0.

  18. 对于“下一跃点类型”,请选择“虚拟设备”。 For Next hop type, select Virtual appliance.

    Azure 防火墙实际上是一个托管服务,但虚拟设备可在此场合下正常工作。Azure Firewall is actually a managed service, but virtual appliance works in this situation.

  19. 对于“下一跃点地址”,请键入前面记下的防火墙专用 IP 地址。 For Next hop address, type the private IP address for the firewall that you noted previously.

  20. 选择“确定” 。Select OK.

配置 NAT 规则Configure a NAT rule

  1. 打开“RG-DNAT-Test”资源组,然后选择“FW-DNAT-test”防火墙 。Open the RG-DNAT-Test resource group, and select the FW-DNAT-test firewall.
  2. 在“FW-DNAT-test”页的“设置”下,选择“规则(经典)” 。On the FW-DNAT-test page, under Settings, select Rules (classic).
  3. 选择“添加 NAT 规则集合”。 Select Add NAT rule collection.
  4. 对于“名称”,键入 RC-DNAT-01For Name, type RC-DNAT-01.
  5. 对于“优先级”,请键入 200For Priority, type 200.
  6. 在“规则”下,对于“名称”,键入 RL-01Under Rules, for Name, type RL-01.
  7. 对于“协议”,请选择“TCP”。 For Protocol, select TCP.
  8. 对于 源类型,请选择“IP 地址”。For Source type, select IP address.
  9. 对于“源”,请键入“*”。For Source, type *.
  10. 对于“目标地址”,请键入防火墙的公共 IP 地址。For Destination Addresses, type the firewall's public IP address.
  11. 对于“目标端口”,键入 3389For Destination ports, type 3389.
  12. 对于“已翻译的地址” ,键入 Srv-Workload 虚拟机的专用 IP 地址。For Translated Address type the private IP address for the Srv-Workload virtual machine.
  13. 对于“已翻译的端口” ,键入 3389For Translated port, type 3389.
  14. 选择 添加Select Add. 完成此设置可能需要几分钟时间。This will take a few minutes to complete.

测试防火墙Test the firewall

  1. 将远程桌面连接到防火墙公共 IP 地址。Connect a remote desktop to firewall public IP address. 此时会连接到 Srv-Workload 虚拟机。You should be connected to the Srv-Workload virtual machine.
  2. 关闭远程桌面。Close the remote desktop.

清理资源Clean up resources

可以将防火墙资源保留到下一教程使用。不再需要时,请删除 RG-DNAT-Test 资源组,以删除与防火墙相关的所有资源。You can keep your firewall resources for the next tutorial, or if no longer needed, delete the RG-DNAT-Test resource group to delete all firewall-related resources.

后续步骤Next steps

在本教程中,你了解了如何执行以下操作:In this tutorial, you learned how to:

  • 设置测试网络环境Set up a test network environment
  • 部署防火墙Deploy a firewall
  • 创建默认路由Create a default route
  • 配置 DNAT 规则Configure a DNAT rule
  • 测试防火墙Test the firewall

接下来,可以监视 Azure 防火墙日志。Next, you can monitor the Azure Firewall logs.