Kimenő kapcsolatokhoz használja a forráshálózati címfordítást (SNAT)

Bizonyos forgatókönyvek megkövetelik, hogy a virtuális gépek vagy számítási példányok kimenő internetkapcsolattal rendelkezzenek. A nyilvános terheléselosztó előtérbeli IP-címei a háttérpéldányok kimenő internetkapcsolatának biztosítására használhatók. Ez a konfiguráció a forráshálózati címfordítás (SNAT) használatával fordítja le a virtuális gép privát IP-címét a terheléselosztó nyilvános IP-címére. Az SNAT leképezi a háttérrendszer IP-címét a terheléselosztó nyilvános IP-címére. Az SNAT megakadályozza, hogy külső források közvetlen címmel rendelkezzenek a háttérpéldányokhoz.

Az Azure kimenő kapcsolati módszerei

A kimenő kapcsolatok engedélyezéséhez az Azure leggyakrabban használt módszerei a következők:

# Metódus A portfoglalás típusa Éles üzemű? Minősítés
0 A terheléselosztó előtérbeli IP-címének (ip-címeinek) használata kimenő szabályokon keresztüli kimenő forgalomhoz Statikus, explicit Igen, de nem nagy léptékben OK
2 NAT-átjáró társítása az alhálózathoz Dinamikus, explicit Igen Legjobb
3 Nyilvános IP-cím hozzárendelése a virtuális géphez Statikus, explicit Igen OK
4 Alapértelmezett kimenő hozzáférés Implicit Nem Legrosszabb

Az Azure kimenő beállításainak diagramja.

1. A terheléselosztó előtérbeli IP-címének használata kimenő szabályokon keresztüli kimenő forgalomhoz

Nyilvános terheléselosztó diagramja kimenő szabályokkal.

A kimenő szabályok lehetővé teszik az SNAT (forráshálózati címfordítás) explicit meghatározását egy szabványos nyilvános termékváltozatú terheléselosztóhoz. Ezzel a konfigurációval a terheléselosztó nyilvános IP-címét vagy IP-címét használhatja a háttérpéldányok kimenő kapcsolataihoz.

Ez a konfiguráció a következőket teszi lehetővé:

  • IP-cím maszkolása

  • Az engedélyezési listák egyszerűsítése

  • Csökkenti az üzembe helyezéshez szükséges nyilvános IP-erőforrások számát

Kimenő szabályokkal teljes deklaratív vezérléssel rendelkezik a kimenő internetkapcsolat felett. A kimenő szabályok lehetővé teszik, hogy manuális portkiosztással skálázhassa és hangolja ezt a képességet az adott igényekhez. Az SNAT-port manuális kiosztása a háttérkészlet mérete és a frontendIPConfigurations száma alapján segíthet elkerülni az SNAT-kimerülést.

Az SNAT-portokat manuálisan is lefoglalhatja "példányonkénti portok" vagy "a háttérpéldányok maximális száma" szerint. Ha virtuális gépekkel rendelkezik a háttérrendszerben, javasoljuk, hogy a portokat példányonkénti portok szerint foglalja le a maximális SNAT-porthasználat érdekében.

Példányonként számítsa ki a portokat az alábbiak szerint:

Előtérbeli IP-címek száma * 64K / Háttérpéldányok száma

Ha virtuálisgép-méretezési csoportokkal rendelkezik a háttérrendszerben, javasoljuk, hogy a portokat a "háttérpéldányok maximális száma" szerint foglalja le. Ha több virtuális gépet ad hozzá a háttérrendszerhez, mint amennyit a fennmaradó SNAT-portok engedélyezettek, le lehet tiltani a virtuálisgép-méretezési csoportok vertikális felskálázását, vagy az új virtuális gépek nem kapnak elegendő SNAT-portot.

A kimenő szabályokról további információt a Kimenő szabályok című témakörben talál.

2. NAT-átjáró társítása az alhálózathoz

NAT-átjáró és nyilvános terheléselosztó diagramja.

Az Azure NAT Gateway leegyszerűsíti a csak kimenő internetkapcsolatot a virtuális hálózatokhoz. Ha alhálózaton van konfigurálva, minden kimenő kapcsolat a megadott statikus nyilvános IP-címeket használja. A kimenő kapcsolat terheléselosztó vagy a virtuális gépekhez közvetlenül csatlakoztatott nyilvános IP-címek nélkül lehetséges. A NAT Gateway teljes mértékben felügyelt és rendkívül rugalmas.

A nat-átjáró használata a legjobb módszer a kimenő kapcsolatokhoz. A NAT-átjáró rendkívül bővíthető, megbízható, és nem ugyanazokkal az SNAT-portkimerüléssel kapcsolatos aggályai vannak.

A NAT-átjáró elsőbbséget élvez más kimenő kapcsolati módszerekkel szemben, beleértve a terheléselosztót, a példányszintű nyilvános IP-címeket és az Azure Firewallt.

Az Azure NAT Gatewayről további információt az Azure NAT Gateway ismertetése tartalmaz.

3. Nyilvános IP-cím hozzárendelése a virtuális géphez

A példányszintű nyilvános IP-címekkel rendelkező virtuális gépek diagramja.

Egyesületek Metódus IP-protokollok
Nyilvános IP-cím a virtuális gép hálózati adapterén Az SNAT (forráshálózati címfordítás)
nem használható.
TCP (Transmission Control Protocol)
UDP (User Datagram Protocol)
ICMP (Internet Control Message Protocol)
ESP (A biztonsági hasznos adatok beágyazása)

A forgalom a virtuális gép nyilvános IP-címéről (példányszintű IP-címről) tér vissza a kérelmező ügyfélhez.

Az Azure a példány hálózati adapterének IP-konfigurációja által hozzárendelt nyilvános IP-címet használja az összes kimenő folyamathoz. A példány minden rövid élettartamú portja elérhető. Nem számít, hogy a virtuális gép terhelése kiegyensúlyozott-e vagy sem. Ez a forgatókönyv elsőbbséget élvez a többi felhasználóval szemben, kivéve a NAT Gatewayt.

A virtuális géphez rendelt nyilvános IP-cím egy 1:1 kapcsolat (1: több helyett), és állapot nélküli 1:1 NAT-ként van implementálva.

4. Alapértelmezett kimenő hozzáférés

Az alapértelmezett kimenő hozzáférés diagramja.

Az Azure-ban a virtuális hálózaton explicit kimenő kapcsolat definiálása nélkül létrehozott virtuális gépekhez alapértelmezett kimenő nyilvános IP-cím van hozzárendelve. Ez az IP-cím lehetővé teszi az erőforrásokból az internetre irányuló kimenő kapcsolatot. Ezt a hozzáférést alapértelmezett kimenő hozzáférésnek nevezzük. Ez a hozzáférési módszer nem ajánlott , mivel nem biztonságos, és az IP-címek változhatnak.

Fontos

2025. szeptember 30-án az új üzembe helyezések alapértelmezett kimenő hozzáférése megszűnik. További információért tekintse meg a hivatalos bejelentést. Javasoljuk, hogy a fenti 1–3. lehetőségnek megfelelően használja a kapcsolat egyik kitevő formáját.

Mik azok az SNAT-portok?

A portok egyedi azonosítók létrehozására szolgálnak, amelyek különböző folyamatok fenntartására szolgálnak. Az internet egy öt-tuple, hogy ezt a különbséget.

Ha egy portot bejövő kapcsolatokhoz használnak, az adott porton van egy figyelő a bejövő kapcsolatkérésekhez. Ez a port nem használható kimenő kapcsolatokhoz. Kimenő kapcsolat létrehozásához egy rövid élettartamú portot használunk, amellyel a cél számára egy olyan portot biztosítunk, amelyen egy különálló forgalom kommunikál és tart fenn. Ha ezeket a rövid élettartamú portokat az SNAT-hez használják, SNAT-portoknak nevezzük őket.

