Azure Stack HCI 的防火墙要求

适用于:Azure Stack HCI 版本 23H2 和 22H2

本文提供了有关如何为 Azure Stack HCI 操作系统配置防火墙的指导。 其中包括出站终结点以及内部规则和端口的防火墙要求。 本文还提供了有关如何将 Azure 服务标记与 Microsoft Defender 防火墙配合使用的信息。

本文还介绍了如何选择使用高度锁定的防火墙配置来阻止前往所有目标的流量(包含在允许列表中的除外)。

如果网络使用代理服务器进行 Internet 访问,请参阅为 Azure Stack HCI 配置代理设置

重要

Azure Stack HCI 版本 23H2 或其任何组件不支持 Azure Express Route 和 Azure 专用链接,因为无法访问 Azure Stack HCI 版本 23H2 所需的公共终结点。

出站终结点的防火墙要求

在组织的防火墙上为出站网络流量打开端口 80 和 443 可满足 Azure Stack HCI 操作系统与 Azure 和 Microsoft 更新进行连接的连接要求。

Azure Stack HCI 需要定期连接到 Azure 以:

  • 众所周知的 Azure IP
  • 出站方向
  • 端口 80 (HTTP) 和 443 (HTTPS)

重要

Azure Stack HCI 不支持 HTTPS 检查。 确保在 Azure Stack HCI 的网络路径上禁用 HTTPS 检查,以防止出现任何连接错误。

如下图所示,Azure Stack HCI 可能会通过多个防火墙来访问 Azure。

示意图显示了 Azure Stack HCI 通过防火墙的端口 443 (HTTPS) 访问服务标记终结点。

Azure Stack HCI 23H2 部署所需的防火墙 URL

从 Azure Stack HCI 版本 23H2 开始,所有群集会自动启用 Azure 资源桥和 AKS 基础结构,并使用 Arc for Servers 代理连接到 Azure 控制平面。 除了下表上的 HCI 特定终结点列表、Azure Stack HCI 终结点上的 Azure 资源桥、Azure Stack HCI 终结点上的 AKS 和已启用 Azure Arc 的服务器终结点,还必须包含在防火墙的允许列表中。

对于美国东部合并的终结点列表,包括 HCI、已启用 Arc 的服务器、ARB 和 AKS 使用:

对于西欧合并的终结点列表,包括 HCI、已启用 Arc 的服务器、ARB 和 AKS 使用:

对于澳大利亚东部合并的终结点列表,包括 HCI、已启用 Arc 的服务器、ARB 和 AKS 使用:

对于加拿大中部合并的终结点列表,包括 HCI、已启用 Arc 的服务器、ARB 和 AKS 使用:

对于印度中部合并的终结点列表,包括 HCI、已启用 Arc 的服务器、ARB 和 AKS 使用:

其他 Azure 服务的防火墙要求

根据为 Azure Stack HCI 启用的其他 Azure 服务,可能需要对防火墙配置进行其他更改。 有关每个 Azure 服务的防火墙要求的信息,请参阅以下链接:

内部规则和端口的防火墙要求

对于拉伸群集,请确保站点内和站点间的所有服务器节点之间的相应网络端口处于打开状态(拉伸群集功能仅在 Azure Stack HCI 版本 22H2 中可用)。 你需要适当的防火墙规则,以允许在群集中的所有服务器之间进行 ICMP、SMB(端口 445;如果使用 iWARP RDMA,则还包括适用于 SMB Direct 的端口 5445)和 WS-MAN(端口 5985)双向通信。

使用 Windows Admin Center 中的群集创建向导来创建群集时,向导会针对故障转移群集、Hyper-V 和存储副本自动打开群集中每台服务器上的相应防火墙端口。 如果在每台服务器上使用不同的防火墙,请按照以下部分所述打开端口:

Azure Stack HCI OS 管理

请确保在本地防火墙中配置用于管理 Azure Stack HCI OS(包括许可和计费)的以下防火墙规则。

规则 操作 目标 服务 端口
允许进出群集服务器上的 Azure Stack HCI 服务的入站/出站流量 Allow 群集服务器 群集服务器 TCP 30301

Windows Admin Center

确保在 Windows Admin Center 的本地防火墙中配置了以下防火墙规则。

规则 操作 目标 服务 端口
提供对 Azure 和 Microsoft 更新的访问权限 Allow Windows Admin Center Azure Stack HCI TCP 445
对 HTTP 连接使用 Windows 远程管理 (WinRM) 2.0,
以在远程 Windows 服务器上
运行命令
Allow Windows Admin Center Azure Stack HCI TCP 5985
对 HTTPS 连接使用 WinRM 2.0,
以在远程 Windows 服务器上运行命令
Allow Windows Admin Center Azure Stack HCI TCP 5986

