Azure NAT Gateway-resource

In dit artikel worden de belangrijkste onderdelen van de NAT-gatewayresource beschreven waarmee deze uiterst veilige, schaalbare en flexibele uitgaande connectiviteit kan bieden. Sommige van deze onderdelen kunnen in uw abonnement worden geconfigureerd via Azure Portal, Azure CLI, Azure PowerShell, Resource Manager-sjablonen of geschikte alternatieven.

NAT-gatewayarchitectuur

NAT Gateway maakt gebruik van softwaregedefinieerde netwerken om te werken als een gedistribueerde en volledig beheerde service. Omdat NAT Gateway meerdere foutdomeinen heeft, kan deze bestand zijn tegen meerdere fouten zonder dat dit van invloed is op de service.

NAT Gateway biedt SNAT (Source Network Address Translation) voor privé-exemplaren binnen subnetten van uw virtuele Azure-netwerk. Wanneer deze is geconfigureerd op een subnet, worden de privé-IP-adressen binnen uw subnetten SNAT gekoppeld aan de statische openbare IP-adressen van een NAT-gateway om uitgaand verbinding te maken met internet. NAT Gateway biedt ook DNAT (Destination Network Address Translation) voor antwoordpakketten naar een uitgaande verbinding.

Diagram van een NAT-gatewayresource met virtuele machines en een virtuele-machineschaalset.

Afbeelding: NAT-gateway voor uitgaand naar internet

Wanneer een NAT-gateway is gekoppeld aan een subnet binnen een virtueel netwerk, gaat de NAT-gateway ervan uit dat het standaardtype volgende hop van het subnet voor al het uitgaande verkeer dat naar internet wordt omgeleid. Er zijn geen extra routeringsconfiguraties vereist. NAT Gateway biedt geen ongevraagde binnenkomende verbindingen vanaf internet. DNAT wordt alleen uitgevoerd voor pakketten die binnenkomen als reactie op een uitgaand pakket.

Subnetten

Een NAT-gateway kan worden gekoppeld aan meerdere subnetten binnen een virtueel netwerk om uitgaande connectiviteit met internet te bieden. Wanneer een NAT-gateway is gekoppeld aan een subnet, wordt ervan uitgegaan dat de standaardroute naar internet wordt verzonden. De NAT-gateway is vervolgens het volgende hoptype voor al het uitgaande verkeer dat is bestemd voor internet.

De volgende subnetconfiguraties kunnen niet worden gebruikt met een NAT-gateway:

  • Wanneer de NAT-gateway is gekoppeld aan een subnet, wordt ervan uitgegaan dat de standaardroute naar internet wordt verzonden. Slechts één NAT-gateway kan fungeren als de standaardroute naar internet voor een subnet.

  • Een NAT-gateway kan niet worden gekoppeld aan subnetten van verschillende virtuele netwerken.

  • Een NAT-gateway kan niet worden gebruikt met een gatewaysubnet. Een gatewaysubnet is een aangewezen subnet voor een VPN-gateway voor het verzenden van versleuteld verkeer tussen een virtueel Azure-netwerk en een on-premises locatie. Zie Gatewaysubnet voor meer informatie over het gatewaysubnet.

Statische openbare IP-adressen

Een NAT-gateway kan worden gekoppeld aan statische openbare IP-adressen of openbare IP-voorvoegsels voor het bieden van uitgaande connectiviteit. NAT Gateway ondersteunt IPv4-adressen. Een NAT-gateway kan openbare IP-adressen of voorvoegsels gebruiken in een combinatie van maximaal 16 IP-adressen. Als u een openbaar IP-voorvoegsel toewijst, wordt het volledige openbare IP-voorvoegsel gebruikt. U kunt een openbaar IP-voorvoegsel rechtstreeks gebruiken of de openbare IP-adressen van het voorvoegsel verdelen over meerdere NAT-gatewayresources. NAT-gateway verzorgt al het verkeer naar het bereik van IP-adressen van het voorvoegsel.

  • Een NAT-gateway kan niet worden gebruikt met openbare IPv6-IP-adressen of voorvoegsels.

  • Een NAT-gateway kan niet worden gebruikt met openbare IP-basis-SKU-adressen.

SNAT-poorten

SNAT-poortinventaris wordt geleverd door de openbare IP-adressen, openbare IP-voorvoegsels of beide die zijn gekoppeld aan een NAT-gateway. SNAT-poortinventaris wordt op aanvraag beschikbaar gemaakt voor alle exemplaren binnen een subnet dat is gekoppeld aan de NAT-gateway. Er is geen voorbezetting van SNAT-poorten per exemplaar vereist.

Zie SNAT (Source Network Address Translation) met Azure NAT Gateway voor meer informatie over SNAT-poorten en Azure NAT Gateway.

Wanneer meerdere subnetten in een virtueel netwerk zijn gekoppeld aan dezelfde NAT-gatewayresource, wordt de SNAT-poortinventaris van NAT Gateway gedeeld in alle subnetten.

