Translacja adresow sieciowych (NAT), informatyka
Transkrypt
Translacja adresow sieciowych (NAT), informatyka
Adres URL strony http://www.publikuj.org/1807 Translacja adresów sieciowych (NAT) ID artykułu: 1807 / 698 URL: http://www.publikuj.org/1807 Mechanizm NAT (Network Addess Translation) został oryginalnie zaimplementowany po to, aby można było udostępnić więcej adresów IP sieciom prywatnym, nieoczekiwanie jednak okazało się, że ma on jeszcze jeden bardzo istotny aspekt. Aspekt związany z bezpieczeństwem, a mianowicie możliwość ukrywania wewnętrznych hostów. Przyjmując ten aspekt jako najważniejszy, translację adresów sieciowych możemy zdefiniować jako dokonywanie zmiany adresu IP hosta wewnętrznego, w celu ukrycia go przed zewnętrznym monitorowaniem. Często również mechanizm ten jest nazywany maskowaniem adresu IP (ang. IP masquerading). Mechanizm NAT sprawia, że hosty z sieci Ethernet, widziane są w Internecie jako jeden adres IP, zatem cały ruch sieciowy wydaje się pochodzić z jednego, niezmiernie obciążonego komputera. Mechanizm NAT ukrywa wewnętrzne adresy IP za pomocą zmiany wszystkich adresów wewnętrznych hostów, na adres ściany ogniowej (lub adres pod którym znajduje się ściana ogniowa) w momencie, gdy pakiety są przez nią przesyłane. Ściana ogniowa retransmituje ładunek danych (ang. data payload) pochodzących z hosta wewnętrznego, ale po uprzednim wstawieniu do pakiet swojego adresu. Jednocześnie dokonywany jest wpis w tablicy translacji (zapis ten zawiera aktualne wewnętrzne gniazdo źródłowe, gniazdo docelowe oraz przypisane gniazdo zewnętrzne ściany ogniowej). Kiedy host zewnętrzny wysyła dane z powrotem do gniazda hosta wewnętrznego, ściana ogniowa dokonuje przekształcenia odwrotnego. Jeśli jednak w tablicy translacji nie ma pozycji dla danego gniazda lub gdy źródłowy adres IP jest inny od tego, którego oczekuje ściana ogniowa, pakiet jest odrzucany. Obok omówionej powyżej kwestii bezpieczeństwa, nie możemy zapomnieć o równie ważnej roli jaką spełnia NAT, a mianowicie udostępnianie większej puli adresów IP sieciom prywatnym. Gdyby mechanizm ten nie istniał, z pewnością 32 bitowa przestrzeń adresów IP byłaby niewystarczająca. Mechanizm NAT przekłada jeden lub więcej adresów na inne adresy. W praktyce możemy na przykład rozdzielić jeden adres IP na całą sieć. W sieci wewnętrznej teoretycznie możemy korzystać z dowolnych adresów IP. Jednak praktycznie sięgając do adresów w Internecie, takich samych jak w sieci prywatnej możemy mieć różne problemy, na przykład dotyczące trasowania pakietów. By uniknąć takich problemów konieczne jest zatem korzystanie z prywatnej klasy adresów. Adresy takie przeznaczone są do użytku w sieci wewnętrznej za firewallem wykonującym NAT. W dokumencie RFC 1918 wymienione są poniższe adresy jako należące do prywatnej klasy adresów: 10.0.0.0 - 10.255.255.255 (10.0.0.0 z 8 bitową maską) 172.16.0.0 - 172.31.255.255 (172.16.0.0 z 12 bitową maską) 192.168.0.0 - 192.168.255.255 (192.168.0.0 z 16 bitową maską) Adresy te nie są dopuszczone do obiegu w Internecie. W przypadku gdy będziemy chcieli wywołać prywatny adres, przekaz zostanie zwrócony z komunikatem "sieć nieosiągalna". Adresy te zostały wyznaczone przez organizację IANA (Internet Assigned Numbers Authority). Obecnie IANA przekształcona została w niedochodową organizację ICANN (Internet Corporation for Assigned Names and Numbers), której zadaniem jest nadzorowanie nazw domenowych używanych w Internecie. Mechanizm NAT posiada kilka wad, które sprawiają, że nie zawsze możemy zastosować takie rozwiązanie. Wiele protokołów nie może współpracować z NAT, ponieważ wymagają one otworzenia osobnego kanału zwrotnego. Zatem takie protokoły potrzebują oddzielnej trasy powrotu do hostów wewnętrznych, co w przepadku NAT jest niemożliwe. Przykładem takiego protokołu jest protokół wideo telekonferencji H.323. Rozwiązanie takiego problemu istnieje tylko w bardziej zaawansowanych ścianach ogniowych. Badają one wychodzące połączenia, które są związane z tymi protokołami, a następnie wprowadzają do tabeli translacji pozycję, która dotyczy docelowego hosta publicznego. Na tej zasadzie pozwalają one określonym hostom zewnętrznym na utworzenie kanału zwrotnego. Jednak taką implementację NAT, ukierunkowaną na usługi posiadają tylko nieliczne ściany ogniowe. Kolejnym problemem może okazać się fakt, że informacja TCP musi być dostępna dla ściany ogniowej. Ma to duże znaczenie w przypadku oprogramowania szyfrującego nagłówek TCP, które w przypadku zastosowania mechanizmu NAT nie będzie działało prawidłowo. Rozwiązaniem jest utworzenie ze ściany ogniowej końcowego punktu szyfrowania. Dokładnym przykładem takiego rozwiązania jest PPTP. Mimo, że NAT posiada kilka wad, są one niczym w porównaniu do korzyści, jakie płyną z zastosowania tego typu rozwiązania. Mechanizm NAT wykorzystywany do tłumaczenia adresów IP jest tak skuteczny, że zainteresowanie protokołem IP w wersji 6 Strona 1 / 2 jest znikome, a jego implementacja została praktycznie zatrzymana. Technologia ta rozwiązała również problem braku adresów IP - przynajmniej w najbliższej przyszłości. Aktywacja: 22/11/09 12:26, odsłony: 1030 Strona 2 / 2