Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze zelfstudie laat zien hoe u Azure Firewall implementeert met NAT Gateway V2 (StandardV2 SKU) voor zone-redundante uitgaande SNAT. U implementeert ook een virtuele testmachine en Azure Bastion om de configuratie te controleren.
Azure Firewall biedt 2496 SNAT-poorten per openbaar IP-adres dat is geconfigureerd per instantie van de virtuele-machineschaalset van de back-end (ten minste twee exemplaren). U kunt maximaal 250 openbare IP-adressen koppelen. Als u uitgaande SNAT-poorten wilt schalen en dynamisch wilt toewijzen, gebruikt u Azure NAT Gateway.
Waarom NAT Gateway V2?
De Standard NAT Gateway-SKU biedt geen ondersteuning voor zone-redundante implementaties. Als u een zoneredundante Azure Firewall implementeert met een Standard NAT-gateway, wordt de NAT-gateway een single point of failure tijdens een zonegebonden storing. NAT Gateway V2 (StandardV2 SKU) ondersteunt zone-redundante implementaties, waardoor het de aanbevolen keuze is bij het integreren met een zone-redundante Azure Firewall.
Zie NAT Gateway-SKU's voor meer informatie over NAT Gateway-SKU's.
Opmerking
In het artikel SNAT-poorten schalen met Azure NAT Gateway wordt de integratie met Standard NAT Gateway beschreven. In deze handleiding wordt de StandardV2-SKU (V2) beschreven, waarmee zone-redundante ondersteuning wordt toegevoegd.
Verkeersafwikkeling
Wanneer u NAT Gateway V2 koppelt aan het AzureFirewallSubnet, gebruikt binnenkomend en uitgaand verkeer verschillende openbare IP-adressen:
- Uitgaand verkeer (SNAT) stroomt via het openbare IP-adres van de NAT-gateway V2.
- Binnenkomend verkeer (DNAT) loopt via het eigen openbare IP-adres van Azure Firewall.
- Beheerverkeer (statustests, rapportage van metrische gegevens en platformbeheer) maakt gebruik van het eigen openbare IP-adres van Azure Firewall. De firewall heeft nog steeds een eigen openbaar IP-adres nodig, zelfs wanneer een NAT-gateway uitgaande SNAT verwerkt.
Deze architectuur maakt geen gebruik van dubbele NAT. Azure Firewall-exemplaren verzenden verkeer naar de NAT-gateway met behulp van hun privé-IP-adres in plaats van het openbare IP-adres van Azure Firewall.
| Verkeerstype | Openbaar IP-adres gebruikt |
|---|---|
| Uitgaand (SNAT) | NAT-gateway versie 2 PIP |
| Inkomend (DNAT) | Azure Firewall PIP |
| Beheer- en gezondheidstests | Azure Firewall PIP |
In deze handleiding leer je hoe je:
- Maak een virtueel netwerk met een AzureFirewallSubnet, workloadsubnet en AzureBastionSubnet.
- Maak een NAT Gateway V2 met een openbaar STANDAARDV2-IP-adres en koppel deze aan het firewallsubnet.
- Implementeer een Azure Firewall en configureer een firewallbeleid met toepassings- en netwerkregels.
- Maak een routetabel om verkeer via de firewall te verzenden.
- Implementeer een test-VM en Azure Bastion om te controleren of uitgaande SNAT gebruikmaakt van het openbare IP-adres van de NAT Gateway V2.
Vereiste voorwaarden
- Een Azure-abonnement. Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.
- Azure CLI versie 2.78 of hoger. Voer
az --versionuit om de versie te vinden. Als u Azure CLI wilt installeren of upgraden, raadpleegt u Azure CLI installeren.
Een brongroep maken
Gebruik az group create om een resourcegroep te maken voor de implementatie.
az group create \
--name rg-azfw-natgwv2-test \
--location eastus2
Het virtuele netwerk en subnetten maken
Maak een virtueel netwerk met drie subnetten:
- AzureFirewallSubnet : vereiste naam voor Azure Firewall (ten minste /26).
- workload-subnet : fungeert als host voor de virtuele testmachine.
- AzureBastionSubnet : vereiste naam voor Azure Bastion (ten minste /26).
Gebruik az network vnet create om het virtuele netwerk te maken met het eerste subnet. Gebruik vervolgens az network vnet subnet create om de resterende subnetten toe te voegen.
az network vnet create \
--resource-group rg-azfw-natgwv2-test \
--name vnet-azfw-natgwv2 \
--address-prefixes 10.0.0.0/16 \
--subnet-name AzureFirewallSubnet \
--subnet-prefixes 10.0.1.0/24 \
--location eastus2
az network vnet subnet create \
--resource-group rg-azfw-natgwv2-test \
--vnet-name vnet-azfw-natgwv2 \
--name workload-subnet \
--address-prefixes 10.0.2.0/24
az network vnet subnet create \
--resource-group rg-azfw-natgwv2-test \
--vnet-name vnet-azfw-natgwv2 \
--name AzureBastionSubnet \
--address-prefixes 10.0.3.0/26
De NAT-gateway V2 maken
VOOR NAT Gateway V2 is een openbaar IP-adres van standardV2-SKU vereist. U kunt geen openbaar IP-adres van een standard-SKU koppelen aan een StandardV2 NAT-gateway.
Gebruik az network public-ip create om de StandardV2 openbare IP-adres te maken. Gebruik vervolgens az network nat gateway create om de NAT-gateway te maken.
az network public-ip create \
--resource-group rg-azfw-natgwv2-test \
--name pip-natgw-v2 \
--sku StandardV2 \
--allocation-method Static \
--location eastus2
az network nat gateway create \
--resource-group rg-azfw-natgwv2-test \
--name natgw-v2 \
--sku StandardV2 \
--public-ip-addresses pip-natgw-v2 \
--idle-timeout 4 \
--location eastus2
De NAT Gateway V2 koppelen aan het AzureFirewallSubnet
Gebruik az network vnet subnet update om de NAT-gateway te koppelen aan het firewallsubnet.
az network vnet subnet update \
--resource-group rg-azfw-natgwv2-test \
--vnet-name vnet-azfw-natgwv2 \
--name AzureFirewallSubnet \
--nat-gateway natgw-v2
De Azure Firewall maken
De firewall heeft een eigen openbaar IP-adres nodig voor beheer en binnenkomend DNAT. Een standaard-SKU openbaar IP-adres is standaard zone-redundant, zodat deze overeenkomt met de zone-redundante firewallimplementatie.
Gebruik az network public-ip create om het openbare IP-adres van de firewall te maken, gebruik az network firewall create om de firewall te implementeren en gebruik az network firewall ip-config create om deze te koppelen aan het virtuele netwerk.
az network public-ip create \
--resource-group rg-azfw-natgwv2-test \
--name pip-azfw \
--sku Standard \
--allocation-method Static \
--location eastus2
az network firewall create \
--resource-group rg-azfw-natgwv2-test \
--name azfw-natgwv2-test \
--location eastus2 \
--sku AZFW_VNet \
--tier Standard \
--zones 1 2 3
az network firewall ip-config create \
--resource-group rg-azfw-natgwv2-test \
--firewall-name azfw-natgwv2-test \
--name azfw-ipconfig \
--public-ip-address pip-azfw \
--vnet-name vnet-azfw-natgwv2
Gebruik az network firewall show om het privé IP-adres van de firewall op te halen.
FIREWALL_PRIVATE_IP=$(az network firewall show \
--resource-group rg-azfw-natgwv2-test \
--name azfw-natgwv2-test \
--query "ipConfigurations[0].privateIPAddress" \
--output tsv)
echo $FIREWALL_PRIVATE_IP
Een routeringstabel maken
Gebruik az network route-table create om een routetabel te maken, gebruik az network route-table route create om een standaardroute toe te voegen waarmee al het verkeer naar de Azure Firewall wordt verzonden en gebruik az network vnet subnet update om deze te koppelen aan het workloadsubnet.
az network route-table create \
--resource-group rg-azfw-natgwv2-test \
--name rt-workload \
--location eastus2
az network route-table route create \
--resource-group rg-azfw-natgwv2-test \
--route-table-name rt-workload \
--name default-to-firewall \
--address-prefix 0.0.0.0/0 \
--next-hop-type VirtualAppliance \
--next-hop-ip-address $FIREWALL_PRIVATE_IP
az network vnet subnet update \
--resource-group rg-azfw-natgwv2-test \
--vnet-name vnet-azfw-natgwv2 \
--name workload-subnet \
--route-table rt-workload
Een firewallbeleid maken
Maak een firewallbeleid en koppel dit aan Azure Firewall. Voeg zowel netwerkregels als toepassingsregels toe.
Aanbeveling
Webverkeer (HTTP of HTTPS) toestaan met behulp van netwerkregels of toepassingsregels. Gebruik toepassingsregels voor webverkeer. Toepassingsregels bieden filteren op basis van FQDN, TLS-inspectie en URL-filtering die niet beschikbaar zijn met netwerkregels.
Gebruik az network firewall policy create om het beleid te maken.
az network firewall policy create \
--resource-group rg-azfw-natgwv2-test \
--name policy-azfw-natgwv2 \
--location eastus2 \
--sku Standard
Gebruik az network firewall policy rule-collection-group create om een netwerkregelverzamelingsgroep te maken en voeg-filter-verzameling toe om een regel toe te voegen waarmee TCP- en UDP-verkeer vanuit het workloadsubnet wordt toegestaan.
az network firewall policy rule-collection-group create \
--resource-group rg-azfw-natgwv2-test \
--policy-name policy-azfw-natgwv2 \
--name DefaultNetworkRuleCollectionGroup \
--priority 200
az network firewall policy rule-collection-group collection add-filter-collection \
--resource-group rg-azfw-natgwv2-test \
--policy-name policy-azfw-natgwv2 \
--rule-collection-group-name DefaultNetworkRuleCollectionGroup \
--name allow-outbound \
--collection-priority 100 \
--action Allow \
--rule-type NetworkRule \
--rule-name allow-tcp-udp \
--source-addresses "10.0.2.0/24" \
--destination-addresses "*" \
--ip-protocols TCP UDP \
--destination-ports "*"
Belangrijk
Deze regels staan al het uitgaande verkeer toe voor testdoeleinden. Beperk in productie de doeladressen, poorten en FQDN's tot alleen wat uw workloads nodig hebben.
Gebruik az network firewall policy rule-collection-group create om een toepassingsregelverzamelingsgroep te maken en voeg-filter-verzameling toe om een regel toe te voegen waarmee HTTP- en HTTPS-verkeer wordt toegestaan.
az network firewall policy rule-collection-group create \
--resource-group rg-azfw-natgwv2-test \
--policy-name policy-azfw-natgwv2 \
--name DefaultApplicationRuleCollectionGroup \
--priority 300
az network firewall policy rule-collection-group collection add-filter-collection \
--resource-group rg-azfw-natgwv2-test \
--policy-name policy-azfw-natgwv2 \
--rule-collection-group-name DefaultApplicationRuleCollectionGroup \
--name allow-web \
--collection-priority 100 \
--action Allow \
--rule-type ApplicationRule \
--rule-name allow-http-https \
--source-addresses "10.0.2.0/24" \
--protocols Http=80 Https=443 \
--target-fqdns "*"
Gebruik az network firewall policy show om de beleids-id en az network firewall update op te halen om deze te koppelen aan de firewall.
POLICY_ID=$(az network firewall policy show \
--resource-group rg-azfw-natgwv2-test \
--name policy-azfw-natgwv2 \
--query id -o tsv)
az network firewall update \
--resource-group rg-azfw-natgwv2-test \
--name azfw-natgwv2-test \
--firewall-policy "$POLICY_ID"
Een virtuele testmachine implementeren
Gebruik az vm create om een Linux-VM te implementeren in het workloadsubnet zonder openbare IP-adres- en SSH-sleutelverificatie.
az vm create \
--resource-group rg-azfw-natgwv2-test \
--name vm-test-workload \
--image Ubuntu2404 \
--size Standard_B2s \
--vnet-name vnet-azfw-natgwv2 \
--subnet workload-subnet \
--public-ip-address "" \
--admin-username azureuser \
--generate-ssh-keys \
--location eastus2
Azure Bastion implementeren
Gebruik az network public-ip create om een openbaar IP-adres te maken en az network bastion create om Azure Bastion te implementeren voor het maken van verbinding met de virtuele machine via Azure Portal.
az network public-ip create \
--resource-group rg-azfw-natgwv2-test \
--name pip-bastion \
--sku Standard \
--allocation-method Static \
--location eastus2
az network bastion create \
--resource-group rg-azfw-natgwv2-test \
--name bastion-azfw-test \
--public-ip-address pip-bastion \
--vnet-name vnet-azfw-natgwv2 \
--sku Standard \
--location eastus2
De implementatie controleren
Ga in Azure Portal naar vm-test-workload>Connect>Bastion.
Selecteer de persoonlijke SSH-sleutel in het lokale bestand als verificatietype.
Voer azureuser in als de gebruikersnaam en selecteer uw persoonlijke sleutelbestand.
Nadat u verbinding hebt gemaakt, voert u het volgende uit:
curl icanhazip.com
Het antwoord toont het openbare IP-adres van de NAT-gateway V2, waarbij wordt bevestigd dat uitgaand verkeer via Azure Firewall stroomt en via NAT Gateway V2 wordt afgesloten.
Als u wilt controleren zonder de NAT-gateway, gebruikt u az network vnet subnet update om deze tijdelijk los te koppelen.
az network vnet subnet update \
--resource-group rg-azfw-natgwv2-test \
--vnet-name vnet-azfw-natgwv2 \
--name AzureFirewallSubnet \
--remove natGateway
Voer curl icanhazip.com opnieuw uit. Het antwoord toont nu het eigen openbare IP-adres van Azure Firewall, waarbij wordt bevestigd dat het SNAT-gedrag verandert op basis van NAT Gateway-koppeling.
Gebruik az network vnet subnet update om de NAT Gateway opnieuw te koppelen wanneer u klaar bent.
az network vnet subnet update \
--resource-group rg-azfw-natgwv2-test \
--vnet-name vnet-azfw-natgwv2 \
--name AzureFirewallSubnet \
--nat-gateway natgw-v2
De hulpbronnen opschonen
Gebruik az group delete om de resourcegroep en alle resources te verwijderen.
az group delete --name rg-azfw-natgwv2-test --yes --no-wait