2016-02-14 60 views
0

我有一臺運行SQL Server的虛擬機。我在Windows防火牆上打開了端口1433,並在相應的雲服務轉發端口57501至1433上打開了端點。我沒有在該端點上指定任何ACL。我希望端點只能從VM存在的VNet中的特定子網訪問。Azure Cloud Service Endpoint for VM只允許內部訪問

如果我在ACL中設置它,它不起作用 - ACL似乎只關心客戶端的公共IP。由於公有知識產權可能會發生變化,因此這不是一種選擇。

這裏推薦的方法是什麼?請注意,我不想直接連接到VM主機名,因爲我想使用雲服務爲我設置的CNAME(實際的Windows計算機名稱是一個隨機的長字符串)。

+0

我建議設置NSGs(網絡安全組) – opHASnoNAME

+0

因此網絡安全組將配對好與雲服務的終點,即使端點URL是恥骨IP? – Jeff

回答

0

NSGs對虛擬機或雲服務角色實例級別的入站/出站流量應用規則。

注意 NSG的默認規則允許虛擬網絡內的流量和出站到Internet。所有其他流量默認被拒絕。您需要明確指定規則來更改此行爲或允許任何其他流量進出。

您可以創建一個如下所示的NSG規則,以僅允許來自VNet內特定子網的流量。

Get-AzureNetworkSecurityGroup -Name "NSG-FrontEnd" ` 
| Set-AzureNetworkSecurityRule -Name rdp-rule ` 
    -Action Allow -Protocol TCP -Type Inbound -Priority 100 ` 
    -SourceAddressPrefix 192.168.1.0/24 -SourcePortRange '*' ` 
    -DestinationAddressPrefix '*' -DestinationPortRange '1433' 
+0

正確...但是當流量通過雲端服務端點時,SourceDestinationPrefix是雲服務端點IP,而不是互聯網VNet子網......對吧? – Jeff

+0

是的,我錯過了試圖使用雲服務的CNAME訪問SQL服務器的觀點。這樣你就可以通過互聯網可路由的IP地址。這與您要求從特定子網訪問SQL服務器的要求相矛盾。 相反,您可以使用靜態VNET IP地址設置SQL服務器,設置NSG規則以允許訪問子網,並使用靜態IP地址從該子網內進行連接。 請參閱https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-reserved-private-ip/。 –