Co to jest NAT?
NAT (Network Address Translation) to przepisywanie adresów IP w nagłówkach pakietów na granicy sieci. Wyjaśniamy SNAT, DNAT, PAT oraz wady i zalety.
Ostatnia aktualizacja:
NAT (Network Address Translation) to przepisywanie adresów IP w nagłówkach pakietów, gdy przechodzą one przez router lub zaporę na granicy sieci. Najczęściej mapuje wiele prywatnych adresów z zakresów RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) na jeden lub kilka publicznych adresów IPv4. Dzięki temu cała sieć wewnętrzna może korzystać z internetu bez przydzielania każdemu hostowi adresu publicznego. NAT prowadzi tablicę translacji, która wiąże sesje wewnętrzne z zewnętrznymi i odwraca mapowanie dla ruchu powrotnego.
SNAT i DNAT
Kierunek translacji dzieli NAT na dwie podstawowe odmiany. Source NAT (SNAT) przepisuje adres źródłowy pakietów wychodzących i jest najczęstszym przypadkiem: prywatny host wychodzi do internetu z publicznego adresu routera. Destination NAT (DNAT) przepisuje adres docelowy pakietów przychodzących i służy do publikowania usług, czyli przekierowania portów, gdy ruch z publicznego adresu trafia do wybranego serwera wewnętrznego. Statyczny NAT 1:1 trwale wiąże jeden adres prywatny z jednym publicznym w obu kierunkach.
PAT, czyli NAT z przeciążeniem
PAT (Port Address Translation), nazywany też NAT overload lub maskaradą, to odmiana SNAT, w której wiele hostów współdzieli jeden publiczny adres dzięki rozróżnianiu sesji po numerze portu warstwy transportowej. Router zapisuje w tablicy adres i port źródłowy wewnętrznego hosta oraz przypisany mu port zewnętrzny, więc potrafi odwzorować ruch powrotny do właściwego hosta. Ten mechanizm działa w typowym routerze domowym i biurowym.
- SNAT przepisuje adres źródłowy ruchu wychodzącego (dostęp z sieci prywatnej do internetu).
- DNAT przepisuje adres docelowy ruchu przychodzącego (przekierowanie portów, publikacja usług).
- PAT multipleksuje wiele sesji na jeden adres publiczny po numerach portów (teoretyczny limit ok. 65 tys. portów na adres).
- Statyczny NAT 1:1 daje trwałe, dwukierunkowe mapowanie jeden-do-jednego.
- NAT jest stanowy: musi utrzymywać tablicę translacji, a wpisy wygasają po czasie bezczynności.
Wady i zalety NAT
Główną zaletą NAT jest oszczędzanie adresów IPv4 i ukrycie wewnętrznej adresacji za jednym adresem publicznym, co bywa traktowane jako dodatkowa warstwa izolacji. Wady są jednak istotne. NAT łamie zasadę łączności end-to-end, utrudnia protokoły osadzające adresy w danych aplikacji (FTP, SIP, niektóre gry P2P) i wymaga modułów ALG lub technik NAT traversal (STUN, TURN, ICE), a urządzenie translacji jest stanowe i może stać się wąskim gardłem. W IPv6, gdzie adresów nie brakuje, NAT do oszczędzania adresów jest zbędny i odradzany na rzecz natywnej łączności end-to-end.
NAT a CGNAT oraz rola AS202520 SkyPass
Klasyczny NAT działa na brzegu sieci klienta, natomiast CGNAT (Carrier-Grade NAT) to ta sama idea zastosowana na dużą skalę w sieci operatora, gdzie tysiące abonentów współdzieli pulę publicznych adresów. AS202520 SkyPass dostarcza tranzyt IP i peering w pełnym dual-stacku z natywnym IPv4 i IPv6. Dzięki temu możesz utrzymać czystą, dobrze trasowaną adresację publiczną tam, gdzie NAT jest niewskazany, i ograniczać zależność od translacji na dużą skalę. Z PoP-ami w Warszawie i Wrocławiu oraz peeringiem w THINX, TPIX, WRIX i 1-IX zapewniamy łączność end-to-end bez zbędnych warstw translacji.
Najczęstsze pytania
Czym różni się SNAT od DNAT?
SNAT przepisuje adres źródłowy ruchu wychodzącego, dzięki czemu host prywatny korzysta z adresu publicznego routera. DNAT przepisuje adres docelowy ruchu przychodzącego i służy do przekierowania portów oraz publikacji usług wewnętrznych na zewnątrz.
Czy PAT to to samo co NAT?
PAT to odmiana NAT (konkretnie SNAT), w której wiele hostów współdzieli jeden publiczny adres, a sesje rozróżniane są po numerach portów warstwy transportowej. Ten wariant, zwany też NAT overload lub maskaradą, działa w typowym routerze domowym.
Jakie zakresy adresów stosuje się z NAT?
Najczęściej prywatne zakresy z RFC 1918: 10.0.0.0/8, 172.16.0.0/12 i 192.168.0.0/16. Są one nierutowalne w internecie i muszą zostać przetłumaczone na adres publiczny, zanim ruch opuści sieć.
Czy NAT jest potrzebny w IPv6?
Do oszczędzania adresów nie. Przestrzeń IPv6 jest praktycznie nieograniczona, więc każdy host może mieć adres globalny i łączność end-to-end. NAT w IPv6 jest odradzany, a bezpieczeństwo zapewnia się zaporą stanową, a nie translacją.
