Om NAT på Azure VPN Gateway (förhandsversion)

Den här artikeln innehåller en översikt över stöd för NAT (Network Address Translation) i Azure VPN Gateway. NAT definierar mekanismerna för att översätta en IP-adress till en annan i ett IP-paket. Det finns flera scenarier för NAT:

  • Anslut flera nätverk med överlappande IP-adresser
  • Anslut från nätverk med privata IP-adresser (RFC1918) till Internet (Internet-breakout)
  • Anslut IPv6-nätverk till IPv4-nätverk (NAT64)

Viktigt

Azure VPN Gateway NAT stöder det första scenariot att ansluta lokala nätverk eller avdelningskontor till ett virtuellt Azure-nätverk med överlappande IP-adresser. Internet-breakout och NAT64 stöds INTE.

Överlappande adressutrymmen

Organisationer använder ofta privata IP-adresser som definierats i RFC1918 för intern kommunikation i sina privata nätverk. När dessa nätverk är anslutna via VPN via Internet eller via privat WAN får adressutrymmena inte överlappa varandra, annars skulle kommunikationen misslyckas. För att ansluta två eller flera nätverk med överlappande IP-adresser distribueras NAT på de gatewayenheter som ansluter nätverken.

NAT-typ: statisk & dynamisk

NAT på en gatewayenhet översätter källans och/eller målets IP-adresser, baserat på NAT-principer eller regler för att undvika adresskonflikter. Det finns olika typer av NAT-översättningsregler:

  • Statisk NAT: Statiska regler definierar en fast adressmappningsrelation. För en viss IP-adress mappas den till samma adress från målpoolen. Mappningarna för statiska regler är tillståndslösa eftersom mappningen är fast.

  • Dynamisk NAT: För dynamisk NAT kan en IP-adress översättas till olika mål-IP-adresser baserat på tillgänglighet eller med en annan kombination av IP-adress och TCP/UDP-port. Det senare kallas även NAPT, nätverksadress och portöversättning. Dynamiska regler resulterar i tillståndsfulla översättningsmappningar beroende på trafikflöden vid en given tidpunkt.

Ett annat övervägande är adresspoolens storlek för översättning. Om måladresspoolens storlek är samma som den ursprungliga adresspoolen använder du statisk NAT-regel för att definiera en 1:1-mappning i en sekventiell ordning. Om måladresspoolen är mindre än den ursprungliga adresspoolen använder du en dynamisk NAT-regel för att hantera skillnaderna.

Viktigt

  • Nat för Azure VPN-gateway stöder endast statiska NAT-regler 1:1. Dynamiska NAT-regler stöds inte.
  • NAT stöds på följande SKU:er: VpnGw2~5, VpnGw2AZ~5AZ.
  • NAT stöds endast på IPsec-anslutningar mellan olika platser. Anslutningar mellan virtuella nätverk eller P2S-anslutningar stöds inte.

NAT-läge: ingress-& utgående

Varje NAT-regel definierar en adressmappning eller översättning av relationen för motsvarande nätverksadressutrymme:

  • Ingress: En IngressSNAT-regel mappar ett lokalt nätverksadressutrymme till ett översatt adressutrymme för att undvika adressöverlappning.

  • Egress: En EgressSNAT-regel mappar Azure VNet-adressutrymmet till ett annat översatt adressutrymme.

För varje NAT-regel anger följande två fält adressutrymmena före och efter översättningen:

  • Interna mappningar: Det här är adressutrymmet före översättningen. För en ingressregel motsvarar det här fältet det ursprungliga adressutrymmet för det lokala nätverket. För en utgående regel är detta det ursprungliga VNet-adressutrymmet.

  • Externa mappningar: Det här är adressutrymmet efter översättningen för lokala nätverk (ingress) eller VNet (utgående). För olika nätverk som är anslutna till en Azure VPN-gateway får adressutrymmena för alla externa mappningar inte överlappa varandra och med nätverk som är anslutna utan NAT.

NAT och routning