注意

在安装 Windows Admin Center 时,如果选择“仅通过 HTTPS 使用 WinRM”设置,则需要端口 5986。

Active Directory

确保在 Active Directory(本地安全机构)的本地防火墙中配置以下防火墙规则。

规则 操作 目标 服务 端口
允许与 Active Directory Web 服务 (ADWS) 和 Active Directory 管理网关服务的入站/出站连接 允许 Active Directory 服务 Azure Stack HCI TCP 9389

故障转移群集

确保在故障转移群集的本地防火墙中配置了以下防火墙规则。

规则 操作 目标 服务 端口
允许故障转移群集验证 Allow 管理系统 群集服务器 TCP 445
允许 RPC 动态端口分配 Allow 管理系统 群集服务器 TCP 至少 100 个端口
高于端口 5000
允许远程过程调用 (RPC) Allow 管理系统 群集服务器 TCP 135
允许群集管理员 Allow 管理系统 群集服务器 UDP 137
允许群集服务 Allow 管理系统 群集服务器 UDP 3343
允许群集服务(在服务器加入操作
期间是必需的。)
Allow 管理系统 群集服务器 TCP 3343
允许 ICMPv4 和 ICMPv6
来进行故障转移群集验证
Allow 管理系统 群集服务器 不适用 不适用

注意

管理系统包括你计划使用 Windows Admin Center、Windows PowerShell 或 System Center Virtual Machine Manager 等工具管理群集的任何计算机。

Hyper-V

确保在 Hyper-V 的本地防火墙中配置了以下防火墙规则。

规则 操作 目标 服务 端口
允许群集通信 Allow 管理系统 Hyper-V Server TCP 445
允许 RPC 端点映射程序和 WMI Allow 管理系统 Hyper-V Server TCP 135
允许 HTTP 连接 Allow 管理系统 Hyper-V Server TCP 80
允许 HTTPS 连接 Allow 管理系统 Hyper-V Server TCP 443
允许实时迁移 Allow 管理系统 Hyper-V Server TCP 6600
允许 VM 管理服务 Allow 管理系统 Hyper-V Server TCP 2179
允许 RPC 动态端口分配 Allow 管理系统 Hyper-V Server TCP 至少 100 个端口
高于端口 5000

注意

打开一系列高于端口 5000 的端口,以允许 RPC 动态端口分配。 低于 5000 的端口可能已被其他应用程序使用,可能导致与 DCOM 应用程序发生冲突。 以前的经验显示,至少应打开 100 个端口,原因是多个系统服务依赖于这些 RPC 端口来彼此通信。 有关详细信息,请参阅如何配置与防火墙一起使用的 RPC 动态端口分配

存储副本(拉伸群集)

确保在存储副本(拉伸群集)的本地防火墙中配置了以下防火墙规则。

规则 操作 目标 服务 端口
允许服务器消息块
(SMB) 协议
Allow 拉伸群集服务器 拉伸群集服务器 TCP 445
允许 Web 服务管理
(WS-MAN)
Allow 拉伸群集服务器 拉伸群集服务器 TCP 5985
允许 ICMPv4 和 ICMPv6
(如果在使用 Test-SRTopology
PowerShell cmdlet)
Allow 拉伸群集服务器 拉伸群集服务器 不适用 不适用

更新 Microsoft Defender 防火墙

本部分介绍了如何将 Microsoft Defender 防火墙配置为允许与服务标记关联的 IP 地址连接到操作系统。 服务标记代表给定 Azure 服务中的一组 IP 地址。 Microsoft 会管理服务标记中包含的 IP 地址,并且会在 IP 地址更改时自动更新服务标记,使更新量保持在最低水平。 若要了解详细信息,请参阅虚拟网络服务标记

  1. 将来自以下资源的 JSON 文件下载到运行操作系统的目标计算机中:Azure IP 范围和服务标记 - 高能公有云

  2. 使用以下 PowerShell 命令打开 JSON 文件:

    $json = Get-Content -Path .\ServiceTags_Public_20201012.json | ConvertFrom-Json
    
  3. 获取给定服务标记(例如 AzureResourceManager 服务标记)的 IP 地址范围列表:

    $IpList = ($json.values | where Name -Eq "AzureResourceManager").properties.addressPrefixes
    
  4. 将 IP 地址列表导入到外部公司防火墙(如果你在防火墙中使用允许列表)。

  5. 为群集中的每台服务器创建防火墙规则,以允许发往 IP 地址范围列表的出站 443 (HTTPS) 流量:

    New-NetFirewallRule -DisplayName "Allow Azure Resource Manager" -RemoteAddress $IpList -Direction Outbound -LocalPort 443 -Protocol TCP -Action Allow -Profile Any -Enabled True
    

后续步骤

有关详细信息,请参阅: