Czym jest translacja adresów sieciowych (NAT)?
Translacja Adresów Sieciowych (NAT) to zaawansowana technika umożliwiająca zarówno użytkownikom indywidualnym, jak i organizacjom tworzenie bezpiecznych, ekonomicznych i nieskomplikowanych połączeń z globalną siecią Internet.
NAT nie tylko zwiększa poziom bezpieczeństwa, ale również zapewnia większą elastyczność, skalowalność i przyspiesza komunikację sieciową.
Wykorzystanie NAT ma także wpływ na ochronę puli publicznych adresów IP.
Ale czym właściwie jest NAT i dlaczego warto poświęcić czas na zrozumienie jego działania i potencjalne wykorzystanie?
W tym artykule postaram się odpowiedzieć na te pytania.
Zacznijmy od zdefiniowania, czym jest NAT.
Definicja translacji adresów sieciowych (NAT)
Translacja Adresów Sieciowych (NAT) to proces, w którym zakres adresów IP jest mapowany na inny, co oznacza modyfikację danych adresu sieciowego podczas przesyłu informacji.
Mówiąc inaczej, NAT pozwala na to, aby jeden, unikalny adres IP (Internet Protocol) reprezentował pojedynczy komputer lub grupę komputerów. W praktyce, wiele urządzeń w sieci może współdzielić jeden publiczny adres IP, pomimo posiadania prywatnych adresów IP w tej samej sieci.
Początkowo, ta metoda była stosowana, by wyeliminować konieczność przypisywania nowych adresów IP każdemu hostowi indywidualnie przy zmianie dostawcy usług internetowych (ISP) lub w przypadku przeniesienia całej sieci. Pomimo tych zmian, adres IP sieci pozostaje identyczny.
Co ciekawe, brama NAT może udostępnić pojedynczy, routowalny adres IP, który może być bez problemu używany w całej sieci prywatnej. Z racji tego, że NAT modyfikuje dane adresów IP w trakcie przesyłania, istnieją różne implementacje NAT, różniące się zachowaniem w zależności od scenariusza adresowania, co wpływa na ruch sieciowy.
Funkcje NAT
W systemie NAT, urządzenie sieciowe, takie jak zapora sieciowa NAT lub router, przypisuje publiczny adres IP jednemu komputerowi lub grupie komputerów w sieci prywatnej. Dzięki temu, NAT umożliwia pojedynczemu urządzeniu pośredniczenie w komunikacji pomiędzy sieciami publicznymi, prywatnymi oraz lokalnymi.
NAT pozwala zachować adresy IP, umożliwiając urządzeniom z prywatnymi adresami IP uzyskanie dostępu do internetu przy użyciu adresów niepublicznych. Przed wysłaniem pakietów danych pomiędzy połączonymi sieciami, NAT transformuje lokalne, prywatne adresy sieciowe na unikalne, globalne i publiczne adresy.
W konfiguracji NAT, tylko jeden adres IP jest widoczny dla świata zewnętrznego, choć reprezentuje on całą sieć. W rezultacie, cała wewnętrzna sieć jest ukryta, co zapewnia większe bezpieczeństwo i prywatność. Implementacje NAT są szczególnie efektywne w środowiskach zdalnego dostępu.
Jak działa NAT?
Translacja adresów sieciowych umożliwia urządzeniu, jak router NAT lub zapora sieciowa, pełnienie roli pośrednika między siecią wewnętrzną (lokalną) a zewnętrznymi sieciami (internetem). Pozwala to całej grupie urządzeń na korzystanie z tego samego adresu IP podczas wykonywania zadań poza siecią.
NAT działa niczym recepcjonista w firmie, który decyduje, którzy goście lub połączenia powinny być przepuszczone, odłożone lub zatrzymane, na podstawie konkretnych wytycznych. NAT działa w podobny sposób. Wszystkie żądania przychodzą na publiczny port i adres IP. W tym miejscu, dyrektywy NAT decydują, gdzie powinno trafić żądanie, ukrywając przy tym prywatny adres IP miejsca docelowego.
NAT wybiera bramy między dwoma różnymi sieciami – zewnętrzną i wewnętrzną. Wszystkie systemy wewnątrz sieci będą posiadały adresy IP, które nie są routowalne w sieci zewnętrznej. Dodatkowo, niektóre z prawidłowych adresów IP z zewnątrz są przypisywane do bramy, przez co ruch wychodzący wygląda tak, jakby pochodził z poprawnego, zewnętrznego adresu IP.
Następnie, ruch przychodzący jest kierowany do właściwego systemu wewnętrznego. W ten sposób, powstaje bezpieczeństwo. Z uwagi na to, że żądania przychodzące i wychodzące muszą przejść proces translacji, jest to dobry sposób na weryfikację ruchu przychodzącego i dopasowanie go do strumieni wychodzących.
Przykład działania NAT
Oto przykład, jak NAT funkcjonuje w rzeczywistości.
Użytkownik łączy swoje urządzenia z domową siecią Wi-Fi. Domowy router przypisze urządzeniu prywatny adres IP, przeznaczony do użytku tylko w obrębie tej sieci.
Kiedy użytkownik próbuje załadować stronę internetową, jego urządzenie kieruje żądanie strony docelowej przez router. Router NAT zmienia adres źródłowy żądania, z prywatnego adresu IP urządzenia na publiczny adres IP sieci. Ta translacja jest zapisywana w tabeli NAT, gdzie brama sprawdza, czy dany pakiet danych spełnia warunki translacji.
Serwer, do którego użytkownik chce uzyskać dostęp, odsyła żądany pakiet danych na publiczny adres IP sieci. W dalszej kolejności, router modyfikuje adres docelowy na prywatny adres IP urządzenia, jednocześnie przekazując pakiety danych do urządzenia użytkownika.
Rodzaje NAT
Istnieje kilka rodzajów NAT, które można wykorzystać do różnych celów.
#1. SNAT
Statyczny NAT (SNAT) to rodzaj NAT, który tłumaczy prywatny adres IP na publiczny adres IP. SNAT konsekwentnie używa tego samego publicznego adresu IP za każdym razem, gdy dokonuje translacji.
SNAT może mapować niepubliczny adres IP za pomocą relacji jeden-do-jednego na pasujący publiczny adres IP. Oznacza to, że wszystkie urządzenia w tej sieci będą miały ten sam publiczny adres IP. W tym przypadku, zmieniają się jedynie dwie informacje w adresie sieciowym – nagłówek i adres IP.
Jest to rozwiązanie przydatne w przypadku urządzeń, do których użytkownicy muszą mieć dostęp z sieci zewnętrznej. SNAT jest również stosowany przy łączeniu dwóch różnych sieci IP o niekompatybilnych adresach. Ponadto, znajduje zastosowanie w hostingu. Zwykle, osoby prywatne i mniejsze organizacje wykorzystują SNAT przy mniejszej liczbie urządzeń, by zminimalizować koszty.
#2. DNAT
Dynamiczny NAT (DNAT) to rodzaj NAT, który mapuje prywatny adres IP na pulę publicznych adresów IP. W przeciwieństwie do SNAT, DNAT nie wykorzystuje za każdym razem tego samego adresu IP, lecz innego, przy czym zachowana zostaje relacja jeden-do-jednego, podobnie jak w SNAT.
W tym scenariuszu, zapora sieciowa lub router DNAT ma dostęp do puli publicznych, zarejestrowanych adresów IP. Gdy DNAT przetwarza adres sieciowy z prywatnego na publiczny, router wybiera dowolny dostępny adres IP z puli. Następnie rozpoczyna się proces mapowania adresu niepublicznego na publiczny.
DNAT umożliwia urządzeniu przypisywanie różnych adresów IP dla każdej translacji. To z kolei oznacza, że nie wiadomo, na który adres globalny został zmapowany adres prywatny. To rozwiązanie jest efektywne, gdyż do sieci można podłączyć więcej urządzeń.
Jednakże, może to być rozwiązanie kosztowne, z uwagi na konieczność inwestycji w publiczną pulę adresów IP. Ponadto, liczba pakietów danych, które można przesłać, jest ograniczona. Można wysyłać i odbierać pakiety danych tylko w liczbie równej całkowitej liczbie adresów publicznych dostępnych w puli.
DNAT jest odpowiedni dla dużych organizacji z kilkoma sieciami wewnętrznymi. Sprawdza się również, gdy jest stała liczba użytkowników, którzy chcą mieć dostęp do Internetu.
#3. PAT
Translacja adresów portów (PAT), zwana też przeciążeniem NAT, polega na tym, że każde urządzenie wewnętrzne używa współdzielonego publicznego adresu IP. Każdemu prywatnemu adresowi IP przypisywany jest jednak inny port.
W systemie PAT, różne porty są wykorzystywane do mapowania różnych lokalnych, niepublicznych i prywatnych adresów IP na tylko jeden zarejestrowany adres IP. PAT rozróżnia, który ruch sieciowy odpowiada jakiemu adresowi IP.
PAT to rodzaj NAT, w którym pakiety danych mają zmodyfikowane adresy źródłowe podczas podróży z sieci prywatnej do publicznej. Zmodyfikowany jest również adres docelowy, kiedy pakiety wracają z sieci publicznej do prywatnej.
Co więcej, pakiety danych mają zmienione numery portów, aby translacja była jednoznaczna. Ta kombinacja zmodyfikowanego adresu IP i numeru portu jest mapowana przy użyciu zarejestrowanego adresu prywatnego IP.
Wiele osób uważa, że PAT jest bardziej ekonomiczny od NAT. Powodem jest to, że wielu użytkowników może łączyć się z siecią, używając tylko jednego publicznego adresu IP. Niezależnie od tego, czy jesteś dużą, małą, czy średnią organizacją, możesz z niego korzystać.
Oprócz SNAT, DNAT i PAT, możesz spotkać się także z RNAT oraz nakładającym się NAT.
- RNAT umożliwia łączenie się z siecią za pośrednictwem publicznego Internetu.
- Nakładający się NAT występuje, gdy łączą się dwie sieci organizacji używające adresów IP RFC 1918. Sytuacja taka może mieć miejsce również, gdy zarejestrowane adresy IP są przypisane do kilku urządzeń lub są używane w wielu sieciach wewnętrznych. W takiej sytuacji nakładający się NAT łączy sieci bez konieczności zmiany adresów poszczególnych urządzeń.
Dlaczego NAT jest ważny?
Urządzenie lub system sieciowy potrzebuje adresu IP, unikalnego zestawu liczb rozdzielonych kropkami, by móc komunikować się z siecią. Ten numer służy do identyfikacji oraz lokalizacji urządzenia sieciowego, a także do umożliwienia użytkownikom interakcji z siecią.
Adresy IP dzielą się na dwa rodzaje – IPv4 i IPv6. W początkach Internetu, powstało około 4.3 miliarda adresów IPv4. Nie każdy adres mógł być jednak przypisany do urządzenia, które miało prowadzić komunikację. Część adresów została przeznaczona na testy, cele wojskowe i transmisje. W sumie, do komunikacji dostępnych było około 3 miliardów adresów IP.
W 2019 roku, RIPE NCC przydzielił ostatnie adresy IPv4 z dostępnej puli, co oznaczało wyczerpanie puli adresów IPv4. By temu zapobiec, wprowadzono adresowanie IPv6. IPv6 rozszerza adresowanie IP i oferuje więcej opcji przydzielania adresów. Niemniej jednak, zmiana lub wdrożenie systemu sieciowego wymagało wielu lat.
Wtedy pojawił się NAT. W międzyczasie, firma Cisco wprowadziła translację NAT, która jest obecnie powszechnie stosowana.
NAT stał się popularnym sposobem na oszczędzanie globalnej przestrzeni adresowej, szczególnie w sytuacji, gdy adresy IPv4 uległy wyczerpaniu. NAT służy także do ukrywania zakresów adresów IP sieci prywatnych, zapewniając oszczędności i bezpieczeństwo.
Zalety NAT
Ochrona adresów IP
NAT pomaga w zachowaniu prawnie zarejestrowanych adresów IP, a także chroni je przed wyczerpaniem. Patrząc na rosnącą liczbę użytkowników internetu na całym świecie, jest to świetna inicjatywa, aby sieć stała się dostępną przestrzenią dla wszystkich.
Bezpieczeństwo
Dzięki NAT, można uzyskać dostęp do sieci z większym bezpieczeństwem i prywatnością, ponieważ NAT ukrywa adres IP urządzenia przed siecią publiczną, nawet w trakcie transmisji pakietów danych. Ograniczenie prędkości NAT pozwala również kontrolować maksymalną liczbę operacji NAT wykonywanych jednocześnie na routerze.
W ten sposób zyskuje się lepszą kontrolę nad wykorzystaniem adresów NAT i minimalizuje skutki działania wirusów, robaków, ataków typu Denial of Service (DoS) itp. Wdrożenie dynamicznego NAT (DNAT) automatycznie tworzy zaporę ogniową pomiędzy Internetem a siecią wewnętrzną. Dodatkowo, niektóre routery NAT mogą oferować funkcje bezpieczeństwa, takie jak filtrowanie i rejestrowanie ruchu.
Wiele połączeń
Ustanowienie wielu połączeń internetowych pomaga w utrzymaniu niezawodności sieci i zmniejsza możliwość przestojów w przypadku awarii połączenia. Przyczynia się to również do równoważenia obciążenia, zmniejszając liczbę urządzeń korzystających z jednego połączenia.
Dodatkowo, sieci wieloadresowe zwykle łączą się z wieloma dostawcami usług internetowych, którzy przypisują organizacji jeden lub więcej adresów IP. Routery mogą wykorzystywać NAT do kierowania ruchem w sieciach z różnymi protokołami NAT.
Co więcej, sieć wieloadresowa komunikuje się poprzez umożliwienie routerowi korzystania z części protokołu TCP lub IP, a także Border Gateway Protocol (BGP). Podobnie, strony subdomen komunikują się za pomocą wewnętrznego BGP (IBGP), natomiast routery wykorzystują zewnętrzny BGP (EBGP) do interakcji. W przypadku awarii połączenia, multi-homing przekieruje dane przez inny router.
Szybkość
NAT jest bardziej transparentny zarówno dla komputerów źródłowych jak i docelowych, niż serwery proxy. Pozwala na bezpośrednie przesyłanie danych z dużą prędkością. Serwery proxy zwykle działają na czwartej warstwie, warstwie transportowej modelu OSI, lub nawet na wyższych warstwach. Z tego powodu są wolniejsze niż NAT, który znajduje się na trzeciej warstwie, czyli warstwie sieci.
Skalowalność
Wraz ze wzrostem potrzeb, pojawia się konieczność posiadania większej liczby adresów IP dla użytkowników i urządzeń. W takim przypadku, można wykorzystać NAT, zamiast ubiegać się o dodatkowe adresy IP od IANA. W połączeniu z protokołem Dynamic Host Configuration Protocol (DHCP), skalowanie staje się jeszcze prostsze.
Dzieje się tak, ponieważ NAT i DHCP dobrze ze sobą współpracują przy przydzielaniu niepublicznych adresów IP dla poddomeny, z dostępnej listy, zgodnie z wymaganiami. W ten sposób można rozszerzyć zakres dostępnych adresów IP, a DHCP jest w stanie szybko skonfigurować i przygotować przestrzeń dla większej liczby komputerów w sieci.
Elastyczność i prostota
NAT oferuje elastyczność we wdrażaniu i nawiązywaniu połączeń. Można go zaimplementować w sieci bezprzewodowej, publicznej sieci LAN. Czasami, dzięki statycznemu NAT (SNAT) i mapowaniu przychodzącemu, można umożliwić urządzeniom zewnętrznym nawiązywanie połączeń z urządzeniami w obrębie poddomeny.
Ponadto, NAT zmniejsza złożoność i umożliwia proste połączenia internetowe, ponieważ nie wymaga zmiany numeracji adresów IP po zmianie lub połączeniu sieci. NAT pozwala także zbudować wirtualnego hosta w sieci wewnętrznej, który koordynuje równoważenie obciążenia TCP.
Ograniczenia NAT
Oto niektóre z ograniczeń NAT:
- Wykorzystanie zasobów: NAT może zużywać znaczną ilość zasobów procesora i pamięci. Dzieje się tak, ponieważ dokonuje translacji wszystkich adresów IPv4 dla przychodzących i wychodzących datagramów IPv4, a także zapisuje w pamięci szczegóły translacji.
- Funkcjonalność: Włączenie NAT może powodować ograniczenie funkcjonalności niektórych technologii i aplikacji.
- Komplikacje z tunelowaniem: NAT może skomplikować protokoły tunelowania. W tym celu, można skorzystać z protokołu IPsec, w celu bezpiecznej translacji adresów sieciowych.
- Problemy z warstwami: Gdy router działa jako urządzenie NAT, może wchodzić w interakcję z warstwą 4, czyli warstwą transportową, poprzez numery portów, mimo że jest przeznaczony do działania na warstwie 3, czyli warstwie sieci.
- Opóźnienia: Podczas translacji mogą wystąpić opóźnienia w ścieżkach.
Najczęściej używane terminy w NAT
- Adres źródłowy: Jest to adres IP hosta inicjującego.
- Port źródłowy: Jest to numer portu TCP/UDP, który jest przypisany przez hosta inicjującego.
- Adres docelowy: Jest to adres IP odbiorcy.
- Port docelowy: Jest to port TCP lub UDP, którego otwarcie żąda host inicjujący do odbiornika.
- Wewnętrzny adres lokalny: Jest to prywatny adres IP, który jest przypisany hostowi w sieci lokalnej (wewnątrz). Usługodawca nie zleca tego adresu. Jest to wewnętrzny host sieci wewnętrznej.
- Wewnętrzny adres globalny: Jest to adres IP, który reprezentuje jeden lub więcej lokalnych adresów IP. Jest to wewnętrzny host sieci zewnętrznej.
- Zewnętrzny adres lokalny: Jest to rzeczywisty adres IP hosta docelowego, znajdującego się w sieci lokalnej, po zakończeniu translacji.
- Zewnętrzny adres globalny: Jest to adres IP zewnętrznego hosta docelowego, przed translacją. Jest to zewnętrzny host sieci zewnętrznej.
- Subdomena: Jest to niepubliczny, prywatny adres IP, który składa się z:
- Zewnętrznych adresów lokalnych, które są wdrażane przez routery NAT oraz
- Wewnętrznych adresów lokalnych, używanych przez sieć lokalną.
- Tablica NAT: NAT ponownie przypisuje numery portów i adresy IP i śledzi je za pomocą tablicy translacji NAT.
Załóżmy, że router otrzymał pakiet danych z urządzenia lokalnego, któremu został przypisany publiczny adres IP. Router zmieni teraz adres IP urządzenia źródłowego, pozwalając mu na korzystanie z własnego adresu IP. Następnie zmienia numer portu źródła, aby mieć pewność, że posiada informacje o tym, gdzie odebrane pakiety muszą zostać dostarczone. To ponowne przypisanie adresów IP jest zapisywane w tabeli translacji NAT.
Podsumowanie
Wraz ze wzrostem liczby użytkowników internetu i globalnym wzrostem zagrożeń bezpieczeństwa, coraz bardziej potrzebne jest bezpieczniejsze i wydajniejsze metody łączenia się z siecią. NAT jest rozwiązaniem tych problemów. Pomaga w zachowaniu publicznych adresów IP, jednocześnie oferując korzyści związane z bezpieczeństwem, prędkością, elastycznością i skalowalnością, podczas łączenia z Internetem.
newsblog.pl