Definíció szerint minden IP-cím 65 535 porttal rendelkezik. Mindegyik port használható a TCP (Transmission Control Protocol) és az UDP (User Datagram Protocol) bejövő vagy kimenő kapcsolataihoz. Ha egy nyilvános IP-cím előtérbeli IP-címként van hozzáadva egy terheléselosztóhoz, 64 000 port jogosult az SNAT használatára.

A terheléselosztási vagy bejövő NAT-szabályban használt portok mindegyike nyolc portból álló tartományt használ a 64 000 rendelkezésre álló SNAT-portból. Ez a használat csökkenti az SNAT-hez jogosult portok számát, ha ugyanazt az előtérbeli IP-címet használja a kimenő kapcsolatokhoz. Ha a terheléselosztási vagy bejövő NAT-szabályok által használt portok ugyanabban a blokkban vannak, amelyben egy másik szabály nyolc portot használ, a szabályok nem igényelnek további portokat.

Feljegyzés

Ha bármilyen támogatott Azure PaaS-szolgáltatáshoz , például az Azure Storage-hoz, az Azure SQL-hez vagy az Azure Cosmos DB-hez kell csatlakoznia, az Azure Private Link használatával teljes mértékben elkerülheti az SNAT-t. Az Azure Private Link nem az interneten, hanem az Azure gerinchálózatán keresztül küld forgalmat a virtuális hálózatról az Azure-szolgáltatásoknak.

A Privát kapcsolat a szolgáltatásvégpontokon ajánlott az Azure által üzemeltetett szolgáltatásokhoz való privát hozzáféréshez. A privát kapcsolat és a szolgáltatásvégpontok közötti különbségről további információt a privát végpontok és a szolgáltatásvégpontok összehasonlítása című témakörben talál.

Hogyan működik az alapértelmezett SNAT?

Amikor egy virtuális gép kimenő folyamatot hoz létre, az Azure lefordítja a forrás IP-címet egy rövid élettartamú IP-címre. Ez a fordítás SNAT-en keresztül történik.

Ha az SNAT-t nyilvános terheléselosztón keresztül kimenő szabályok nélkül használja, az SNAT-portok előre ki vannak foglalva az alábbi alapértelmezett SNAT-portok foglalási táblájában leírtak szerint:

Alapértelmezett portfoglalási tábla

Ha a terheléselosztási szabályok az alapértelmezett portfoglalás használatára vannak kiválasztva, vagy a kimenő szabályok a "Kimenő portok alapértelmezett számának használata" beállítással vannak konfigurálva, a rendszer alapértelmezés szerint lefoglalja az SNAT-portokat a háttérkészlet mérete alapján. A háttérrendszerek legfeljebb 1024 portig megkapják a tábla által meghatározott portok számát előtér-IP-címenként.

Ha például 100 virtuális gép van egy háttérkészletben, és csak egy előtér-IP-cím van, mindegyik virtuális gép 512 portot kap. Ha hozzáad egy második előtérbeli IP-címet, minden virtuális gép további 512 portot kap. Ez azt jelenti, hogy minden virtuális gép összesen 1024 portot foglal le. Ennek eredményeképpen egy harmadik előtérbeli IP-cím hozzáadása NEM növeli a lefoglalt SNAT-portok számát az 1024-es portokon túl.

Ökölszabályként az alapértelmezett portkiosztás használatakor megadott SNAT-portok száma a következőképpen számítható ki: MIN(az alapértelmezett SNAT-portok száma a készlet mérete alapján * a készlethez társított előtér IP-címek száma, 1024)

Az alábbi táblázat az SNAT-port előtelepítéseit mutatja be egyetlen előtér-IP-címhez a háttérkészlet méretétől függően:

Készlet mérete (virtuálisgép-példányok) Alapértelmezett SNAT-portok
1-50 1,024
51–100 512
101–200 256
201–400 128
401-800 64
801-1,000 32

Portfogyás

