Udostępnij za pośrednictwem


Źródłowe tłumaczenie adresów sieciowych (SNAT) za pomocą usługi Azure NAT Gateway

Źródłowe tłumaczenie adresów sieciowych (SNAT) umożliwia ruch z prywatnej sieci wirtualnej do łączenia się z Internetem, a jednocześnie pozostaje w pełni prywatny. Funkcja SNAT ponownie zapisuje źródłowy adres IP i port pakietu źródłowego do publicznego adresu IP i kombinacji portów. Porty są używane jako unikatowe identyfikatory, aby odróżnić różne połączenia od siebie. Internet używa skrótu pięcioelementowej krotki (protokół, źródłowy adres IP/port, docelowy adres IP/port) w celu zapewnienia tego rozróżnienia.

Funkcja SNAT umożliwia także wielu prywatnym wystąpieniom w sieci wirtualnej korzystanie z tego samego publicznego adresu IP lub zestawu adresów IP (prefiksu) do połączenia się z Internetem.

Brama translatora adresów sieciowych umożliwia korzystanie z wielu do jednego protokołu SNAT. Wiele wystąpień prywatnych w podsieci może używać SNAT, aby połączyć się z publicznym adresem IP przypisanym do bramy NAT w celu połączenia się z Internetem. Gdy brama NAT wykonuje wiele połączeń z tym samym punktem końcowym docelowym, każda nowa sesja połączeniowa używa innego portu SNAT, aby można było je od siebie odróżnić.

Wyczerpanie portów SNAT występuje, gdy w źródłowym punkcie końcowym zabrakło dostępnych portów SNAT, aby odróżnić nowe połączenia. Gdy wystąpi wyczerpanie portów SNAT, połączenia kończą się niepowodzeniem.

Skalowanie SNAT dla bramy NAT

Skalowanie bramy NAT jest przede wszystkim funkcją zarządzania zapasem współdzielonych dostępnych portów SNAT.

Spis portów SNAT jest zapewniany przez publiczne adresy IP oraz ich prefiksy, obie opcje, które są dołączone do bramy NAT. Spis portów SNAT jest udostępniany na żądanie wszystkim instancjom w podsieci dołączonej do NAT gateway. W miarę skalowania obciążenia wystąpień prywatnych podsieci, brama NAT przydziela porty SNAT w miarę potrzeb.

Jeśli wiele podsieci w sieci wirtualnej jest dołączonych do tego samego zasobu bramy translatora adresów sieciowych, spis portów SNAT udostępniany przez bramę translatora adresów sieciowych jest współużytkowany we wszystkich podsieciach.

Pojedyncza brama NAT może rozszerzać się do 16 adresów IP. Każdy publiczny adres IP bramy NAT zapewnia 64 512 portów SNAT do nawiązywania połączeń wychodzących. Brama NAT może skaluje się do ponad 1 miliona portów SNAT. Protokoły TCP i UDP są oddzielnymi listami portów SNAT i nie mają związku z bramą NAT.

Brama NAT dynamicznie przydziela porty SNAT

Brama NAT dynamicznie przydziela porty SNAT w zasobach prywatnych podsieci, takich jak maszyny wirtualne. Wszystkie dostępne porty SNAT są używane na żądanie przez dowolną maszynę wirtualną w podsieciach skonfigurowanych z bramą NAT.

Diagram alokacji portów SNAT.

Rysunek: Alokacja portów SNAT

Wstępne przydzielenie portów SNAT do każdej maszyny wirtualnej jest wymagane dla innych metod SNAT. Ta wstępna alokacja portów SNAT może spowodować wyczerpanie portów SNAT na niektórych maszynach wirtualnych, podczas gdy inne nadal mają dostępne porty SNAT do nawiązywania połączenia wychodzącego.

W przypadku bramy translatora adresów sieciowych wstępne rezerwowanie portów SNAT nie jest wymagane, co oznacza, że porty SNAT nie pozostają niewykorzystane przez maszyny wirtualne, które nie potrzebują ich aktywnie.

Po zwolnieniu portu SNAT jest on dostępny do użycia przez dowolną maszynę wirtualną w podsieciach skonfigurowanych z bramą NAT. Alokacja na żądanie umożliwia dynamiczne i rozbieżne obciążenia w podsieciach do używania portów SNAT zgodnie z potrzebami. Dopóki porty SNAT są dostępne, przepływy SNAT przebiegają pomyślnie.

Diagram wyczerpania portów SNAT.

Rysunek: Wyczerpanie portów SNAT

Wybór portu SNAT bramy translatora adresów sieciowych i ponowne użycie

Brama NAT losowo wybiera port SNAT z dostępnej puli portów, aby nawiązać nowe połączenia wychodzące. Jeśli brama NAT nie znajdzie żadnych dostępnych portów SNAT, ponownie użyje portu SNAT. Ten sam port SNAT może służyć do łączenia się z wieloma różnymi miejscami docelowymi w tym samym czasie.

Port SNAT można użyć ponownie, aby nawiązać połączenie z tym samym docelowym punktem końcowym. Przed ponownym użyciem portu brama NAT umieszcza timer ponownego użycia portu SNAT w celu ochłodzenia portu po zamknięciu połączenia.

