Dela via


Om NAT på Azure VPN Gateway

Den här artikeln innehåller en översikt över nat-stöd (nätverksadressöversättning) i Azure VPN Gateway. NAT definierar mekanismerna för översättning av en IP-adress till en annan i ett IP-paket. Det finns flera scenarier för NAT:

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

Viktigt!

Azure VPN Gateway NAT stöder det första scenariot för 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å gatewayenheterna som ansluter nätverken.

NAT-typ: statisk och dynamisk

NAT på en gatewayenhet översätter käll- och/eller mål-IP-adresserna 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åndskänsliga översättningsmappningar beroende på trafikflödena vid en viss tidpunkt.

Kommentar

När dynamiska NAT-regler används är trafiken enkelriktad, vilket innebär att kommunikation måste initieras från platsen som representeras i fältet Intern mappning i regeln. Om trafik initieras från den externa mappningen upprättas inte anslutningen. Om du behöver dubbelriktad trafikinitiering använder du en statisk NAT-regel för att definiera en 1:1-mappning.

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 sekventiell ordning. Om måladresspoolen är mindre än den ursprungliga adresspoolen använder du dynamisk NAT-regel för att hantera skillnaderna.

Viktigt!

  • NAT stöds på följande SKU:er: VpnGw2~5, VpnGw2AZ~5AZ.
  • NAT stöds endast för lokala IPsec-anslutningar. VNet-till-VNet-anslutningar eller P2S-anslutningar stöds inte.
  • Varje dynamisk NAT-regel kan tilldelas till en enda anslutning.

NAT-läge: ingress och utgående

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

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

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

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

  • Interna mappningar: 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: 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 de 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 Route Translation" för att automatiskt konvertera de vägar som har lärts in och annonseras på anslutningar med NAT-regler:

  • Inlärda vägar: Målprefixen för de vägar som har lärts över en anslutning till IngressSNAT-reglerna översätts från prefixen för intern mappning (pre-NAT) till prefixen för extern mappning (efter NAT) för dessa regler.

  • Annonserade vägar: Azure VPN-gatewayen annonserar prefixen extern mappning (efter NAT) för EgressSNAT-reglerna för VNet-adressutrymmet och de inlärda vägarna med prefix efter NAT-adress från andra anslutningar.

  • Ip-adressövervägande för BGP-peer för ett lokalt NAT-nätverk:

    • APIPA-adress (169.254.0.1 till 169.254.255.254): NAT stöds inte med BGP APIPA-adresser.
    • Icke-APIPA-adress: Undanta BGP-peer-IP-adresserna från NAT-intervallet.

Kommentar

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

NAT-exempel

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

Diagram som visar NAT-konfiguration och regler.

Diagrammet visar ett virtuellt Azure-nätverk och två lokala nätverk, alla med adressutrymmet 10.0.1.0/24. Om du vill ansluta dessa två nätverk till det virtuella Azure-nätverket och VPN-gatewayen skapar du följande regler:

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

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

  • EgressSNAT-regel 1: Den här regeln översätter VNet-adressutrymmet 10.0.1.0/24 till 192.168.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 Original Översatt
Virtuellt nätverk 10.0.1.0/24 192.168.1.0/24
Gren 1 10.0.1.0/24 192.168.2.0/24
Gren 2 10.0.1.0/24 192.168.3.0/24

Följande diagram 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äll-IP-adresserna som kommer till Azure VPN-gatewayen från det lokala nätverket. I denna regel hanteras även översättning av de mål-IP-adresser som skickas från det virtuella nätverket till samma lokala nätverk.
  • En EgressSNAT-regel definierar översättning av de käll-IP-adresser som skickas från Azure VPN-gatewayen till det lokala nätverket. I denna regel hanteras också översättning av mål-IP-adresserna för de paket som kommer till det virtuella nätverket via de anslutningar som EgressSNAT-regeln gäller för.
  • I båda fallen behövs inga DNAT-regler .

NAT-konfiguration

Om du vill implementera NAT-konfigurationen som visas i föregående avsnitt skapar du först NAT-reglerna i din Azure VPN-gateway och skapar sedan anslutningarna med motsvarande NAT-regler associerade. Se Konfigurera NAT på Azure VPN-gatewayer för steg för att konfigurera NAT för dina anslutningar mellan platser.

NAT begränsningar och överväganden

Viktigt!

Det finns några begränsningar för NAT-funktionen.

  • NAT stöds på följande SKU:er: VpnGw2~5, VpnGw2AZ~5AZ.
  • NAT stöds endast för IPsec/IKE-anslutningar mellan olika platser. VNet-till-VNet-anslutningar eller P2S-anslutningar stöds inte.
  • NAT-regler stöds inte för anslutningar där användning av principbaserade trafikväljare är aktiverat.
  • Den maximala undernätsstorleken för extern mappning som stöds för dynamisk NAT är /26.
  • Portmappningar kan endast konfigureras med statiska NAT-typer. Dynamiska NAT-scenarier gäller inte för portmappningar.
  • Intervall kan för närvarande inte användas för portmappningar. Enskilda portar måste anges.
  • Portmappningar kan användas för både TCP- och UDP-protokoll.

