Azure SQL私有端点无法通过S2S VPN从本地连通求助
问题概述
已部署Azure SQL PaaS及私有端点(PE),通过S2S VPN连接Azure中心辐射架构(1个中心VNet+3个对等互联的辐射VNet),本地客户端用psping测试PE IP始终超时,但同辐射VNet内的VNet注入式PostgreSQL Flexible服务器可正常连通。已知PE不支持ICMP流量,Azure SQL已关闭公网访问且PE已列为批准的私有连接方式,暂未配置本地DNS条件转发器(仅测试IP连通性)。
排查步骤
检查私有端点子网的NSG规则
确认PE所在子网的网络安全组(NSG)是否添加了入站允许规则,允许来自本地VPN地址范围的TCP 1433端口(或自定义SQL端口)流量。注意:私有端点子网的NSG默认拒绝所有入站流量,需手动配置针对性规则。验证路由表配置
- 检查中心VNet网关子网的路由表,是否存在指向PE所在辐射VNet的路由条目;
- 检查PE所在辐射VNet子网的路由表,是否配置了将本地VPN流量指向中心VNet的路由;
- 确认无更具体的路由条目覆盖上述规则,导致流量走错误路径。
检查VPN网关状态与路由传播
确认S2S VPN网关连接状态为「已连接」,若使用BGP协议,需确保中心VNet路由表已启用BGP路由传播;若使用静态路由,需确认已添加本地网络到PE所在辐射VNet的静态路由条目。测试同VNet内PE连通性
在PE所在的辐射VNet中部署一台测试VM,执行psping <PE_IP>:1433测试连通性:- 若同VNet内也不通,说明PE本身配置异常(如未正确关联SQL服务器、私有连接审批未完成);
- 若同VNet内能通,问题集中在跨VPN的路由或NSG规则上。
检查Azure防火墙规则(若有部署)
若中心VNet部署了Azure防火墙,需确认防火墙规则允许本地网络到SQL PE IP的TCP 1433端口流量,同时验证防火墙路由是否正确转发流量至目标辐射VNet。确认本地网络路由配置
在本地客户端执行route print(Windows)或ip route show(Linux),确认目标PE IP的路由下一跳指向本地VPN网关,确保本地流量能正确进入VPN隧道。
内容的提问来源于stack exchange,提问作者Theo F

