我们有一个堡垒主机,我们已在其上配置了网络安全组。目的是使用管理工作室连接 SQL PaaS。对于绑定到堡垒主机的 NSG,我们定义了两个出站规则:
1000 SQLConnect 任何 Internet 1433 允许
4000 DefaultOutb 任何 Internet 所有端口 拒绝
我无法从堡垒主机连接到 SQL PaaS。当我删除 4000 规则时,我可以连接。由于 NSG 是无状态的,我试图找出为什么它不起作用。任何帮助我都非常感谢。
答案1
这是设计行为,在您定义两个出站规则后,NSG 将仅允许端口 1433 流量出站,其他端口将拒绝。
您使用的是哪个版本的 Azure SQL 数据库?如果您的 SQL 版本是 V12,则需要在出站规则中允许其他端口。
当您的客户端在 Azure 云边界内运行时,它使用我们所谓的直接路由与 SQL 数据库服务器进行交互。建立连接后,客户端和数据库之间的进一步交互不再涉及中间件代理。
确保 Azure 客户端计算机上的 11000-11999 和 14000-14999 端口范围可供 ADO.NET 4.5 客户端与 SQL Database V12 交互。
特别是,该范围内的端口必须没有任何其他出站阻止程序。
有关使用 ADO.NET 4.5 或更高版本的客户端的连接行为的更多信息,请参阅关联。