Azure 防火墙管理 NIC

注意

此功能以前称为强制隧道。 最初,只有强制隧道才需要管理 NIC。 但是,即将推出的防火墙功能也需要管理 NIC,因此它已与强制隧道分离。 所有相关文档已更新,以反映这一点。

Azure 防火墙管理 NIC 将防火墙管理流量与客户流量分开。 即将推出的防火墙功能也需要管理 NIC。 若要支持上述任何功能,必须创建启用了防火墙管理 NIC 的 Azure 防火墙,或在现有 Azure 防火墙上启用它。 这是避免服务中断的强制性要求。

启用管理 NIC 时会发生什么

如果启用管理 NIC,防火墙会通过其关联的公共 IP 地址通过 AzureFirewallManagementSubnet(最小子网大小/26)路由其管理流量。 为防火墙分配此公共 IP 地址来管理流量。 它仅供 Azure 平台使用,不能用于任何其他目的。 防火墙操作所需的所有流量都合并到 AzureFirewallManagementSubnet 中。

默认情况下,该服务会将系统提供的路由表关联到管理子网。 此子网上唯一允许的路由是到 Internet 的默认路由,因此必须禁用“传播网关”路由。 避免将客户路由表关联到管理子网,因为如果配置不正确,这样可能会导致服务中断。 如果确实关联路由表,请确保它具有到 Internet 的默认路由,以避免服务中断。

显示防火墙管理 NIC 对话框的屏幕截图。

在现有防火墙上启用管理 NIC

对于标准和高级防火墙版本,必须在创建过程中手动启用防火墙管理 NIC(如前所述),但所有基本防火墙版本和所有安全中心防火墙始终都启用了管理 NIC。

对于预先存在的防火墙,必须停止防火墙,然后在启用防火墙管理 NIC 的情况下重新启动它,以支持强制隧道。 停止/启动防火墙可用于启用防火墙管理 NIC,而无需删除现有防火墙并重新部署新的防火墙。 应始终在维护时段启动/停止防火墙,包括尝试启用防火墙管理 NIC 时,以避免中断。

请使用以下步骤:

  1. 在 Azure 门户中创建 AzureFirewallManagementSubnet,并使用虚拟网络的相应 IP 地址范围。

  2. 使用与现有防火墙公共 IP 地址相同的属性创建新的管理公共 IP 地址:SKU、层和位置。

  3. 停止防火墙

    使用 Azure 防火墙常见问题解答中的信息来停止防火墙:

    $azfw = Get-AzFirewall -Name "FW Name" -ResourceGroupName "RG Name"
    $azfw.Deallocate()
    Set-AzFirewall -AzureFirewall $azfw
    
  4. 使用管理公共 IP 地址和子网启动防火墙。

    使用一个公共 IP 地址和一个管理公共 IP 地址启动防火墙:

    $azfw = Get-AzFirewall -Name "FW Name" -ResourceGroupName "RG Name"
    $vnet = Get-AzVirtualNetwork -Name "VNet Name" -ResourceGroupName "RG Name" 
    $pip = Get-AzPublicIpAddress -Name "azfwpublicip" -ResourceGroupName "RG Name"
    $mgmtPip = Get-AzPublicIpAddress -Name "mgmtpip" -ResourceGroupName "RG Name" 
    $azfw.Allocate($vnet, $pip, $mgmtPip)
    $azfw | Set-AzFirewall
    

    使用两个公共 IP 地址和一个管理公共 IP 地址启动防火墙:

    $azfw = Get-AzFirewall -Name "FW Name" -ResourceGroupName "RG Name"
    $vnet = Get-AzVirtualNetwork -Name "VNet Name" -ResourceGroupName "RG Name" 
    $pip1 = Get-AzPublicIpAddress -Name "azfwpublicip" -ResourceGroupName "RG Name"
    $pip2 = Get-AzPublicIpAddress -Name "azfwpublicip2" -ResourceGroupName "RG Name"
    $mgmtPip = Get-AzPublicIpAddress -Name "mgmtpip" -ResourceGroupName "RG Name" 
    $azfw.Allocate($vnet,@($pip1,$pip2), $mgmtPip)
    $azfw | Set-AzFirewall
    

    注意

    必须将防火墙和公共 IP 重新分配到原始资源组和订阅。 执行停止/启动时,防火墙的专用 IP 地址可能会更改为子网中的其他 IP 地址。 这可能会影响以前配置的路由表的连接。

现在,在 Azure 门户中查看防火墙时,会看到分配的管理公共 IP 地址:

显示具有管理 IP 地址的防火墙的屏幕截图。

注意

如果删除防火墙上的所有其他 IP 地址配置,管理 IP 地址配置也会被删除,防火墙会被解除分配。 无法删除分配给管理 IP 地址配置的公共 IP 地址,但可以分配不同的公共 IP 地址。

使用管理 NIC 部署新的 Azure 防火墙以实现强制隧道

如果你希望部署新的 Azure 防火墙而不是使用停止/启动方法,请确保在配置中包含管理子网和管理 NIC。

重要说明

  • 每个虚拟网络 (VNET) 只有一个防火墙:由于同一个虚拟网络中不能存在两个防火墙,因此如果你打算重用同一个 VNET,建议在开始新的部署之前删除旧的防火墙
  • 预先创建子网:确保提前创建 AzureFirewallManagementSubnet,以避免在使用现有 VNET 时出现部署问题

先决条件

  • 创建 AzureFirewallManagementSubnet
    • 最小子网大小:/26
    • 示例:10.0.1.0/26

部署步骤

  1. 在 Azure 门户中转到“创建资源”
  2. 搜索“防火墙”,然后选择“创建”
  3. 在“创建防火墙”页面上配置以下设置:
    • 订阅:选择自己的订阅。
    • 资源组:选择一个资源组,或创建新的资源组
    • 名称:输入防火墙的名称
    • 区域:选择你所在的区域
    • 防火墙 SKU:选择“基本”、“标准”或“高级”
    • 虚拟网络:创建新的虚拟网络,或使用现有的虚拟网络
      • 地址空间:例如 10.0.0.0/16
      • AzureFirewallSubnet 的子网:例如 10.0.0.0/26
    • 公共 IP 地址:添加新的公共 IP
      • 名称:例如 FW-PIP
  4. 防火墙管理 NIC
    • 选择“启用防火墙管理 NIC”
      • AzureFirewallManagementSubnet 的子网:例如 10.0.1.0/24
      • 创建管理公共 IP 地址:例如 Mgmt-PIP
  5. 选择“查看 + 创建”以验证并部署防火墙。 需要花费几分钟时间来完成部署。