New-AzFirewallNatRuleCollection

建立防火牆 NAT 規則的集合。

Syntax

New-AzFirewallNatRuleCollection
   -Name <String>
   -Priority <UInt32>
   -Rule <PSAzureFirewallNatRule[]>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

New-AzFirewallNatRuleCollection Cmdlet 會建立防火牆 NAT 規則的集合。

範例

範例 1:使用一個規則建立集合

$rule1 = New-AzFirewallNatRule -Name "natRule" -Protocol "TCP" -SourceAddress "*" -DestinationAddress "10.0.0.1" -DestinationPort "80" -TranslatedAddress "10.0.0.2" -TranslatedPort "8080"
New-AzFirewallNatRuleCollection -Name "MyNatRuleCollection" -Priority 1000 -Rule $rule1

此範例會建立具有一個規則的集合。 符合 $rule 1 中所識別條件的所有流量都會是 DNAT,以轉譯地址和埠。

範例 2:將規則新增至規則集合

$rule1 = New-AzFirewallNatRule -Name R1 -Protocol "UDP","TCP" -SourceAddress "*" -DestinationAddress "10.0.0.1" -DestinationPort "80" -TranslatedAddress "10.0.0.2" -TranslatedPort "8080"
$ruleCollection = New-AzFirewallNatRuleCollection -Name "MyNatRuleCollection" -Priority 100 -Rule $rule1

$rule2 = New-AzFirewallNatRule -Name R2 -Protocol "TCP" -SourceAddress "*" -DestinationAddress "10.0.0.1" -DestinationPort "443" -TranslatedAddress "10.0.0.2" -TranslatedPort "8443"
$ruleCollection.AddRule($rule2)

此範例會使用一個規則建立新的 NAT 規則集合,然後使用規則集合物件上的 AddRule 方法,將第二個規則新增至規則集合。 指定規則集合中的每個規則名稱都必須有唯一的名稱,而且不區分大小寫。

範例 3:從規則集合取得規則

$rule1 = New-AzFirewallNatRule -Name R1 -Protocol "TCP" -SourceAddress "10.0.0.0/24" -DestinationAddress "10.0.1.0/24" -DestinationPort "443" -TranslatedAddress "10.0.0.2" -TranslatedPort "8443"
$ruleCollection = New-AzFirewallNatRuleCollection -Name "MyNatRuleCollection" -Priority 100 -Rule $rule1

$rule=$ruleCollection.GetRuleByName("r1")

此範例會使用一個規則建立新的 NAT 規則集合,然後在規則集合物件上呼叫方法 GetRuleByName,依名稱取得規則。 GetRuleByName 方法的規則名稱不區分大小寫。

範例 4:從規則集合移除規則

$rule1 = New-AzFirewallNatRule -Name R1 -Protocol "UDP","TCP" -SourceAddress "*" -DestinationAddress "10.0.0.1" -DestinationPort "80" -TranslatedAddress "10.0.0.2" -TranslatedPort "8080"
$rule2 = New-AzFirewallNatRule -Name R2 -Protocol "TCP" -SourceAddress "*" -DestinationAddress "10.0.0.1" -DestinationPort "443" -TranslatedAddress "10.0.0.2" -TranslatedPort "8443"
$ruleCollection = New-AzFirewallNatRuleCollection -Name "MyNatRuleCollection" -Priority 100 -Rule $rule1, $rule2
$ruleCollection.RemoveRuleByName("r1")

此範例會建立具有兩個規則的新 NAT 規則集合,然後在規則集合物件上呼叫 RemoveRuleByName 方法,從規則集合中移除第一個規則。 RemoveRuleByName 方法的規則名稱不區分大小寫。

參數

-Confirm

執行 Cmdlet 之前先提示您確認。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

指定此 NAT 規則的名稱。 名稱在規則集合內必須是唯一的。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Priority

指定此規則的優先順序。 優先順序是介於 100 到 65000 之間的數位。 數位越小,優先順序就越大。

Type:UInt32
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Rule

指定要在此集合下分組的規則清單。

Type:PSAzureFirewallNatRule[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

None

輸出

PSAzureFirewallNatRuleCollection