@@ -242,15 +242,15 @@ Use [New-AzFirewall](/powershell/module/az.network/new-azfirewall) to create Azu
242
242
243
243
``` azurepowershell
244
244
# Create Azure Firewall
245
- $firewallParams = @{
246
- ResourceGroupName = 'test-rg'
247
- Location = 'South Central US'
248
- Name = 'firewall'
249
- VirtualNetworkName = 'vnet-hub'
250
- PublicIpName = 'public-ip-firewall'
251
- FirewallPolicyId = $firewallPolicy.Id
252
- }
253
- $firewall = New-AzFirewall @firewallParams
245
+ $firewallParams = @{
246
+ ResourceGroupName = 'test-rg'
247
+ Location = 'South Central US'
248
+ Name = 'firewall'
249
+ VirtualNetworkName = 'vnet-hub'
250
+ PublicIpName = 'public-ip-firewall'
251
+ FirewallPolicyId = $firewallPolicy.Id
252
+ }
253
+ $firewall = New-AzFirewall @firewallParams
254
254
```
255
255
256
256
### [ CLI] ( #tab/cli )
@@ -409,6 +409,10 @@ $natGateway = New-AzNatGateway @natGatewayParams
409
409
Use [ Set-AzVirtualNetworkSubnetConfig] ( /powershell/module/az.network/set-azvirtualnetworksubnetconfig ) to associate NAT gateway with AzureFirewallSubnet.
410
410
411
411
``` azurepowershell
412
+ $subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $hubVnet -Name AzureFirewallSubnet
413
+
414
+ $subnet.NatGateway = $natGateway
415
+
412
416
# Associate NAT gateway with AzureFirewallSubnet
413
417
$subnetParams = @{
414
418
VirtualNetwork = $hubVnet
@@ -883,67 +887,72 @@ Traffic from the spoke through the hub must be allowed through and firewall poli
883
887
884
888
### [ PowerShell] ( #tab/powershell )
885
889
886
- Use [ New-AzFirewallPolicyRuleCollectionGroup ] ( /powershell/module/az.network/new-azfirewallpolicyrulecollectiongroup ) to create a rule collection group .
890
+ Use [ Get-AzFirewallPolicy ] ( /powershell/module/az.network/get-azfirewallpolicy ) to get the existing firewall policy .
887
891
888
- ``` azurepowershell
892
+ ``` powershell
893
+ # Get the existing firewall policy
889
894
$firewallPolicyParams = @{
890
895
Name = 'firewall-policy'
891
896
ResourceGroupName = 'test-rg'
892
897
}
893
- $firewallpolicy = Get-AzFirewallPolicy @firewallPolicyParams
894
-
895
- $newNetworkRuleCollectionGroupParams = @{
896
- Name = 'DefaultNetworkRuleCollectionGroup'
897
- Priority = 200
898
- ResourceGroupName = 'test-rg'
899
- FirewallPolicyName = 'firewall-policy'
900
- }
901
- $newnetworkrulecollectiongroup = New-AzFirewallPolicyRuleCollectionGroup @newNetworkRuleCollectionGroupParams
902
-
903
- $networkRuleCollectionGroupParams = @{
904
- Name = 'DefaultNetworkRuleCollectionGroup'
905
- ResourceGroupName = 'test-rg'
906
- AzureFirewallPolicyName = 'firewall-policy'
907
- }
908
- $networkrulecollectiongroup = Get-AzFirewallPolicyRuleCollectionGroup @networkRuleCollectionGroupParams
898
+ $firewallPolicy = Get-AzFirewallPolicy @firewallPolicyParams
909
899
```
910
900
911
901
Use [ New-AzFirewallPolicyNetworkRule] ( /powershell/module/az.network/new-azfirewallpolicynetworkrule ) to create a network rule.
912
902
913
- ``` azurepowershell
903
+ ``` powershell
904
+ # Create a network rule for web traffic
914
905
$networkRuleParams = @{
915
906
Name = 'allow-web'
916
907
SourceAddress = '10.1.0.0/24'
917
908
Protocol = 'TCP'
918
909
DestinationAddress = '*'
919
910
DestinationPort = '80,443'
920
911
}
921
- $networkrule = New-AzFirewallPolicyNetworkRule @networkRuleParams
912
+ $networkRule = New-AzFirewallPolicyNetworkRule @networkRuleParams
922
913
```
923
914
924
- Use [ New-AzFirewallPolicyFilterRuleCollection] ( /powershell/module/az.network/new-azfirewallpolicyfilterrulecollection ) to create a rule collection.
915
+ Use [ New-AzFirewallPolicyFilterRuleCollection] ( /powershell/module/az.network/new-azfirewallpolicyfilterrulecollection ) to create a rule collection for the network rule .
925
916
926
- ``` azurepowershell
927
- $newRuleCollectionConfigParams = @{
917
+ ``` powershell
918
+ # Create a rule collection for the network rule
919
+ $ruleCollectionParams = @{
928
920
Name = 'spoke-to-internet'
929
921
Priority = 100
930
- Rule = $networkrule
922
+ Rule = $networkRule
931
923
ActionType = 'Allow'
932
924
}
933
- $newrulecollectionconfig = New-AzFirewallPolicyFilterRuleCollection @newRuleCollectionConfigParams
934
- $newrulecollection = $networkrulecollectiongroup.Properties.RuleCollection.Add($newrulecollectionconfig)
925
+ $ruleCollection = New-AzFirewallPolicyFilterRuleCollection @ruleCollectionParams
935
926
```
936
927
937
- Use [ Set -AzFirewallPolicyRuleCollectionGroup] ( /powershell/module/az.network/set -azfirewallpolicyrulecollectiongroup ) to update the rule collection group.
928
+ Use [ New -AzFirewallPolicyRuleCollectionGroup] ( /powershell/module/az.network/new -azfirewallpolicyrulecollectiongroup ) to create a rule collection group.
938
929
939
- ``` azurepowershell
940
- $setRuleCollectionGroupParams = @{
941
- Name = 'DefaultNetworkRuleCollectionGroup'
942
- Priority = 200
943
- FirewallPolicyObject = $firewallpolicy
944
- RuleCollection = $networkrulecollectiongroup.Properties.RuleCollection
930
+ ``` powershell
931
+ # Check if DefaultNetworkRuleCollectionGroup exists, create it if not
932
+ $existingRuleCollectionGroup = Get-AzFirewallPolicyRuleCollectionGroup -ResourceGroupName 'test-rg' -AzureFirewallPolicyName 'firewall-policy' -Name 'DefaultNetworkRuleCollectionGroup' -ErrorAction SilentlyContinue
933
+
934
+ if ($null -eq $existingRuleCollectionGroup) {
935
+ # Create a new rule collection group
936
+ $newRuleCollectionGroupParams = @{
937
+ Name = 'DefaultNetworkRuleCollectionGroup'
938
+ Priority = 200
939
+ FirewallPolicyObject = $firewallPolicy
940
+ RuleCollection = $ruleCollection
941
+ }
942
+ New-AzFirewallPolicyRuleCollectionGroup @newRuleCollectionGroupParams
943
+ } else {
944
+ # Add the rule collection to the existing group
945
+ $existingRuleCollectionGroup.Properties.RuleCollection.Add($ruleCollection)
946
+
947
+ # Update the rule collection group
948
+ $updateRuleCollectionGroupParams = @{
949
+ Name = 'DefaultNetworkRuleCollectionGroup'
950
+ Priority = 200
951
+ FirewallPolicyObject = $firewallPolicy
952
+ RuleCollection = $existingRuleCollectionGroup.Properties.RuleCollection
953
+ }
954
+ Set-AzFirewallPolicyRuleCollectionGroup @updateRuleCollectionGroupParams
945
955
}
946
- Set-AzFirewallPolicyRuleCollectionGroup @setRuleCollectionGroupParams
947
956
```
948
957
949
958
### [ CLI] ( #tab/cli )
@@ -1042,7 +1051,7 @@ Use [New-AzNetworkInterface](/powershell/module/az.network/new-aznetworkinterfac
1042
1051
$nicParams = @{
1043
1052
ResourceGroupName = "test-rg"
1044
1053
Name = "nic-1"
1045
- SubnetId = (Get-AzVirtualNetwork -ResourceGroupName "test-rg" -Name "vnet-spoke").Subnets[1 ].Id
1054
+ SubnetId = (Get-AzVirtualNetwork -ResourceGroupName "test-rg" -Name "vnet-spoke").Subnets[0 ].Id
1046
1055
NetworkSecurityGroupId = (Get-AzNetworkSecurityGroup -ResourceGroupName "test-rg" -Name "nsg-1").Id
1047
1056
Location = "southcentralus"
1048
1057
}
0 commit comments