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

Podobne dokumenty