När en NAT-regel har definierats för en anslutning ändras det effektiva adressutrymmet för anslutningen med regeln. Om BGP är aktiverat på Azure VPN-gatewayen väljer du "Aktivera BGP-vägöversättning" för att automatiskt konvertera de vägar som lärts in och annonseras för anslutningar med NAT-regler:

  • Inlärda vägar: Målprefixen för de vägar som lärts via en anslutning med IngressSNAT-reglerna kommer att översättas från prefixen för intern mappning (före NAT) till prefixen för extern mappning (efter NAT) för dessa regler.

  • Annonserade vägar: Azure VPN-gatewayen annonserar prefixen för extern mappning (efter NAT) för EgressSNAT-reglerna för det virtuella nätverkets adressutrymme och de inlärda vägarna med post-NAT-adressprefix från andra anslutningar.

  • Överväganden för BGP-peer-IP-adresser för ett lokalt NAT-nätverk:

    • APIPA-adress (169.254.0.1 till 169.254.255.254): Ingen NAT-regel krävs; ange APIPA-adressen direkt i den lokala nätverksgatewayen.
    • Icke-APIPA-adress: Ange den översatta IP-adressen eller IP-adressen efter NAT på den lokala nätverksgatewayen. Använd den översatta ELLER efter NAT Azure BGP IP-adress (es) för att konfigurera lokala VPN-routrar. Se till att NAT-reglerna har definierats för den avsedda översättningen.

Anteckning

De inlärda vägarna för anslutningar utan IngressSNAT-regler konverteras inte. De VNet-vägar som annonseras till anslutningar utan EgressSNAT-regler kommer inte heller att konverteras.

NAT-exempel

Följande diagram visar ett exempel på Azure VPN NAT-konfigurationer:

NAT-diagram.

Diagrammet visar ett azure-VNet och två lokala nätverk, alla med adressutrymmet 10.0.1.0/24. Skapa följande regler för att ansluta dessa två nätverk till Azure VNet och VPN-gatewayen:

  • IngressSNAT regel 1: Den här regeln översätter det lokala adressutrymmet 10.0.1.0/24 till 100.0.2.0/24.

  • IngressSNAT regel 2: Den här regeln översätter det lokala adressutrymmet 10.0.1.0/24 till 100.0.3.0/24.

  • EgressSNAT regel 1: Den här regeln översätter VNet-adressutrymmet 10.0.1.0/24 till 100.0.1.0/24.

I diagrammet har varje anslutningsresurs följande regler:

  • Anslutning 1 (VNet-Branch1):

    • IngressSNAT regel 1
    • EgressSNAT regel 1
  • Anslutning 2 (VNet-Branch2)

    • IngressSNAT regel 2
    • EgressSNAT regel 1

Här är adressutrymmena för varje nätverk, baserat på de regler som är associerade med anslutningarna:

Nätverk Ursprunglig Översatt
Virtuellt nätverk 10.0.1.0/24 100.0.1.0/24
Gren 1 10.0.1.0/24 100.0.2.0/24
Gren 2 10.0.1.0/24 100.0.3.0/24

Diagrammet nedan visar ett IP-paket från Gren 1 till VNet före och efter NAT-översättningen:

Diagram som visar före och efter NAT-översättning.

Viktigt

En enda SNAT-regel definierar översättningen för båda riktningarna i ett visst nätverk:

  • En IngressSNAT-regel definierar översättningen av källans IP-adresser som kommer till Azure VPN-gatewayen från det lokala nätverket. Den hanterar också översättningen av de mål-IP-adresser som lämnar från det virtuella nätverket till samma lokala nätverk.
  • En EgressSNAT-regel definierar översättningen av källans IP-adresser som lämnar Azure VPN-gatewayen till lokala nätverk. Den hanterar också översättningen av mål-IP-adresserna för paket som kommer till det virtuella nätverket via dessa anslutningar med EgressSNAT-regeln.
  • I båda fallen behövs inga DNAT-regler.

NAT-konfiguration

Om du vill implementera NAT-konfigurationen som visas ovan skapar du först NAT-reglerna i din Azure VPN-gateway och skapar sedan anslutningarna med motsvarande NAT-regler som är associerade. Anvisningar om hur du konfigurerar NAT för dina anslutningar mellan olika platser finns i Konfigurera NAT på Azure VPN-gatewayer.

Vanliga frågor och svar om NAT

Stöds NAT på alla Azure VPN Gateway-SKU:er?

NAT stöds på VpnGw2~5 och VpnGw2AZ~5AZ.

Kan jag använda NAT på VNet-till-VNet- eller P2S-anslutningar?

Nej, NAT stöds endast på IPsec-anslutningar mellan olika platser.

Hur många NAT-regler kan jag använda på en VPN-gateway?

Du kan skapa upp till 100 NAT-regler (ingress- och Egress-regler kombinerat) på en VPN-gateway.

Tillämpas NAT på alla anslutningar på en VPN-gateway?

NAT tillämpas på anslutningar med NAT-regler. Om en anslutning inte har någon NAT-regel börjar NAT inte gälla för anslutningen. På samma VPN-gateway kan du ha vissa anslutningar med NAT och andra anslutningar utan att NAT fungerar tillsammans.

