我有非常具体的问题,希望得到一些答案。
以下是我的情况,
问题: 当我从 VNET1 中的虚拟机执行 nslookup 时,我获得了私有 IP 地址(这是预期的)。当我从 VNET2 中的虚拟机进行 nslookup 时,我获得了公共 IP 地址(这也是我从另一篇文章Azure VNet 对等互连与专用链接 中得到的响应所期望的)。我得到的解决方案是在私有 DNS 区域中添加 VNET 链接。
我真正的问题是,为什么即使在获取存储帐户的 nslookup 的公共 IP 地址之后,我也能够从 VNET2 中的 VM 执行所有操作(上传 blob/创建容器)?
还用我的拓扑创建了图表
根据MsDoc
根据设计,从可信服务访问存储帐户的优先级高于其他网络访问限制。如果您在之前将公共网络访问设置为从选定的虚拟网络和 IP 地址启用后将其设置为禁用,则之前配置的任何资源实例和例外,包括允许受信任的 Azure 服务用于访问此存储帐户的服务列表将保持有效。因此,这些资源和服务可能仍然可以访问存储帐户。
这意味着,如果您之前从受信任的服务(例如 Azure 服务或特定的虚拟网络和 IP 地址)授予对存储帐户的访问权限,然后禁用了对该存储帐户的公共网络访问,则受信任的服务和虚拟网络将保留之前的配置对于可信服务可能仍然有效。
在您的情况下,在您禁用对存储帐户的公共网络访问之前,受信任的服务似乎已被授予从 VNET2 访问存储帐户的权限。这就是为什么即使公共网络访问被禁用,您仍然能够从 VNET2 访问存储帐户。