NAT - Network Address Translation
Transkrypt
NAT - Network Address Translation
SIECI KOMPUTEROWE - WWW.EDUNET.TYCHY.PL Translacja adresów - NAT (Network Address Translation) Aby łączyć się z Internetem, każdy komputer potrzebuje unikatowego adresu IP. Jednakże liczba hostów przyłączonych do Internetu wciąż rośnie, co oznacza, ze niedobór adresów IP jest już bliski. Rozwiązaniem tego problemu jest IPv6, lecz zaimplementowanie tego protokółu zajmie kilka lat, ponieważ wymaga modyfikacji całej istniejącej infrastruktury Internetu. Tymczasem niezbędne jest rozwiązanie zastępcze. Mechanizm NAT został opracowany przez firmę Cisco — początkowo jako mechanizm trasowania, oszczędzający zarejestrowane adresy IP w dużych sieciach. Z czasem stał się również skuteczną metodą ochrony sieci prywatnych przed nieupoważnionym dostępem z zewnątrz. NAT pozwala na łączenie z Internetem i innymi publicznymi sieciami prywatnych sieci, które stosują adresy nie zarejestrowane. Mechanizm ten jest niezbędny, gdy liczba adresów IP przydzielonych przez Dostawcę Usług Internetowych (ISP) jest mniejsza niż całkowita liczba maszyn, który mają mieć dostęp do Internetu. Pozwala korzystać z dobrodziejstw zarezerwowanych bloków adresów zdefiniowanych w RFC 1918 (Request For Comment) „Address Allocation for Private Internets”. Zwykle, wewnętrzna sieć będzie skonfigurowana przy użyciu jednego lub więcej z tych bloków, a są to: 10.0.0.0/8 (10.0.0.0 - 10.255.255.255) 172.16.0.0/12 (172.16.0.0 - 172.31.255.255) 192.168.0.0/16 (192.168.0.0 - 192.168.255.255) Podane numery nie podlegają trasowaniu, przez co routery nie mogą zlokalizować komputerów docelowych. Dzięki temu Twój pecet będzie niewidoczny w Internecie. NAT musi być zainstalowany na styku pomiędzy siecią prywatna i resztą świata. Takim punktem styku jest ruter. Każde urządzenie zdolne do obsługi NAT posiada tablice translacji, która służy do tłumaczenia prywatnych adresów IP na adresy IP unikatowe globalnie. Jeśli sieć ma kilka wyjść, bardzo ważne jest, aby wszystkie rutery obsługujące NAT posiadały identyczne tablice translacji. Opr.: Grzegorz Szymkowiak SIECI KOMPUTEROWE - WWW.EDUNET.TYCHY.PL Mechanizm NAT jest zasadniczo używany przez rutery, lecz może tez być stosowany przez zapory firewall. Rutery używające NAT nazywane są czasami ruterami NAT lub translatorami adresów sieciowych. Przez zaimplementowanie NAT automatycznie tworzymy zaporę firewall pomiędzy siecią prywatną i światem zewnętrznym. Urządzenie używające mechanizmu NAT gra rolę agenta pomiędzy siecią prywatną i resztą świata. Inaczej mówiąc, pojedynczy adres IP może posłużyć do reprezentowania całej sieci, co dodatkowo zwiększa jej bezpieczeństwo przez ukrycie wewnętrznych adresów IP przed światem zewnętrznym. W NAT jedynie połączenia zainicjowane wewnątrz sieci maja prawo przejść przez ruter. Dzięki temu komputer wewnątrz może z powodzeniem łączyć się z komputerem położonym na zewnątrz swojej sieci. Jednakże zewnętrzny komputer nie będzie w stanie połączyć się z wewnętrznym, ponieważ musiałby zainicjować połączenie (na co NAT nie pozwala). W wyniku tego użytkownicy należący do sieci mogą przeglądać zasoby internetowe, łączyć się z komputerami należącymi do innych sieci publicznych, pobierać pliki, lecz kontakt z zewnątrz z wewnętrznymi hostami za pomocą ich adresów IP jest niemożliwy. W razie potrzeby administrator sieci prywatnej może, w sposób kontrolowany, zezwolić klientom z zewnątrz na dostęp do usług typu FTP lub WWW w określonych hostach wewnętrznych. Robi się to za pomocą przypisania dobrze znanych portów TCP do adresów wewnętrznych - proces taki nosi nazwę odwzorowania wejściowego (inbound mapping). Istnieją dwie formy mechanizmu NAT: Statyczny - nie zarejestrowane adresy IP są kojarzone z zarejestrowanymi jeden do jednego. Na przykład, adres 160.111.7.8 będzie zawsze tłumaczony na 192.1.1.5. Ta forma jest stosowana, gdy trzeba łączyć się z wewnętrznym hostem spoza danej sieci. Dynamiczny - nie zarejestrowany adres IP może zostać odwzorowany na dowolny pierwszy dostępny adres z bloku zarejestrowanych adresów IP. Na przykład, 160.111.7.8 będzie tłumaczony na pierwszy dostępny adres z zakresu od 192.1.1.1 do 192.1.1.120. Ta forma NAT jest stosowana, gdy wewnętrzny host musi mieć dostep do zewnętrznego. Opr.: Grzegorz Szymkowiak SIECI KOMPUTEROWE - WWW.EDUNET.TYCHY.PL o Dynamiczny przeciążony (overloaded) - wiele niezarejestrowanych adresów IP odwzorowuje się na pojedynczy zarejestrowany adres IP za pomocą różnych portów. Na przykład, adres 160.111.7.8 będzie tłumaczony na 192.1.1.5:209, zaś 160.111.7.10 na 192.1.1.5:210. Przeciążony NAT dynamiczny nazywany jest również tłumaczeniem adresów portów (PAT - Port Address Translation), NAT multipleksowanym na poziomie portów (port-level multiplexed NAT) oraz NAT jednoadresowym (single address NAT). o Dynamiczny nakładany (overlapped) - jeśli w prywatnej sieci używany jest blok adresów IP legalnie zarejestrowanych dla innej sieci, rutery NAT muszą przechwycić je i zastąpić zarejestrowanymi adresami unikatowymi. W przeciwnym razie pakiety danych mogłyby zostać utracone z powodu obecności w Internecie dwóch hostów o identycznym adresie IP. Załóżmy na przykład, ze sieć prywatna używa bloku adresów 162.111.xxx.xxx. Ten sam blok został jednak przydzielony przez internetową agencję rejestrującą innej sieci. Aby uniknąć możliwości kolizji adresów, ruter NAT powinien przetłumaczyć nie zarejestrowany adres IP na zarejestrowany, gdy wewnętrzny host będzie musiał komunikować się z hostem należącym do innej sieci. Analogicznie, ruter NAT musi przetłumaczyć tez zarejestrowane globalnie adresy IP na nie zarejestrowane adresy IP używane w sieci prywatnej, gdy zewnętrzny host wyśle informacje do wewnętrznego. Opr.: Grzegorz Szymkowiak SIECI KOMPUTEROWE - WWW.EDUNET.TYCHY.PL Korzyści ze stosowania NAT NAT znacząco upraszcza zadania związane z zarządzaniem adresami IP. W sieci TCP/IP każdy komputer musi mieć odrębnie skonfigurowane: poprawny adres IP, maskę podsieci, nazwę domeny, ruter domyślny i adres serwera DNS. Im większa jest siec, tym trudniej skoordynować dystrybucje adresów. Co więcej, niewłaściwa konfiguracja choćby pojedynczego komputera może prowadzić do zatrzymania funkcjonowania części sieci. NAT może znacząco zmniejszyć nakłady pracy administratorów. Inne korzyści ze stosowania tego mechanizmu są następujące: NAT może posłużyć do podziału dużej sieci na wiele mniejszych. Komputery można dodawać, usuwać i zmieniać im adresy bez wpływu na inne jednostki. NAT jest zadaniem ruterów, wobec czego jedynie rutery w punktach wyjściowych sieci wymagają modyfikacji. NAT może obsługiwać protokół DHCP, który pozwala na automatyczna aktualizacje informacji związanych z TCP/IP we wszystkich komputerach. Dzięki temu administrator nie musi modyfikować ręcznie wspomnianych informacji w każdym komputerze w sieci. NAT pozwala administratorom zabraniać dostępu do lokalizacji potencjalnie niebezpiecznych lub zawierających wątpliwe treści. NAT udostępnia funkcjonalność rejestrowania ruchu, co pomaga administratorom w wyszukiwaniu użytkowników, lokacji i połączeń sieciowych powodujących problemy. NAT przeważnie nie wykorzystuje stosu protokółów komputera, wobec czego jest mniej podatny na ataki przez protokoły niskiego poziomu. NAT obsługuje filtrowanie i trasowanie na poziomie pakietów, zapewniając wysoki poziom bezpieczeństwa hostów wewnętrznych Oprócz wszystkich tych korzyści NAT posiada pewne negatywne cechy: W przypadku globalnych sieci dużych przedsiębiorstw korzystanie z NAT nie jest zalecane, ponieważ duża liczba hostów może chcieć komunikować się ze sobą, co zwiększa rozmiary tablic translacji. Pakiety danych aplikacji zawierające adresy IP nie będą działać z NAT, o ile NAT nie będzie rozpoznawać takich przypadków i posiadać odpowiedniego mechanizmu dokonującego odpowiednich translacji. Opr.: Grzegorz Szymkowiak SIECI KOMPUTEROWE - WWW.EDUNET.TYCHY.PL Wprawdzie NAT obsługuje szyfrowanie na poziomie aplikacji, lecz nie wspiera szyfrowania sumy kontrolnej nagłówka, co zmniejsza liczbę dostępnych opcji zabezpieczeń. NAT może utrudnić wykrycie naruszenia bezpieczeństwa. Na przykład, jeśli wewnętrzny lub zewnętrzny host zaatakuje innego hosta lub wyśle dużą liczbę bezwartościowych informacji, namierzenie źródła kłopotów może być trudne, ponieważ adres IP hosta jest ukryty. Opr.: Grzegorz Szymkowiak