我在 Windows Azure 上有一个虚拟机,它在 Windows Datacenter 2012 上运行 SQL Server 2012,
我想定义一个防火墙规则,以便可以从私有网络(Azure 虚拟网络)中的任何位置以及互联网上的特定 IP 地址访问 SQL 服务器。
我试图在防火墙中定义它,正如人们所想的那样,但我仍然无法从任何地方访问,
后来我发现我应该在 sql server 网络配置/sql server 协议中对 sql server tcp/ip 属性进行一些操作
我尝试使用所有这些属性,但只能达到可以从任何地方访问 SQL 服务器或根本无法访问的情况。
有人能一步一步地告诉我解决这个问题的最佳方法吗?
谢谢。
编辑 :
经过大量努力,我找到了包含两部分的解决方案:
a. 我需要通过 azure powershell 定义 sql 的 tcp 端点,因为如果通过门户完成,它会自动定义负载平衡端口检查,然后还需要在防火墙中启用负载平衡 ip。
b. 我需要打开对 udp 端口 1434 的访问,因为 sql server 使用它来告诉最终用户应该在哪个端口上设置通信
端点 acl 也是一个选项
答案1
有很多资源(博客帖子、文章等)讨论如何设置防火墙,所以我将跳过这部分。对我来说,更有趣的是允许(或阻止)来自互联网的流量。
上周,在 TechEd 上,一个新的端点 ACL引入了该功能(该功能正在生产中;这不是预览版)。借助该功能,您可以指定在给定端点上允许(或阻止)的 IP 范围。IP 范围以 CIDR 格式指定。目前,该功能通过 PowerShell 公开。
Michael Washam 在博客中谈到了这一点,这里。