You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用专用终结点后PowerShell Resolve-DnsName无法正常工作

问题原因与解决方法

原因分析

当你为Azure存储账户创建专用终结点后,Azure公共DNS的配置会发生以下变化:

  1. 存储账户的公网域名(stgweb.blob.core.windows.net)会被设置为CNAME指向对应的私链接域名(stgweb.privatelink.blob.core.windows.net)。
  2. 由于你未禁用存储账户的公网访问权限,Azure会同时在公共DNS中为该私链接域名添加CNAME记录,指向原公网存储节点域名(blob.syd25prdstr01a.store.core.windows.net),最终可解析到公网IP。

Resolve-DnsName和nslookup的解析行为差异源于:

  • nslookup是独立的DNS查询工具,会完整递归解析整个CNAME链,不受Windows系统的私有域名解析策略限制,因此能正常追踪到最终的公网A记录。
  • Resolve-DnsName依赖Windows系统DNS客户端,而Windows对.privatelink.后缀的域名有默认解析策略(优先使用私有DNS服务器、或阻止公共网络下的递归解析),导致解析到私链接域名后无法继续追踪后续CNAME,最终返回“DNS名称不存在”。

该现象会出现在所有配置了专用终结点的Azure资源上,因为它们的DNS配置逻辑完全一致。

解决方法

方法1:指定公共DNS服务器解析

使用Resolve-DnsName的-Server参数指定公共DNS服务器(如Google的8.8.8.8或Cloudflare的1.1.1.1),绕过系统默认的DNS策略:

Resolve-DnsName -Name stgweb.blob.core.windows.net -Server 8.8.8.8

方法2:手动追踪CNAME链

如果需要使用系统默认DNS服务器,可以分步骤解析CNAME链:

# 1. 查询原域名的CNAME记录
Resolve-DnsName -Name stgweb.blob.core.windows.net -Type CNAME

# 2. 查询私链接域名的CNAME记录
Resolve-DnsName -Name stgweb.privatelink.blob.core.windows.net -Type CNAME

# 3. 查询最终公网节点的A记录
Resolve-DnsName -Name blob.syd25prdstr01a.store.core.windows.net -Type A

方法3:修改系统DNS策略(可选)

如果你的Windows系统配置了针对.privatelink.blob.core.windows.net域名的特殊DNS规则(如本地hosts文件、DNS转发器),可以删除或调整这些规则,让系统允许公共网络下的递归解析。

内容的提问来源于stack exchange,提问作者Mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 03:11:51