登录VPN后移除家庭IP仍无法访问Azure存储账户的连接问题
Azure存储账户VPN连接异常排查方案
核心现象:已登录VPN状态下,将家庭IP从存储账户访问白名单移除后,无法正常访问存储资源。结合你已完成的排查操作,按以下优先级逐一定位即可:
优先确认VPN实际出口IP
- 登录VPN后先查询当前访问公网的实际出口IP,绝大多数P2S VPN、第三方商用VPN默认采用分流模式,仅访问指定内网网段时走VPN隧道,访问Azure公网类存储资源时仍然走本地家庭宽带出口——这是此类场景下最常见的故障原因
- 拿到VPN真实出口IP后,需要同时在两层访问控制中加白,缺任意一层都会被拦截:
- 存储账户自带的「防火墙和虚拟网络」访问白名单,存储账户原生ACL优先级高于子网/网卡NSG,未在此处加白的流量会被存储直接丢弃,根本不会到达NSG层面
- 存储账户所在子网、对应网卡绑定的NSG入站允许规则
校验存储账户侧网络配置
- 确认存储账户网络配置页选中的是「所选网络」访问模式,排除配置漂移导致的默认拦截
- 如果你的VPN是对接Azure VNet的点到站点VPN,检查VNet子网是否开启了Microsoft.Storage服务终结点:开启服务终结点后,VNet内流量会通过Azure骨干网直达存储,此时白名单需要加的是VPN客户端的地址池网段,而非VPN网关的公网IP
- 如果你为存储账户配置了专用终结点,先在VPN连接状态下解析存储账户域名,确认返回的是专用终结点对应的内网IP,避免DNS解析指向公网终结点导致流量走公网链路被拦截
排查NSG及链路拦截问题
- 你之前调整NSG规则优先级、手动加白IP后仍然不通,大概率是流量在到达NSG前已经被存储账户原生防火墙拦截,完成前两步存储侧配置校验后再验证NSG规则即可
- 校验NSG规则不需要反复手动调整测试,直接用Azure网络观察程序的IP流验证功能,填入客户端IP、存储账户访问IP、443端口、TCP协议,工具会直接告知是哪条NSG规则拦截了流量
- 检查VPN网关是否配置了源NAT、流量筛选策略,避免VPN侧做了地址转换,导致实际到达存储的源IP和你加白的IP不一致
校准连通性测试方法
- 不要仅用浏览器访问测试连通性,本地执行命令测试TCP层连通性,避免浏览器缓存、本地代理干扰结果:
- Windows PowerShell执行:
Test-NetConnection <你的存储账户名>.table.core.windows.net -Port 443 - 类Unix系统执行:
nc -zv <你的存储账户名>.table.core.windows.net 443
- Windows PowerShell执行:
- 测试前清空本地DNS缓存,避免旧解析记录导致流量走错路径:
- Windows执行:
ipconfig /flushdns - Linux执行:
sudo systemd-resolve --flush-caches
- Windows执行:
你已完成的排查操作已经覆盖了基础白名单有效性校验,核心遗漏点集中在VPN分流导致的出口IP判断错误、存储原生ACL和NSG的优先级差异两方面,按上述步骤排查即可快速定位根因。
内容的提问来源于stack exchange,提问作者CloudRookie
相关产品推荐
相关产品推荐

