本文介绍与本地数据网关关联的几种通信设置。 另外还介绍了如何调整这些设置。

启用出站 Azure 连接

网关依赖 Azure 服务总线进行云连接。 网关相应地建立与其关联的 Azure 区域的出站连接。

如果你注册了 Power BI 租户或 Office 365 租户,Azure 区域将默认为该服务的区域。 否则,你的 Azure 区域可能是离你最近的区域。

如果防火墙阻止出站连接,请配置防火墙,使其允许从网关到其关联 Azure 区域的出站连接。

网关在以下出站端口上进行通信:TCP 443、5671、5672,以及 9350 到 9354。 网关不需要入站端口。

我们建议你允许“.servicebus.windows.net”域名系统 (DNS)。 有关如何使用完全限定域名 (FQDN) 而不是使用可能更改的 IP 地址来设置本地防火墙和/或代理的指导,请按照 Azure WCF 中继 DNS 支持 中的步骤操作。

或者,你可以在防火墙中允许数据区域的 IP 地址。 使用下面列出的 JSON 文件,这些文件每周更新一次。

  • US Gov
  • 或者,你可以通过在网关应用中定期执行 网络端口测试 来获取所需端口的列表。

    网关使用 FQDN 与服务总线通信。 如果你强制网关通过 HTTPS 进行通信,它将完全只使用 FQDN,而不会使用 IP 地址进行通信。

    Azure 数据中心 IP 列表以无类别域际路由 (CIDR) 表示法显示 IP 地址。 这种表示法的一个示例是 10.0.0.0/24,它不表示从 10.0.0.0 到 10.0.0.24。 了解有关 CIDR 表示法 的详细信息。

    以下列表介绍了网关使用的 FQDN。

    公有云域名 *.login.windows.net、login.live.com 和 aadcdn.msauth.net 用于对 Azure Active Directory (Azure AD) 和 OAuth2 的网关应用进行身份验证。 *.servicebus.windows.net 5671-5672 用于高级消息队列协议 (AMQP)。 *.servicebus.windows.net 443 和 9350-9354 通过 TCP 侦听服务总线中继。 需要端口 443 来获取 Azure 访问控制令牌。 *.frontend.clouddatahub.net 已弃用,不是必需的。 此域也将从公共文档中删除。 *.core.windows.net 由数据流用于将数据写入 Azure Data Lake。 login.microsoftonline.com 用于对 Azure AD 和 OAuth2 的网关应用进行身份验证。 *.msftncsi.com 用于在 Power BI 服务无法到达网关时测试 Internet 连接。 *.microsoftonline-p.com 用于对 Azure AD 和 OAuth2 的网关应用进行身份验证。 *.dc.services.visualstudio.com 由 AppInsights 用来收集遥测数据。

    对于 GCCC、GCC High 和 DoD,网关使用以下 FQDN。

    GCC High *.analysis.usgovcloudapi.net *.high.analysis.usgovcloudapi.net *.mil.analysis.usgovcloudapi.net *.login.windows.net、*.login.live.com、*.aadcdn.msauth.net 5671-5672 *.servicebus.usgovcloudapi.net *.servicebus.usgovcloudapi.net *.servicebus.usgovcloudapi.net 443 和 9350-9354 *.servicebus.usgovcloudapi.net *.servicebus.usgovcloudapi.net *.servicebus.usgovcloudapi.net *.core.usgovcloudapi.net *.core.usgovcloudapi.net *.core.usgovcloudapi.net *.login.microsoftonline.com *.login.microsoftonline.us *.login.microsoftonline.us *.msftncsi.com *.msftncsi.com *.msftncsi.com *.microsoftonline-p.com *.microsoftonline-p.com *.microsoftonline-p.com *.dc.applicationinsights.us *.dc.applicationinsights.us *.dc.applicationinsights.us

    对于中国云 (Mooncake),网关使用以下 FQDN。

    中国云 (Mooncake)

    网关安装并注册后,仅所需的端口和 IP 地址是服务总线所需的端口和 IP 地址,如上表中针对 servicebus.windows.net 所述。 你可以通过在网关应用中定期执行 网络端口测试 来获取所需端口的列表。 你还可以强制网关 使用 HTTPS 进行通信

    网络端口测试

    检查网关是否具有访问所有必需端口的权限:

  • 在运行网关的计算机上,在 Windows 搜索中输入“网关”,然后选择本地数据网关应用。

  • 选择“诊断”。 在“网络端口测试”下,选择“启动新测试”。

    网关运行网络端口测试时,它将从服务总线检索端口和服务器的列表,然后尝试连接到所有端口和服务器。 如果再次出现“开始新测试”链接,则表示网络端口测试已完成。

    测试的摘要结果为“已完成(成功)”或“已完成(失败,请参见最后的测试结果)”。 如果测试成功,网关已连接到所需的所有端口。 如果测试失败,网络环境可能已阻止所需的端口和服务器。

    防火墙通常会间歇性地允许被阻止站点上的流量。 即使测试成功,你可能仍需要在防火墙上将该服务器列入允许列表。

    若要查看最近完成的测试结果,请选择“打开最近完成的测试结果”链接。 测试结果在你的默认文本编辑器中打开。

    测试结果将列出网关所需的所有服务器、端口和 IP 地址。 如果测试结果中有任何端口显示为“已关闭”(如以下屏幕截图所示),请确保网络环境未阻止这些连接。 可能需要与网络管理员联系,以打开所需端口。

    强制与 Azure 服务总线进行 HTTPS 通信

    可以使用 HTTPS 替代直接 TCP,以强制网关与服务总线通信。

    从 2019 年 6 月网关版本开始,根据服务总线的建议,新安装将默认为 HTTPS 而不是 TCP。 此默认行为不适用于更新安装。

    你可以使用 网关应用 强制网关采用此行为。 在网关应用中,选择“网络”,然后打开 HTTPS 模式。

    进行更改并选择“应用”后,网关 Windows 服务将自动重启,以使更改生效。 “应用”按钮仅在你进行更改时显示。

    若要从网关应用重启网关 Windows 服务,请参阅 重启网关

    如果网关无法使用 TCP 进行通信,它将自动使用 HTTPS。 网关应用中的选择始终反映当前协议值。

    用于网关流量的 TLS 1.2

    默认情况下,网关使用传输层安全 (TLS) 1.2 与 Power BI 服务进行通信。 若要确保所有网关流量使用 TLS 1.2,你可能需要在运行网关服务的计算机上添加或修改以下注册表项。

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001
    

    添加或修改这些注册表项会将更改应用于所有 .NET 应用程序。 有关影响其他应用程序的 TLS 的注册表更改的信息,请参阅传输层安全性 (TLS) 注册表设置

    服务标记代表给定 Azure 服务中的一组 IP 地址前缀。 Microsoft 会管理服务标记包含的地址前缀,并在地址更改时自动更新服务标记,从而尽量减少频繁更新网络安全规则所需的复杂操作。 数据网关依赖于以下服务标记:

  • PowerBI
  • ServiceBus
  • AzureActiveDirectory
  • AzureCloud
  • 此本地数据网关使用 Azure 中继进行一些通信。 但是,Azure 中继服务没有服务标记。 ServiceBus 服务标记专门属于服务队列和主题功能,但不适用于 Azure 中继。

    AzureCloud 服务标记代表所有全球 Azure 数据中心 IP 地址。 由于 Azure 中继服务构建在 Azure 计算基础之上,因此 Azure 中继公共 IP 是 AzureCloud IP 的子集。 详细信息:Azure 服务标记概述

  • 配置网关日志文件
  •