Vanliga frågor och svar om NAT

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

NAT stöds på VpnGw2 till VpnGw25 och på VpnGw2AZ till VpnGw5AZ.

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

Nej.

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

Du kan skapa upp till 100 NAT-regler (ingress- och utgående regler tillsammans) på en VPN-gateway.

Kan jag använda ett snedstreck (/) i ett NAT-regelnamn?

Nej. Du får ett felmeddelande.

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

NAT tillämpas på de anslutningar som har 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öder VPN-gatewayer?

VPN-gatewayer stöder endast statisk 1:1 NAT och dynamisk NAT. De stöder inte NAT64.

Fungerar NAT på aktiv-aktiva VPN-gatewayer?

Ja. NAT fungerar på både aktiva och aktiva VPN-gatewayer i vänteläge. Varje NAT-regel tillämpas på en enda instans av VPN-gatewayen. I aktiva-aktiva gatewayer skapar du en separat NAT-regel för varje gatewayinstans via fältet IP-konfigurations-ID .

Fungerar NAT med BGP-anslutningar?

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

  • För att säkerställa att inlärda vägar och annonserade vägar översätts till prefix efter NAT-adress (externa mappningar) baserat på NAT-reglerna som är associerade med anslutningarna väljer du Aktivera BGP-vägöversättning på konfigurationssidan för NAT-regler. De lokala BGP-routrarna måste annonsera de exakta prefixen enligt definitionen i IngressSNAT-reglerna .

  • Om den lokala VPN-routern använder en vanlig, icke-APIPA-adress och den kolliderar med VNet-adressutrymmet eller andra lokala nätverksutrymmen kontrollerar du att IngressSNAT-regeln översätter BGP-peer-IP till en unik, icke-överlappande adress. Placera adressen efter NAT i fältet BGP-peer-IP-adress i den lokala nätverksgatewayen.

  • NAT stöds inte med BGP APIPA-adresser.

Behöver jag skapa matchande DNAT-regler för SNAT-regeln?

Nej. En SNAT-regel (single source network address translation) definierar översättningen för båda riktningarna i ett visst nätverk:

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

  • En EgressSNAT-regel definierar översättningen av IP-adresserna för VNet-källan som lämnar 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 de anslutningar som har EgressSNAT-regeln .

I båda fallen behöver du inte dnat-regler (målnätverksadressöversättning).

Vad gör jag om adressutrymmet för mitt virtuella nätverk eller min 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, 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:

  • IngressSNAT-regel 1: Mappa 10.0.1.0/24 till 192.168.1.0/24.
  • IngressSNAT-regel 2: Mappa 10.0.2.0/25 till 192.168.2.0/25.

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

Viktigt!

Om du bara länkar en regel till den föregående anslutningen översätts inte det andra adressutrymmet.

Vilka IP-intervall kan jag använda för extern mappning?

Du kan använda alla lämpliga IP-intervall som du vill för extern mappning, inklusive offentliga och privata IP-adresser.

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

Ja. Du kan skapa flera EgressSNAT-regler för samma VNet-adressutrymme och sedan tillämpa EgressSNAT-reglerna på olika anslutningar.

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

Ja. Du använder vanligtvis samma IngressSNAT-regel när anslutningarna är för samma lokala nätverk för att tillhandahålla redundans. Du kan inte använda samma ingressregel om anslutningarna gäller för olika lokala nätverk.

Behöver jag både regler för ingress och utgående trafik på en NAT-anslutning?

Du behöver både ingångsregler och utgående regler för samma anslutning när det lokala nätverksadressutrymmet överlappar det virtuella nätverkets adressutrymme. Om det virtuella nätverkets adressutrymme är unikt för alla anslutna nätverk behöver du inte EgressSNAT-regeln för dessa anslutningar. Du kan använda ingångsreglerna för att undvika adress överlappning mellan de lokala nätverken.

Vad väljer jag som IP-konfigurations-ID?

IP-konfigurations-ID är bara namnet på det IP-konfigurationsobjekt som du vill att NAT-regeln ska använda. Med den här inställningen väljer du helt enkelt vilken gateway offentlig IP-adress som gäller för NAT-regeln. Om du inte har angett något anpassat namn när gatewayen skapas tilldelas gatewayens primära IP-adress till standard-IP-konfigurationen och den sekundära IP-adressen tilldelas till activeActive IP-konfigurationen.

Nästa steg

Se Konfigurera NAT på Azure VPN-gatewayer för steg för att konfigurera NAT för dina anslutningar mellan platser.