Minden kapcsolat ugyanahhoz a cél IP-címhez és célporthoz SNAT-portot használ. Ez a kapcsolat a háttérpéldánytól vagy az ügyféltől a kiszolgálóig eltérő forgalomáramlást tart fenn. Ez a folyamat egy különálló portot biztosít a kiszolgálónak, amelyen a forgalom kezelhető. E folyamat nélkül az ügyfélszámítógép nem tudható, hogy egy csomag melyik folyamat része.

Képzelje el, hogy több böngészőt is használ https://www.microsoft.com, ami a következő:

  • Cél IP-címe = 23.53.254.142

  • Célport = 443

  • Protokoll = TCP

A visszatérési forgalomhoz tartozó SNAT-portok nélkül az ügyfélnek nincs módja arra, hogy elválasztsa az egyik lekérdezési eredményt a másiktól.

A kimenő kapcsolatok megszakadhatnak. A háttérpéldányok nem foglalhatók le elegendő portként. Használja a kapcsolat újrafelhasználási funkcióit az alkalmazásban. A kapcsolat újbóli felhasználása nélkül az SNAT-portok kimerülésének kockázata megnő.

A Azure-alkalmazás Szolgáltatással való kapcsolatkészletezésről további információt a Azure-alkalmazás Szolgáltatás időszakos kimenő csatlakozási hibáinak elhárítása című témakörben talál.

A cél IP-címhez való új kimenő kapcsolatok sikertelenek lesznek a portkimerülés esetén. Csatlakozás-kapcsolatok akkor lesznek sikeresek, ha egy port elérhetővé válik. Ez a kimerültség akkor fordul elő, ha egy IP-cím 64 000 portja vékonyan oszlik el számos háttérpéldányon. Az SNAT-portok kimerülésének csökkentésére vonatkozó útmutatásért tekintse meg a hibaelhárítási útmutatót.

TCP-kapcsolatok esetén a terheléselosztó egyetlen SNAT-portot használ minden cél IP-címhez és porthoz. Ez a többfunkciós funkció több kapcsolatot is engedélyez ugyanahhoz a cél IP-címhez ugyanazzal az SNAT-porttal. Ez a többfunkciós kapcsolat korlátozott, ha a kapcsolat nem különböző célportokhoz kapcsolódik.

UDP-kapcsolatok esetén a terheléselosztó egy portkorlátozott cone NAT-algoritmust használ, amely cél IP-címenként egy SNAT-portot használ a célporttól függetlenül.

A portok korlátlan számú kapcsolat esetén újra felhasználhatók. A port csak akkor lesz újra felhasználható, ha a cél IP-címe vagy portja eltérő.

Megszorítások

  • Ha a kapcsolat tétlen, és nem küld új csomagokat, a portok 4–120 perc múlva lesznek felszabadítva.

  • Ez a küszöbérték kimenő szabályokkal konfigurálható.

  • Minden IP-cím 64 000 portot biztosít, amelyek az SNAT-hoz használhatók.

  • Mindegyik port használható a CÉL IP-címhez való TCP- és UDP-kapcsolatokhoz is

  • UDP SNAT-portra van szükség, függetlenül attól, hogy a célport egyedi-e vagy sem. A cél IP-címhez való minden UDP-kapcsolathoz egy UDP SNAT-portot használunk.

  • A TCP SNAT-portok több kapcsolathoz is használhatók ugyanahhoz a cél IP-címhez, feltéve, hogy a célportok eltérőek.

  • Az SNAT-kimerülés akkor fordul elő, ha egy háttérpéldány elfogy a megadott SNAT-portok közül. A terheléselosztó továbbra is rendelkezhet nem használt SNAT-portokkal. Ha egy háttérpéldány használt SNAT-portjai túllépik a megadott SNAT-portokat, nem tud új kimenő kapcsolatokat létesíteni.

  • A töredezett csomagok elvetése csak akkor történik, ha a kimenő forgalom a virtuális gép hálózati adapterén egy példányszintű nyilvános IP-címen keresztül történik.

  • A hálózati adapter másodlagos IP-konfigurációi nem biztosítanak kimenő kommunikációt (kivéve, ha egy nyilvános IP-cím van hozzá társítva) terheléselosztón keresztül.

Következő lépések