尽管对所有区域应用了相同的规则,但与 Microsoft Azure MS-SQL 的连接在某些区域正常工作,但在其他区域则失败
14261
Created On 06/21/24 09:57 AM - Last Modified 08/14/24 01:42 AM
Symptom
- 用户已连接到 GlobalProtect 并尝试访问 Azure MS-SQL
- 它适用于某些网关位置,但不适用于同一用户的其他网关位置,尽管对所有网关应用了相同的策略。
Environment
- 棱镜访问
- 全球保护
Cause
有三种方法可以连接到 Azure SQL DB:默认、重定向和代理。
- 重定向:用户首先将连接到端口 1433 上的 Azure 网关,然后,用户将重定向到 11000-11999 之间的端口上的数据库。
- 代理:用户将连接到端口 1433 上的 Azure 网关,该 Azure 网关将充当客户端和 SQL DB 服务器之间的代理。
- 默认值:对于源自 Azure 内部的所有客户端连接,默认策略为“重定向”,对于源自外部的所有客户端连接,默认策略为“代理”。 默认情况下,使用默认连接模式。
- 默认情况下,从 Azure 端选择“默认”模式。 (参考: Azure-网关 IP 地址)
- Azure 对其基础结构进行了一些更改,现在更多的连接被视为“最初在内部”
- 因此,使用重定向模式而不是代理模式。
- 问题开始了,因为 mssql-db 应用程序默认不允许使用 TCP/11000-11999 范围。
Resolution
可以使用以下方法之一来解决此问题。
在 Palo Alto 防火墙上:
- 允许 TCP/1433 和 TCP/11000-11999 上的 mssql-db 应用程序成功连接到 Azure SQL。
- 使用此选项时,将允许重定向和代理模式连接,因此,无论 Azure 决定使用重定向还是代理进行连接,这两种模式都是允许的。
- 在 Azure 仪表板的“SQL 数据库”>“网络>连接”下,选择“代理”而不是“默认”。
- 这将强制所有连接使用代理。