SNAT-poorten fungeren als unieke id's om verschillende verbindingsstromen van elkaar te onderscheiden. Dezelfde SNAT-poort kan tegelijkertijd worden gebruikt om verbinding te maken met verschillende doeleindpunten .

Verschillende SNAT-poorten worden gebruikt om verbindingen met hetzelfde doeleindpunt te maken om verschillende verbindingsstromen van elkaar te onderscheiden. SNAT-poorten die opnieuw worden gebruikt om verbinding te maken met dezelfde bestemming, worden geplaatst op een afkoeltimer voor hergebruik voordat ze opnieuw kunnen worden gebruikt.

Eén NAT-gateway kan maximaal 16 IP-adressen schalen. Elk openbaar IP-adres van de NAT-gateway biedt 64.512 SNAT-poorten om uitgaande verbindingen te maken. Een NAT-gateway kan worden geschaald tot meer dan 1 miljoen SNAT-poorten. TCP en UDP zijn afzonderlijke SNAT-poortinventarisaties en zijn niet gerelateerd aan NAT Gateway.

Beschikbaarheidszones

Een NAT-gateway kan worden gemaakt in een specifieke beschikbaarheidszone of in geen zone worden geplaatst. Wanneer een NAT-gateway in geen zone wordt geplaatst, selecteert Azure een zone waarin de NAT-gateway zich bevindt.

Zoneredundante openbare IP-adressen kunnen worden gebruikt met zonegebonden of geen zone NAT-gatewaybronnen.

U wordt aangeraden een NAT-gateway te configureren voor afzonderlijke beschikbaarheidszones. Daarnaast moet deze worden gekoppeld aan subnetten met privé-exemplaren uit dezelfde zone. Zie Ontwerpoverwegingen voor beschikbaarheidszones en Azure NAT Gateway voor meer informatie over beschikbaarheidszones en Azure NAT Gateway.

Diagram van zonegebonden isolatie door zonegebonden stacks te maken.

Nadat een NAT-gateway is geïmplementeerd, kan de zoneselectie niet worden gewijzigd.

Protocollen

NAT Gateway communiceert met IP- en IP-transportheaders van UDP- en TCP-stromen. NAT Gateway is agnostisch voor nettoladingen van toepassingslagen. Andere IP-protocollen worden niet ondersteund.

Opnieuw instellen van TCP

Er wordt een TCP-resetpakket verzonden wanneer een NAT-gateway verkeer detecteert op een verbindingsstroom die niet bestaat. Het TCP-resetpakket geeft aan aan het ontvangende eindpunt dat de release van de verbindingsstroom heeft plaatsgevonden en dat toekomstige communicatie op dezelfde TCP-verbinding mislukt. TCP-reset is unidirectioneel voor een NAT-gateway.

De verbindingsstroom bestaat mogelijk niet als:

  • De time-out voor inactiviteit is bereikt na een periode van inactiviteit voor de verbindingsstroom en de verbinding wordt op de achtergrond verwijderd.

  • De afzender, van de Netwerkzijde van Azure of van de openbare internetzijde, heeft verkeer verzonden nadat de verbinding is verbroken.

Een TCP-resetpakket wordt alleen verzonden bij het detecteren van verkeer op de verbroken verbindingsstroom. Deze bewerking betekent dat een TCP-resetpakket mogelijk niet meteen wordt verzonden nadat een verbindingsstroom is gedaald.

Het systeem verzendt een TCP-resetpakket als reactie op het detecteren van verkeer op een niet-bestaande verbindingsstroom, ongeacht of het verkeer afkomstig is van de Azure-netwerkzijde of de openbare internetzijde.

Niet-actieve TCP-tijd

Een NAT-gateway biedt een configureerbaar time-outbereik van 4 minuten tot 120 minuten voor TCP-protocollen. UDP-protocollen hebben een niet-geconfigureerde time-out voor inactiviteit van 4 minuten.

Wanneer een verbinding inactief gaat, wordt de NAT-gateway op de SNAT-poort vastgezet totdat er een time-out optreedt voor de verbinding. Omdat lange time-outtimers voor inactiviteit de kans op uitputting van SNAT-poorten onnodig kunnen vergroten, wordt het afgeraden om de time-outduur van TCP-inactiviteit te verhogen naar langer dan de standaardtijd van 4 minuten. De niet-actieve timer heeft geen invloed op een stroom die nooit inactief gaat.

TCP-keepalives kunnen worden gebruikt om een patroon te bieden van het vernieuwen van lange niet-actieve verbindingen en detectie van eindpunt liveness. Zie deze .NET-voorbeelden voor meer informatie. TCP-keepalives worden weergegeven als dubbele ACK's naar de eindpunten, hebben weinig overhead en zijn onzichtbaar voor de toepassingslaag.

Time-outtimers voor inactiviteit van UDP kunnen niet worden geconfigureerd. UDP-keepalives moeten worden gebruikt om ervoor te zorgen dat de time-outwaarde voor inactiviteit niet is bereikt en dat de verbinding wordt gehandhaafd. In tegenstelling tot TCP-verbindingen is een UDP-keepalive ingeschakeld aan één kant van de verbinding alleen van toepassing op de verkeersstroom in één richting. UDP-keepalives moeten aan beide zijden van de verkeersstroom zijn ingeschakeld om de verkeersstroom actief te houden.

Timers

Timers voor opnieuw gebruiken van poort

De timers voor het opnieuw gebruiken van poorten bepalen hoe lang een verbinding wordt gesloten dat een bronpoort in bewaring is voordat deze opnieuw kan worden gebruikt om door de NAT-gateway naar hetzelfde doeleindpunt te gaan.

De volgende tabel bevat informatie over wanneer een TCP-poort beschikbaar is voor hergebruik naar hetzelfde doeleindpunt door de NAT-gateway.

Timer Beschrijving Waarde
TCP FIN Nadat een verbinding door een TCP FIN-pakket is gesloten, wordt een timer van 65 seconden geactiveerd die de SNAT-poort vasthoudt. De SNAT-poort is beschikbaar voor hergebruik nadat de timer is beëindigd. 65 seconden
TCP RST Nadat een verbinding is gesloten door een TCP RST-pakket (opnieuw instellen), wordt een timer van 16 seconden geactiveerd die de SNAT-poort vasthoudt. Wanneer de timer afloopt, is de poort beschikbaar voor hergebruik. 16 seconden
TCP half open Tijdens het instellen van de verbinding waarbij één verbindingseindpunt wacht op bevestiging van het andere eindpunt, wordt een timer van 30 seconden geactiveerd. Als er geen verkeer wordt gedetecteerd, wordt de verbinding gesloten. Zodra de verbinding is gesloten, is de bronpoort beschikbaar voor hergebruik naar hetzelfde doeleindpunt. 30 seconden

Voor UDP-verkeer, nadat een verbinding is gesloten, wordt de poort 65 seconden in bewaring geplaatst voordat deze beschikbaar is voor hergebruik.

Time-outtimers voor inactiviteit

Timer Beschrijving Waarde
Niet-actieve TCP-tijd TCP-verbindingen kunnen inactief gaan wanneer er gedurende een langere periode geen gegevens tussen beide eindpunten worden verzonden. Een timer kan worden geconfigureerd van 4 minuten (standaard) tot 120 minuten (2 uur) om een time-out op te stellen voor een verbinding die niet actief is. Verkeer op de stroom stelt de time-outtimer voor inactiviteit opnieuw in. Configureerbare; 4 minuten (standaard) - 120 minuten
Time-out voor niet-actieve UDP UDP-verbindingen kunnen inactief gaan wanneer er gedurende een langere periode geen gegevens worden verzonden tussen beide eindpunten. Time-outtimers voor inactiviteit van UDP zijn vier minuten en kunnen niet worden geconfigureerd. Verkeer op de stroom stelt de time-outtimer voor inactiviteit opnieuw in. Niet configureerbaar; 4 minuten

Notitie

Deze timerinstellingen zijn onderhevig aan wijzigingen. De waarden worden verstrekt om u te helpen bij het oplossen van problemen en u moet op dit moment geen afhankelijkheid nemen van specifieke timers.

Bandbreedte

Elke NAT-gateway kan maximaal 50 Gbps aan doorvoer bieden. De limiet voor gegevensdoorvoer wordt gesplitst tussen uitgaande en inkomende (antwoord) gegevens. Gegevensdoorvoer is beperkt met 25 Gbps voor uitgaande en 25 Gbps voor binnenkomende (antwoord) gegevens per NAT-gatewayresource. U kunt uw implementaties splitsen in meerdere subnetten en elk subnet of elke groep subnetten toewijzen aan een NAT-gateway om uit te schalen.

Prestaties

Een NAT-gateway ondersteunt maximaal 50.000 gelijktijdige verbindingen per openbaar IP-adres naar hetzelfde doeleindpunt via internet voor TCP en UDP. De NAT-gateway kan 1M-pakketten per seconde verwerken en maximaal 5 MILJOEN pakketten per seconde schalen.

Het totale aantal verbindingen dat een NAT-gateway op elk gewenst moment kan ondersteunen, is maximaal 2 miljoen. Als de NAT-gateway meer dan 2 miljoen verbindingen overschrijdt, ziet u een afname van de beschikbaarheid van uw datapath en mislukken nieuwe verbindingen.

Beperkingen

  • Basic load balancers en openbare basis-IP-adressen zijn niet compatibel met nat-gateway. Gebruik in plaats daarvan standaard-SKU-load balancers en openbare IP-adressen.

  • DE NAT-gateway biedt geen ondersteuning voor ICMP

  • IP-fragmentatie is niet beschikbaar voor NAT Gateway.

  • NAT Gateway biedt geen ondersteuning voor openbare IP-adressen met routeringsconfiguratietype internet. Zie ondersteunde services voor routering via het openbare internet voor een lijst met Azure-services die ondersteuning bieden voor routeringsconfiguratie op openbare IP-adressen.

  • Openbare IP-adressen waarvoor DDoS-beveiliging is ingeschakeld, worden niet ondersteund met NAT-gateway. Zie DDoS-beperkingen voor meer informatie.

Volgende stappen