你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
New-AzureRmFirewall
语法
New-AzureRmFirewall
-Name <String>
-ResourceGroupName <String>
-Location <String>
[-VirtualNetworkName <String>]
[-PublicIpName <String>]
[-ApplicationRuleCollection <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSAzureFirewallApplicationRuleCollection]>]
[-NatRuleCollection <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSAzureFirewallNatRuleCollection]>]
[-NetworkRuleCollection <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSAzureFirewallNetworkRuleCollection]>]
[-Tag <Hashtable>]
[-Force]
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
New-AzureRmFirewall cmdlet 创建Azure 防火墙。
示例
1:创建附加到虚拟网络的防火墙
New-AzureRmFirewall -Name "azFw" -ResourceGroupName "rg" -Location centralus -VirtualNetworkName "vnet" -PublicIpName "pip-name"
此示例在与防火墙相同的资源组中创建附加到虚拟网络“vnet”的防火墙。 由于未指定任何规则,防火墙将阻止所有流量 (默认行为) 。
2:创建允许所有 HTTPS 流量的防火墙
$rule = New-AzureRmFirewallApplicationRule -Name R1 -Protocol "https:443" -TargetFqdn "*"
$ruleCollection = New-AzureRmFirewallApplicationRuleCollection -Name RC1 -Priority 100 -Rule $rule -ActionType "Allow"
New-AzureRmFirewall -Name "azFw" -ResourceGroupName "rg" -Location centralus -VirtualNetworkName "vnet" -PublicIpName "pip-name" -ApplicationRuleCollection $ruleCollection
此示例创建一个防火墙,该防火墙允许端口 443 上的所有 HTTPS 流量。
3:DNAT - 将发往 10.1.2.3:80 的流量重定向到 10.2.3.4:8080
$rule = New-AzureRmFirewallNatRule -Name "natRule" -Protocol "TCP" -SourceAddress "*" -DestinationAddress "10.1.2.3" -DestinationPort "80" -TranslatedAddress "10.2.3.4" -TranslatedPort "8080"
$ruleCollection = New-AzureRmFirewallNatRuleCollection -Name "NatRuleCollection" -Priority 1000 -Rule $rule
New-AzureRmFirewall -Name "azFw" -ResourceGroupName "rg" -Location centralus -NatRuleCollection $ruleCollection
此示例创建了一个防火墙,该防火墙将发往 10.1.2.3:80 的所有数据包的目标 IP 和端口转换为 10.2.3.4:8080
参数
-ApplicationRuleCollection
指定新防火墙的应用程序规则集合。
Type: | List<T>[PSAzureFirewallApplicationRuleCollection] |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-AsJob
在后台运行 cmdlet
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
用于与 Azure 通信的凭据、帐户、租户和订阅。
Type: | IAzureContextContainer |
Aliases: | AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
强制运行命令而不要求用户确认。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Location
指定防火墙的区域。
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
指定此 cmdlet 创建的Azure 防火墙的名称。
Type: | String |
Aliases: | ResourceName |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NatRuleCollection
AzureFirewallNatRuleCollections 的列表
Type: | List<T>[PSAzureFirewallNatRuleCollection] |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NetworkRuleCollection
AzureFirewallNetworkRuleCollections 的列表
Type: | List<T>[PSAzureFirewallNetworkRuleCollection] |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PublicIpName
公共 IP 名称。 公共 IP 必须使用标准 SKU,并且必须属于与防火墙相同的资源组。
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ResourceGroupName
指定要包含防火墙的资源组的名称。
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Tag
以哈希表的形式进行键值对。 例如: 。
@{key0=“value0”;key1=$null;key2=“value2”}
Type: | Hashtable |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VirtualNetworkName
指定将为其部署防火墙的虚拟网络的名称。 虚拟网络和防火墙必须属于同一资源组。
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
显示在此 cmdlet 运行的情况下将会发生什么。 此 cmdlet 未运行。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
None
此 cmdlet 不接受任何输入。
输出
Microsoft.Azure.Commands.Network.Models.PSFirewall