![Windows Azure VM - 无法使用 Windows 防火墙设置远程 IP 地址限制](https://linux22.com/image/803396/Windows%20Azure%20VM%20-%20%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20Windows%20%E9%98%B2%E7%81%AB%E5%A2%99%E8%AE%BE%E7%BD%AE%E8%BF%9C%E7%A8%8B%20IP%20%E5%9C%B0%E5%9D%80%E9%99%90%E5%88%B6.png)
我已在 Azure 中成功配置了 SQL 2008 VM,添加了映射到端口 1433 的端点,并为入站流量设置了 Windows 防火墙规则以连接到 SQL 服务器。
我想要应用的下一个设置是限制可以访问 SQL 服务器的远程 IP 地址。门户中配置的 Windows Azure 端点不允许 IP 限制,因此我转到 Windows 防火墙高级设置、入站规则,并在防火墙规则的范围设置(远程 IP 地址)中添加了我办公室的 IP 地址。应用这些 IP 地址导致两个位置的访问都被拒绝(通用服务器不存在/不可用消息)。我检查了一遍又一遍,发现范围中有正确的 IP 地址。我删除了 IP 范围设置,然后就可以再次连接了。
关于为什么防火墙/SQL 服务器无法正确应用远程 IP 地址范围设置,您有什么想法吗?
答案1
目前仅支持通过 PowerShell 在端点上设置 IP ACL,不支持通过门户。如果您查看 Michael Washam 的博客文章关于此,您可以查看所有详细信息。本质上,您将执行如下操作:
$acl = New-AzureAclConfig
Set-AzureAclConfig -AddRule Permit -RemoteSubnet "w.x.y.z/24" -Order 1 -ACL $acl -Description "..."
Get-AzureVM -ServiceName myservice -Name myvm |
Set-AzureEndpoint -Name myport -Protocol tcp -PublicPort xxx -LocalPort yyy -ACL $acl |
Update-AzureVM
注意:尝试设置 ACL 时可能会出现错误。我在一些较旧的服务中看到过这种情况,因此我怀疑有一些内部更新来支持较旧部署中不存在的 ACL。只需删除并重新添加需要 ACL 的端点即可轻松修复。