Skip to content

Commit 2f2fb1d

Browse files
committed
fixes
1 parent 5aa0e7d commit 2f2fb1d

File tree

1 file changed

+53
-44
lines changed

1 file changed

+53
-44
lines changed

articles/nat-gateway/tutorial-hub-spoke-nat-firewall.md

Lines changed: 53 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -242,15 +242,15 @@ Use [New-AzFirewall](/powershell/module/az.network/new-azfirewall) to create Azu
242242

243243
```azurepowershell
244244
# 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
254254
```
255255

256256
### [CLI](#tab/cli)
@@ -409,6 +409,10 @@ $natGateway = New-AzNatGateway @natGatewayParams
409409
Use [Set-AzVirtualNetworkSubnetConfig](/powershell/module/az.network/set-azvirtualnetworksubnetconfig) to associate NAT gateway with AzureFirewallSubnet.
410410

411411
```azurepowershell
412+
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $hubVnet -Name AzureFirewallSubnet
413+
414+
$subnet.NatGateway = $natGateway
415+
412416
# Associate NAT gateway with AzureFirewallSubnet
413417
$subnetParams = @{
414418
VirtualNetwork = $hubVnet
@@ -883,67 +887,72 @@ Traffic from the spoke through the hub must be allowed through and firewall poli
883887

884888
### [PowerShell](#tab/powershell)
885889

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.
887891

888-
```azurepowershell
892+
```powershell
893+
# Get the existing firewall policy
889894
$firewallPolicyParams = @{
890895
Name = 'firewall-policy'
891896
ResourceGroupName = 'test-rg'
892897
}
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
909899
```
910900

911901
Use [New-AzFirewallPolicyNetworkRule](/powershell/module/az.network/new-azfirewallpolicynetworkrule) to create a network rule.
912902

913-
```azurepowershell
903+
```powershell
904+
# Create a network rule for web traffic
914905
$networkRuleParams = @{
915906
Name = 'allow-web'
916907
SourceAddress = '10.1.0.0/24'
917908
Protocol = 'TCP'
918909
DestinationAddress = '*'
919910
DestinationPort = '80,443'
920911
}
921-
$networkrule = New-AzFirewallPolicyNetworkRule @networkRuleParams
912+
$networkRule = New-AzFirewallPolicyNetworkRule @networkRuleParams
922913
```
923914

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.
925916

926-
```azurepowershell
927-
$newRuleCollectionConfigParams = @{
917+
```powershell
918+
# Create a rule collection for the network rule
919+
$ruleCollectionParams = @{
928920
Name = 'spoke-to-internet'
929921
Priority = 100
930-
Rule = $networkrule
922+
Rule = $networkRule
931923
ActionType = 'Allow'
932924
}
933-
$newrulecollectionconfig = New-AzFirewallPolicyFilterRuleCollection @newRuleCollectionConfigParams
934-
$newrulecollection = $networkrulecollectiongroup.Properties.RuleCollection.Add($newrulecollectionconfig)
925+
$ruleCollection = New-AzFirewallPolicyFilterRuleCollection @ruleCollectionParams
935926
```
936927

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.
938929

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
945955
}
946-
Set-AzFirewallPolicyRuleCollectionGroup @setRuleCollectionGroupParams
947956
```
948957

949958
### [CLI](#tab/cli)
@@ -1042,7 +1051,7 @@ Use [New-AzNetworkInterface](/powershell/module/az.network/new-aznetworkinterfac
10421051
$nicParams = @{
10431052
ResourceGroupName = "test-rg"
10441053
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
10461055
NetworkSecurityGroupId = (Get-AzNetworkSecurityGroup -ResourceGroupName "test-rg" -Name "nsg-1").Id
10471056
Location = "southcentralus"
10481057
}

0 commit comments

Comments
 (0)