Co to jest usługa Azure NAT Gateway?
Jako główny inżynier systemu i administrator platformy Azure, który ma za zadanie rozwiązać bieżące problemy z łącznością z maszynami wirtualnymi platformy Azure, pierwszym krokiem jest zrozumienie doświadczenia technologicznego i możliwości usługi Azure NAT Gateway.
Azure NAT Gateway to w pełni zarządzana usługa w chmurze, która działa na platformie Azure. Jest wysoce odporny, skalowalny i łatwy do skonfigurowania. W przypadku korzystania z usługi Azure NAT Gateway z istniejącymi sieciami wirtualnymi na platformie Azure poszczególne maszyny wirtualne lub inne zasoby platformy Azure mogą pozostać w pełni prywatne, chyba że hostują usługi akceptujące połączenia przychodzące z Internetu. Wszystkie połączenia wychodzące inicjowane z sieci wirtualnej używają statycznych publicznych adresów IP bramy translatora adresów sieciowych.
Omówienie translatora adresów sieciowych
Translator adresów sieciowych nie jest nową technologią. Jest używany przez dziesięciolecia do mapowania lokalnych adresów IP na adresy publiczne. Jednym z głównych celów translatora adresów sieciowych jest zapisanie publicznych adresów IPv4, co jest szczególnie przydatne dla dostawców usług internetowych (ISPs). Firmy te mogą używać translatora adresów sieciowych do mapowania zakresu wielu prywatnych adresów IPv4 na tylko jeden publiczny adres IP lub do kilku publicznych adresów IP.
Translator adresów sieciowych jest również używany w domach i sieciach lokalnych. Jeśli masz router domowy, który łączy Cię z Internetem, prawdopodobnie zaimplementowano translator adresów sieciowych. Dzięki temu wszystkie urządzenia są kierowane do Internetu przy użyciu tylko jednego publicznego adresu IP. Translator adresów sieciowych ukrywa również wewnętrzną przestrzeń adresową, dzięki czemu cały ruch wychodzący wydaje się pochodzić z jednego publicznego adresu IP. Adres IP jest przypisywany do routera lub urządzenia bramy.
W przypadku korzystania z translatora adresów sieciowych ważne jest zrozumienie portów protokołu TCP (Transmission Control Protocol) i ich przeznaczenia. Translacja adresów portów umożliwia każdemu hostowi w sieci prywatnej komunikowanie się z Internetem przy użyciu jednego publicznego adresu IP, dzięki czemu każda ścieżka komunikacji jest ustanawiana za pośrednictwem unikatowego portu TCP. Przebieg procesu:
Urządzenie w sieci prywatnej ustanawia połączenie z zasobem w Internecie. Translator adresów sieciowych zastępuje wewnętrzny adres IP urządzenia w nagłówku pakietu zewnętrznym adresem IP urządzenia NAT.
Następnie translacja adresów portów przypisuje połączenie numer portu z puli dostępnych portów.
Numer portu jest wstawiany w polu portu źródłowego w nagłówku pakietu, a pakiet jest następnie przekazywany do Internetu.
Następnie urządzenie NAT rejestruje wpis w tabeli tłumaczenia sieciowego:
- Dla każdego ustanowionego połączenia ten wpis zawiera wewnętrzny adres IP, oryginalny port źródłowy i przetłumaczony port źródłowy.
- Kolejne pakiety z tego samego wewnętrznego źródłowego adresu IP i numeru portu są zawsze tłumaczone na ten sam zewnętrzny adres IP i numer portu.
Komputer odbierający pakiet, który przeszedł TRANSLATOR adresów sieciowych, ustanawia następnie połączenie z portem i adresem IP określonym w zmienionym pakiecie, nieświadomie faktu, że podany adres jest tłumaczony.
Na poniższym diagramie przedstawiono proces NAT.
Uwaga
Translator adresów sieciowych jest najczęściej używany do nawiązywania połączeń wychodzących z Internetem. Nie może jednak bezpośrednio zarządzać połączeniami przychodzącymi z Internetu. W tym celu należy używać różnych technologii.
Usługa TRANSLATOR adresów sieciowych na platformie Azure
Podczas tworzenia sieci wirtualnej na platformie Azure przypisujesz jej prywatną przestrzeń adresową, a następnie utworzysz jedną lub więcej podsieci do tej sieci. Podczas tworzenia maszyny wirtualnej na platformie Azure, a następnie umieszczania jej w tej sieci wirtualnej, pobiera lokalny adres IP z tej sieci. Jeśli chcesz zaakceptować wychodzące połączenia internetowe na tej maszynie wirtualnej, możesz również przypisać do tej maszyny wirtualnej obiekt publicznego adresu IP.
Uwaga
Maszyny wirtualne platformy Azure, do których nie przypisujesz publicznego adresu IP, mogą nadal uzyskiwać dostęp do Internetu przy użyciu tłumaczenia adresów sieciowych platformy Azure lub tłumaczenia adresów portowych. Jednak w takich przypadkach nie można kontrolować, który publiczny adres IP będzie używany dla połączeń wychodzących. Nie można również włączyć połączeń przychodzących ani użyć protokołu RDP (Remote Desktop Protocol), aby nawiązać połączenie z tymi maszynami wirtualnymi spoza; Zamiast tego należy użyć hosta usługi Azure Bastion.
Aby zapewnić bezpieczeństwo, kontrolę i skalowalną łączność wychodzącą dla maszyn wirtualnych platformy Azure i innych zasobów, możesz utworzyć wystąpienie usługi Azure NAT Gateway. Następnie przypiszesz wystąpienie do co najmniej jednej podsieci w tej samej sieci wirtualnej na platformie Azure.
Usługa Azure NAT Gateway pomaga następnie bezpiecznie przetłumaczyć prywatne adresy IP na publiczny adres IP, jak przedstawiono na poniższym diagramie: