« poprzedni punkt | następny punkt » |
Translacja adresów (Network Address Translation - NAT) umożliwia przydzielenie komputerom z sieci wewnętrznej adresów z puli adresów nie rejestrowanych w sieci Internet (pula adresów prywatnych) oraz zapewnienie tym komputerom możliwości dwustronnego komunikowania się z komputerami w sieci Internet. Początkowo miał to być sposób na zwiększenie ilości hostów podłączonych do Internetu. Okazało się, że jest również mechanizmem bezpieczeństwa, gdyż umożliwia ukrywanie wewnętrznych hostów. Sprawia wrażenie, że ruch pochodzi z pojedynczego adresu IP. Jest to adres zapory. NAT jest implementowany tylko w warstwie transportowej. Czyli aby zapobiec naruszeniom bezpieczeństwa w warstwach wyższych, trzeba używać np. proxy.
Stacja kliencka powinna traktować bramę NAT jako swój gateway. Jeżeli tak nie jest, to brama NAT powinna funkcjonować jako serwer proxy arp. Pakiet pochodzący od klienta otrzymuje nowy numer portu źródłowego i adres źródłowy. W takiej postaci jest wysyłany. Brama zapamiętuje zrealizowane przekształcenie. gdy przychodzi odpowiedź, to musi zostać rozpoznana i pakiet przekształcony. Przywracany jest adres klienta i pakiet trafia do klienta.
Zakresy adresów prywatnych:
10.0.0.0 ¸
10.255.255.255 - pojedynczy numer sieci klasy A;
172.16.0.0 ¸
172.31.255.255 - 16 ciągłych numer sieci klasy B;
192.168.0.0 ¸ 192.168.255.255 - 255 ciągłych numer sieci klasy C.
Tryby translacji
Translacja statyczna (static translation) inaczej przekierowanie portów (port forwarding) - określony zasób ma przypisane stałe przekształcenie. Stosujemy gdy udostępniamy hosty wewnętrzne dla połączeń z hostów zewnętrznych. Np. serwer pocztowy.
Translacja dynamiczna (dynamic translation) inaczej automatyczna (automatic), tryb ukrywania (hide mode), maskowanie IP (IP masqerade) - stosujemy gdy duża grupa klientów wewnętrznych współużytkuje adres lub grupę adresów wewnętrznych. Adresy tych klientów zastępowane są adresem zapory. Klienci są identyfikowani numerem portu połączenia przechodzącego przez zaporę. Host zewnętrzny nie ma możliwości zainicjowania połączenia z wewnętrznym. Niektóre protokoły nie pracują poprawnie po zmianie portu.
Translacja ze zrównoważonym obciążeniem (load balancing translation) - pojedynczy adres i numer portu są przekształcane na jeden z adresów identycznie skonfigurowanych serwerów. W efekcie jeden adres jest obsługiwany przez kilka serwerów. Stosowany jest wówczas zwykle algorytm cykliczny (round robin) lub zrównoważonego obciążenia (balanced load). Z puli dostępnych serwerów zapora za każdym razem wybiera jeden. Jeżeli miarą jest obciążenie, to serwery powinny informować zaporę o swoim obciążeniu. Nie ma w tym zakresie standardów. Jest to dobre rozwiązanie dla bezstanowych serwerów WWW, ale nie dla poczty. Zrównoważone obciążenie jest szczególnie ważne dla serwerów obsługujących handel elektroniczny.
Translacja ze zwielokrotnionymi połączeniami (network redundancy translation) - zwielokrotnione połączenia z Internetem są przyłączone do pojedynczej zapory NAT i wykorzystywane w oparciu o obciążenie i dostępność. Za każdym razem gdy host wewnętrzny łączy się z zewnętrznym, podejmowana jest decyzja, którą droga skierować jego pakiety.
« poprzedni punkt | następny punkt » |