IoT 中心公共终结点的 IP 地址前缀会定期发布在 AzureIoTHub服务标记下。
注意
对于在本地网络中部署的设备,Azure IoT 中心支持与专用终结点的虚拟网络连接集成。 有关详细信息,请参阅 使用 Azure 专用链接对虚拟网络的 IoT 中心支持。
可以使用这些 IP 地址前缀来控制 IoT 中心与设备或网络资产之间的连接,以实现各种网络隔离目标:
| 目标 | 适用的方案 | 方法 | 
|---|---|---|
| 确保设备和服务只与 IoT 中心终结点通信 | 设备到云和云到设备的消息传送、直接方法、设备和模块孪生 | 使用 AzureIoTHub 服务标记发现 IoT 中心 IP 地址前缀,然后针对设备和服务的防火墙设置为这些 IP 地址前缀配置 ALLOW 规则。 发送到其他目标 IP 地址的流量减少。 | 
| 确保 IoT 中心设备终结点仅接收来自你的设备和网络资产的连接 | 设备到云和云到设备的消息传送、直接方法、设备和模块孪生 | 使用 IoT 中心 IP 筛选功能以允许来自设备和网络资产 IP 地址的连接。 有关限制的详细信息,请参阅 “限制和解决方法 ”部分。 | 
| 确保路由的自定义终结点资源(存储帐户、服务总线和事件中心)只能通过你的网络资产访问 | 消息路由 | 遵循有关限制连接的资源指导;例如,通过专用链接、服务终结点或防火墙规则。 有关防火墙限制的详细信息,请参阅 “限制和解决方法 ”部分。 | 
最佳做法
- IoT 中心的 IP 地址可能会在没有通知的情况下更改。 为了最大限度地减少中断,请尽可能将 IoT 中心主机名(例如,myhub.azure-devices.net)用于网络和防火墙配置。 
- 对于没有域名解析 (DNS) 的受约束 IoT 系统,IoT 中心 IP 地址范围会在更改生效之前定期通过服务标记发布。 因此,请务必开发可定期检索并使用最新服务标记的进程。 可以通过服务标记发现 API 或查看可下载的 JSON 格式的服务标记来自动执行此过程。 
- 使用 AzureIoTHub.[region name] 标记来标识特定区域内 IoT 中心终结点使用的 IP 前缀。 考虑到数据中心灾难恢复或区域故障转移,请确保还启用了到 IoT 中心异地对区域的 IP 前缀的连接。 
- 在 IoT 中心设置防火墙规则可能会阻止针对 IoT 中心运行 Azure CLI 和 PowerShell 命令所需的连接。 为了避免阻止连接,可以为客户端的 IP 地址前缀添加 ALLOW 规则,以重新启用 CLI 或 PowerShell 客户端以与 IoT 中心通信。 
- 在设备的防火墙配置中添加允许规则时,最好提供适用协议使用的特定端口。 
限制和解决方法
- IoT 中心 IP 筛选功能设有 100 条规则的限制。 可以请求 Azure 客户支持人员提高此限制。 
- 默认情况下,配置的 IP 筛选规则仅适用于 IoT 中心 IP 终结点,而不适用于 IoT 中心的内置事件中心终结点。 如果还需要在存储消息的事件中心应用 IP 筛选,则可以在 IoT 中心的网络设置中选择“将 IP 筛选器应用到内置终结点?”选项。 也可通过使用自己的事件中心资源来实现,从中可以直接配置所需的 IP 筛选规则。 在这种情况下,需要预配自己的事件中心资源并设置 消息路由 ,以将消息发送到该资源,而不是 IoT 中心的内置事件中心。 
- IoT 中心服务标记仅包含入站连接的 IP 范围。 若要将其他 Azure 服务的防火墙访问限制为来自 IoT 中心消息路由的数据,请为服务选择适当的“允许受信任的Microsoft服务”选项;例如 ,事件中心、 服务总线或 Azure 存储。 
支持 IPv6
目前 IoT 中心不支持 IPv6。