你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:在 Azure 门户中通过 Azure 防火墙策略 DNAT 筛选入站 Internet 或 Intranet 流量
可配置 Azure 防火墙策略目标网络地址转换 (DNAT),以转换和筛选到子网的入站 Internet 或 Intranet 流量。 配置 DNAT 时,规则收集操作设置为“DNAT”。 然后,可以使用 NAT 规则集合中的每个规则将防火墙公共或专用 IP 地址和端口转换为专用 IP 地址和端口。 DNAT 规则会隐式添加一个对应的网络规则来允许转换后的流量。 出于安全原因,推荐的方法是添加特定的源以允许 DNAT 访问网络,并避免使用通配符。 若要详细了解 Azure 防火墙规则处理逻辑,请参阅 Azure 防火墙规则处理逻辑。
在本教程中,你将了解如何执行以下操作:
- 设置测试网络环境
- 部署防火墙和策略
- 创建默认路由
- 配置 DNAT 规则
- 测试防火墙
先决条件
如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
创建资源组
- 登录 Azure 门户。
- 在 Azure 门户主页上,依次选择“资源组”、“添加”。
- 对于“订阅”,请选择自己的订阅。
- 对于“资源组名称”,请键入 RG-DNAT-Test。
- 对于“区域”,选择一个区域。 你创建的所有其他资源必须位于同一区域中。
- 选择“查看 + 创建”。
- 选择“创建” 。
设置网络环境
请为本教程创建两个对等互连的 VNet:
- VN-Hub - 防火墙在此 VNet 中。
- VN-Spoke - 工作负荷服务器在此 VNet 中。
首先创建 VNet,然后将其对等互连。
创建中心 VNet
在 Azure 门户主页上,选择“所有服务”。
在“网络”下,选择“虚拟网络”。
选择“添加” 。
对于“资源组”,请选择“RG-DNAT-Test” 。
对于“名称”,请键入“VN-Hub”。
对于“区域”,请选择之前使用的同一区域。
在完成时选择“下一步:IP 地址”。
对于“IPv4 地址空间”,请接受默认值“10.0.0.0/16”。
在“子网名称”下,选择“默认值”。
编辑“子网名称”,然后键入“AzureFirewallSubnet”。
防火墙将位于此子网中,子网名称必须是 AzureFirewallSubnet。
注意
AzureFirewallSubnet 子网的大小为 /26。 有关子网大小的详细信息,请参阅 Azure 防火墙常见问题解答。
对于“子网地址范围”,请键入“10.0.1.0/26” 。
选择“保存”。
选择“查看 + 创建”。
选择“创建”。
创建辐射 VNet
- 在 Azure 门户主页上,选择“所有服务”。
- 在“网络”下,选择“虚拟网络”。
- 选择“添加” 。
- 对于“资源组”,请选择“RG-DNAT-Test” 。
- 对于“名称” ,请键入 VN-Spoke。
- 对于“区域”,请选择之前使用的同一区域。
- 在完成时选择“下一步:IP 地址”。
- 对于“IPv4 地址空间”,请编辑默认值并键入“192.168.0.0/16”。
- 选择“添加子网”。
- 对于“子网名称”,请键入“SN-Workload” 。
- 对于“子网地址范围”,请键入“192.168.1.0/24” 。
- 选择 添加 。
- 选择“查看 + 创建” 。
- 选择“创建”。
在 VNet 之间建立对等互连
现在,请将这两个 VNet 对等互连。
- 选择“VN-Hub”虚拟网络。
- 在“设置”下选择“对等互连”。
- 选择“添加” 。
- 在“此虚拟网络”下的“对等互连链接名称”中,键入“Peer-HubSpoke”。
- 在“远程虚拟网络”下的“对等互连链接名称”中,键入“Peer-SpokeHub”。
- 选择 VN-Spoke 作为虚拟网络。
- 接受所有其他默认值,然后选择“添加”。
创建虚拟机
创建一个工作负荷虚拟机,将其置于 SN-Workload 子网中。
- 在 Azure 门户菜单中,选择“创建资源” 。
- 在“常用”下,选择“Windows Server 2016 Datacenter”。
基础知识
- 对于“订阅”,请选择自己的订阅。
- 对于“资源组”,请选择“RG-DNAT-Test” 。
- 对于“虚拟机名称”,请键入 Srv-Workload。
- 对于“区域”,请选择以前使用的同一位置。
- 键入用户名和密码。
- 在完成时选择“下一步:磁盘” 。
磁盘
- 在完成时选择“下一步: 网络”。
联网
- 对于“虚拟网络”,请选择“VN-Spoke”。
- 对于“子网”,请选择“SN-Workload”。
- 对于“公共 IP”,请选择“无”。
- 对于“公共入站端口”,请选择“无”。
- 保留其他默认设置,然后选择“下一步: 管理”。
Management
- 对于“启动诊断”,请选择“禁用” 。
- 选择“查看 + 创建” 。
查看 + 创建
查看摘要,然后选择“创建”。 完成此设置可能需要几分钟时间。
部署完成后,请记下虚拟机的专用 IP 地址。 该地址会在稍后配置防火墙时使用。 选择虚拟机名称,然后在“设置”下选择“网络”,找到专用 IP 地址。
部署防火墙和策略
在门户主页上,选择“创建资源”。
搜索“防火墙”,然后选择“防火墙” 。
选择“创建”。
在“创建防火墙”页上,使用下表配置防火墙:
设置 值 订阅 <用户的订阅> 资源组 选择“RG-DNAT-Test” 名称 FW-DNAT-test 区域 选择前面使用的同一位置 防火墙管理 使用防火墙策略来管理此防火墙 防火墙策略 添加新项:
fw-dnat-pol
你选择的区域选择虚拟网络 使用现有项:VN-Hub 公共 IP 地址 新建,名称:fw-pip。 接受其他默认值,然后选择“查看 + 创建”。
查看摘要,然后选择“创建”以创建防火墙。
部署过程需要花费几分钟时间。
部署完成后,转到“RG-DNAT-Test”资源组,然后选择“FW-DNAT-test”防火墙。
记下防火墙专用 IP 地址和公共 IP 地址。 稍后在创建默认路由和 NAT 规则时,将用到它们。
创建默认路由
对于“SN-Workload”子网,请配置要通过防火墙的出站默认路由。
重要
无需在目标子网中配置返回防火墙的显式路由。 Azure 防火墙是一项有状态服务,可自动处理数据包和会话。 如果创建此路由,则会创建一个非对称路由环境,该环境会中断有状态会话逻辑并导致数据包和连接丢失。
在 Azure 门户主页上,选择“所有服务”。
在“网络”下,选择“路由表”。
选择 添加 。
对于“订阅”,请选择自己的订阅。
对于“资源组”,请选择“RG-DNAT-Test” 。
对于“区域”,请选择前面使用的同一区域。
对于“名称”,请键入“RT-FW-route” 。
选择“查看 + 创建” 。
选择“创建”。
选择“转到资源”。
依次选择“子网”、“关联”。
对于“虚拟网络”,请选择“VN-Spoke”。
对于“子网”,请选择“SN-Workload”。
选择“确定” 。
依次选择“路由”、“添加”。
对于“路由名称”,请键入 fw-dg。
对于“地址前缀”,请键入 0.0.0.0/0。
对于“下一跃点类型”,请选择“虚拟设备”。
Azure 防火墙实际上是一个托管服务,但虚拟设备可在此场合下正常工作。
对于“下一跃点地址”,请键入前面记下的防火墙专用 IP 地址。
选择“确定” 。
配置 NAT 规则
此规则允许通过防火墙将远程桌面连接到 Srv-Workload 虚拟机。
- 打开 RG-DNAT-Test 资源组,然后选择 fw-dnat-pol 防火墙策略 。
- 在“设置”下,选择“DNAT 规则” 。
- 选择“添加规则集合”。
- 对于“名称”,请键入“rdp”。
- 对于“优先级”,请键入 200。
- 对于“规则收集组”,选择“DefaultDnatRuleCollectionGroup” 。
- 在“规则”下,对于“名称”,键入“rdp-nat” 。
- 对于源类型,请选择“IP 地址”。
- 对于“源”,请键入 *。
- 对于“协议”,请选择“TCP”。
- 对于“目标端口”,请键入 3389。
- 对于“目标类型”,请选择“IP 地址”。
- 对于“目标”,请键入防火墙公共或专用 IP 地址。
- 对于“已转换的地址”,键入 Srv-Workload 的专用 IP 地址 。
- 对于“已翻译的端口” ,键入 3389。
- 选择 添加 。
测试防火墙
- 将远程桌面连接到防火墙公共 IP 地址。 此时会连接到 Srv-Workload 虚拟机。
- 关闭远程桌面。
清理资源
可以将防火墙资源保留到下一教程使用。不再需要时,请删除 RG-DNAT-Test 资源组,以删除与防火墙相关的所有资源。