Vilka typer av NAT stöds på Azure VPN-gatewayer?

Endast statiskt 1:1 NAT. Dynamisk NAT eller NAT64 stöds INTE.

Fungerar NAT på aktiva-aktiva VPN-gatewayer?

Ja. NAT fungerar på VPN-gatewayer för både aktiv-aktiv och aktiv-vänteläge.

Fungerar NAT med BGP-anslutningar?

Ja, du kan använda BGP med NAT. Här är några viktiga överväganden:

  • Välj Aktivera BGP-vägöversättning på konfigurationssidan för NAT-regler för att se till att inlärda vägar och annonserade vägar översätts till post-NAT-adressprefix (externa mappningar) baserat på NAT-reglerna som är associerade med anslutningarna. Du måste se till att de lokala BGP-routrarna annonserar de exakta prefixen enligt definitionen i IngressSNAT-reglerna.

  • Om den lokala VPN-routern använder APIPA (169.254.x.x) som BGP-talar-/peer-IP-adress använder du APIPA-adressen direkt i fältet BGP-peer-IP-adress för den lokala nätverksgatewayen. Om den lokala VPN-routern använder vanlig, icke-APIPA-adress och den krockar med VNet-adressutrymmet eller andra lokala nätverksutrymmen ska du se till att IngressSNAT-regeln översätter BGP-peer-IP-adressen till en unik, icke-överlappande adress och anger efter NAT-adressen i BGP-peerens IP-adressfält för den lokala nätverksgatewayen.

Måste jag skapa matchande DNAT-regler för SNAT-regeln?

Nej. En enda SNAT-regel definierar översättningen för båda riktningarna i ett visst nätverk:

  • En IngressSNAT-regel definierar översättningen av källans IP-adresser som kommer till Azure VPN-gatewayen från det lokala nätverket. Den hanterar också översättningen av de mål-IP-adresser som lämnar från det virtuella nätverket till samma lokala nätverk.

  • En EgressSNAT-regel definierar översättningen av VNet-källans IP-adresser som lämnar Azure VPN-gatewayen till lokala nätverk. Den hanterar också översättningen av mål-IP-adresserna för paket som kommer till det virtuella nätverket via dessa anslutningar med EgressSNAT-regeln.

  • I båda fallen behövs inga DNAT-regler.

Vad gör jag om adressutrymmet för min virtuella nätverk eller lokala nätverksgateway har två eller flera prefix? Kan jag använda NAT för alla? Eller bara en delmängd?

Du måste skapa en NAT-regel för varje prefix som du behöver NAT eftersom varje NAT-regel bara kan innehålla ett adressprefix för NAT. Om adressutrymmet för den lokala nätverksgatewayen till exempel består av 10.0.1.0/24 och 10.0.2.0/25 kan du skapa två regler enligt nedan:

  • IngressSNAT regel 1: Mappa 10.0.1.0/24 till 100.0.1.0/24
  • IngressSNAT regel 2: Mappa 10.0.2.0/25 till 100.0.2.0/25

De två reglerna måste matcha prefixlängderna för motsvarande adressprefix. Samma sak gäller för EgressSNAT-regler för VNet-adressutrymme.

Viktigt

Om du länkar endast en regel till anslutningen ovan översätts inte det andra adressutrymmet.

Kan jag använda olika EgressSNAT-regler för att översätta mitt VNet-adressutrymme till olika prefix till olika lokala nätverk?

Ja, du kan skapa flera EgressSNAT-regler för samma VNet-adressutrymme och tillämpa EgressSNAT-reglerna på olika anslutningar. För anslutningar utan en EgressSNAT-regel,

Kan jag använda samma IngressSNAT-regel för olika anslutningar?

Ja, detta används vanligtvis när anslutningarna är för samma lokala nätverk för att tillhandahålla redundans. Du kan inte använda samma inkommande regel om anslutningarna är för olika lokala nätverk.

Behöver jag både ingress- och Egress på en NAT-anslutning?

Du behöver både ingress- och Egress på samma anslutning när det lokala nätverkets adressutrymme överlappar det virtuella nätverkets adressutrymme. Om VNet-adressutrymmet är unikt bland alla anslutna nätverk behöver du inte egressSNAT-regeln för dessa anslutningar. Du kan använda ingressreglerna för att undvika adressöverlappning mellan de lokala nätverken.

Nästa steg

Anvisningar om hur du konfigurerar NAT för dina anslutningar mellan olika platser finns i Konfigurera NAT på Azure VPN-gatewayer.