2015-09-10 20 views
1

創建VNET /子網時遇到了一些困難。我也在使用ASE,因爲我只能使用經典的VNET。將Network Security Group(NSG)關聯到子網

Azure提供兩種類型的VNET。根據您創建它的方式(通過Azure Portal,xplat-cli,舊門戶,powershell),此VNET可以是「經典」(由藍色的「< ...」圖標指示)或「資源管理器圖標「< ...>」以綠色表示)

據我所知,似乎不可能將NSG分配給經典VNET,這是否意味着我無法通過ASE獲得NSG因爲ASE只能ontop的經典VNETs的創建)?這似乎並不正確..

回答

1

假設你使用PowerShell,Set-AzureNetworkSecurityGroupToSubnet cmdlet的服務管理模式將在NSG到子網相關聯。

更新:

PS> Switch-AzureMode AzureServiceManagement 
PS> (Get-AzureVNetSite -VNetName "Group vnetnsg vnetnsg").Subnets 

Name  AddressPrefix ExtensionData 
----  ------------- ------------- 
default 10.0.0.0/24 
subnet-1 10.0.1.0/24 

PS> New-AzureNetworkSecurityGroup -Name "NsgOnSubnet" -Location "West Europe" 

Name  Location Label 
----  -------- ----- 
NsgOnSubnet West Europe 

PS> Set-AzureNetworkSecurityGroupToSubnet -Name NsgOnSubnet -VirtualNetworkName "Group vnetnsg vnetnsg" -SubnetName "subnet-1" 
PS> Get-AzureNetworkSecurityGroupAssociation -VirtualNetworkName "Group vnetnsg vnetnsg" -SubnetName "subnet-1" 

Name  Location Label 
----  -------- ----- 
NsgOnSubnet West Europe 
+0

該命令僅適用於VNET是「資源管理器」的情況。就我而言,我需要將NSG關聯到VNET創建爲「Classic」的子網。 – Cesar

+0

請參閱服務管理中的更新示例,即「經典」VNets。如果您無法將NSG與VNet中的子網相關聯,請提供您正在運行的命令。 – MrBink

+0

使用給定的powershell cmdlet它的工作原理!這似乎是現在設置它的唯一可能的方式(使用powershell)..當VNET創建爲「Classic」時,NSG選項僅可通過Portal使用。 我不知道這是否仍在Microsoft開發中。我必須使用多種方式來配置Azure才能使我的環境正常工作。一些功能特定於PowerShell,xplat-cli,舊天青門戶或預覽天藍門戶。哪一個是不好的:/ Thx,MrBink。 – Cesar

1

This Microsoft article說明在何處NSGs可以在經典和ARM部署方法被應用,並沒有指定整個互聯星空;你有最接近的選擇是子網,它應該提供相同的功能;即使您必須將相同的NSG應用於多個子網(如果您擁有多個子網)。

如果您想阻止相同子網中的虛擬機之間的流量,則需要將NSG應用於VM(經典)或NIC(ARM)。

有一個很棒的ARM模板here,它顯示瞭如何設置NSG並將它們應用到子網。如果你想要做同樣的NIC,請參閱下面的提取物(假設NSG已經創建):

{ 
    "apiVersion": "2015-06-15", 
    "type": "Microsoft.Network/networkInterfaces", 
    "name": "nicName", 
    "location": "[resourceGroup().location]", 
    "properties": { 
    "ipConfigurations": [ 
     { 
     "name": "yourNICName", 
     "properties": { 
      "networkSecurityGroup": { 
      "id": "[resourceId('Microsoft.Network/networkSecurityGroups', parameters('yourNSGName'))]" 
      }, 
      "privateIPAllocationMethod": "Dynamic", 
      "subnet": { 
      "id": "[variables('yourSubnetRef')]" 
      } 
     } 
     } 
    ] 
    } 
}, 
0

對於互聯星空和網絡安全組使用資源管理器部署模型

New-AzureRmResourceGroup -Name TestResourceGroup -Location centralus 
$frontendSubnet = New-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix "10.0.1.0/24" 

$virtualNetwork = New-AzureRmVirtualNetwork -Name MyVirtualNetwork -ResourceGroupName TestResourceGroup -Location 
centralus -AddressPrefix "10.0.0.0/16" -Subnet $frontendSubnet 

$rdpRule = New-AzureRmNetworkSecurityRuleConfig -Name rdp-rule -Description "Allow RDP" -Access Allow -Protocol 
Tcp -Direction Inbound -Priority 100 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * 
-DestinationPortRange 3389 

$networkSecurityGroup = New-AzureRmNetworkSecurityGroup -ResourceGroupName TestResourceGroup -Location centralus 
-Name "NSG-FrontEnd" -SecurityRules $rdpRule 

Set-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -VirtualNetwork $virtualNetwork -AddressPrefix 
"10.0.1.0/24" -NetworkSecurityGroup $networkSecurityGroup 
$virtualNetwork | Set-AzureRmVirtualNetwork 
創建

本示例使用一個僅包含一個子網的虛擬網絡創建資源組。然後它創建一個帶有RDP通信允許規則的網絡安全組。 Set-AzureRmVirtualNetworkSubnetConfig cmdlet爲 ,用於修改前端子網的內存中表示,以便它指向新創建的網絡 安全組。然後調用Set-AzureRmVirtualNetwork cmdlet將修改後的狀態寫回到 服務。

相關問題