Czasomierz ponownego używania portu SNAT zapobiega zbyt szybkiemu wybieraniu portów w celu nawiązania połączenia z tym samym miejscem docelowym. Ten proces jest przydatny, gdy docelowe punkty końcowe mają skonfigurowane zapory lub inne usługi, które umieszczają czasomierz ochładzania na portach źródłowych. Timery ponownego użycia portów SNAT różnią się w zależności od sposobu zamknięcia przepływu danych. Aby dowiedzieć się więcej, zobacz Liczniki ponownego użycia portów.

Diagram ponownego użycia portu SNAT.

Rysunek: Ponowne użycie portów SNAT

Przykładowe przepływy SNAT dla bramy translatora adresów sieciowych

Wiele do jednego SNAT z bramą NAT

Brama NAT zapewnia konfigurację wielu do jednego, w której wiele prywatnych instancji w podsieci skonfigurowanej z bramą NAT może korzystać z tego samego publicznego adresu IP do połączeń wychodzących.

W poniższej tabeli dwie różne maszyny wirtualne (10.0.0.1 i 10.2.0.1) tworzą połączenia z https://microsoft.com docelowym adresem IP 23.53.254.142. Gdy brama translatora adresów sieciowych jest skonfigurowana przy użyciu publicznego adresu IP 65.52.1.1, adresy IP źródłowe każdej maszyny wirtualnej są tłumaczone na publiczny adres IP bramy translatora adresów sieciowych i port SNAT:

Przepływ Tupla źródłowa Krotka źródłowa po zastosowaniu SNAT Krotka docelowa
1 10.0.0.1:4283 65.52.1.1:1234 23.53.254.142:80
2 10.0.0.1:4284 65.52.1.1:1235 23.53.254.142:80
3 10.2.0.1:5768 65.52.1.1:1236 23.53.254.142:80

Maskowanie adresów IP lub maskowanie portów to czynność zastąpienia prywatnego adresu IP i portu publicznym adresem IP i portem przed nawiązaniem połączenia z Internetem. Wiele zasobów prywatnych można zamaskować za tym samym publicznym adresem IP bramy NAT.

Brama NAT ponownie używa portu SNAT, aby połączyć się z nowym celem.

Jak wspomniano wcześniej, brama NAT może ponownie użyć tego samego portu SNAT, aby równocześnie łączyć się z nowym docelowym punktem końcowym. W poniższej tabeli brama NAT przekształca ruch numer 4 na port SNAT, który jest już używany do innych celów (patrz ruch numer 1 z poprzedniej tabeli).

Przepływ Krotka źródłowa Krotka źródłowa po zastosowaniu SNAT Krotka docelowa
4 10.0.0.1:4285 65.52.1.1:1234 26.108.254.155:80

Okres schładzania portu SNAT bramy NAT przed ponownym użyciem do tego samego celu.

W scenariuszu, w którym brama NAT ponownie używa portu SNAT do nawiązywania nowych połączeń z tym samym punktem docelowym, port SNAT jest najpierw umieszczany w fazie ponownego wykorzystania, aby się schłodzić. Okres ponownego użycia portów SNAT pomaga zapewnić, że porty SNAT nie są zbyt szybko używane podczas nawiązywania połączenia z tym samym miejscem docelowym. Ponowne użycie portu SNAT w celu zmniejszenia obciążenia bramy NAT jest korzystne w sytuacjach, gdy docelowy punkt końcowy ma zaporę z własnym czasomierzem portu źródłowego do odczekiwania.

Aby zademonstrować działanie okresu schładzania przy ponownym użyciu portu SNAT, przyjrzyjmy się bliżej 4 przepływowi z poprzedniej tabeli. Flow 4 łączył się z docelowym punktem końcowym zabezpieczonym przez zaporę ogniową z 20-sekundowym czasomierzem przerwy dla portu źródłowego.

Przepływ Krotka źródłowa Krotka źródłowa po zastosowaniu SNAT Krotka docelowa Połączenie typu pakietu jest zamknięte Docelowy czasomierz zapory do ochładzania dla portu źródłowego
4 10.0.0.1:4285 65.52.1.1:1234 26.108.254.155:80 TCP FIN 20 sekund

Przepływ połączenia 4 zamyka się pakietem TCP FIN. Ponieważ połączenie jest zamykane pakietem TCP FIN, brama NAT umieszcza port SNAT 1234 w stanie chłodzenia na 65 sekund, zanim będzie można użyć go ponownie. Ponieważ port 1234 jest w trybie schładzania dłużej niż czas trwania 20-sekundowego czasomierza schładzania portu źródłowego w zaporze, przepływ połączenia 5 może ponownie używać portu SNAT 1234 bez problemu.

Przepływ Krotka źródłowa Krotka źródłowa po zastosowaniu SNAT Krotka docelowa
5 10.2.0.1:5769 65.52.1.1:1234 26.108.254.155:80

Należy pamiętać, że brama NAT przypisuje porty SNAT do różnych czasomierzy ponownego użycia, w zależności od sposobu zamknięcia poprzedniego połączenia. Aby uzyskać więcej informacji na temat czasomierzy ponownego używania portów SNAT, zobacz Ponowne używanie czasomierzy portów.

Nie należy opierać się na określonym sposobie przypisywania portów źródłowych w powyższych przykładach. Powyższe są ilustracjami tylko podstawowych pojęć.