Wybrane zagadnienia administrowania sieciami
Transkrypt
Wybrane zagadnienia administrowania sieciami
Wybrane zagadnienia administrowania sieciami Translacja adresów sieciowych 1. Wstęp teoretyczny Network Address Translation (NAT) - technika translacji adresów sieciowych. Wraz ze wzrostem ilości komputerów w Internecie, pojawiła się groźba wyczerpania puli dostępnych adresów internetowych IPv4. Udostępnianie połączenia do Internetu z wykorzystaniem mechanizmu NAT. Aby temu zaradzić, lokalne sieci komputerowe, korzystające z tzw. adresów prywatnych (specjalna pula adresów tylko dla sieci lokalnych), mogą zostać podłączone do Internetu przez jeden komputer (lub router), posiadający mniej adresów internetowych niż komputerów w tej sieci. Router ten, gdy komputery z sieci lokalnej komunikują się ze światem, dynamicznie tłumaczy adresy prywatne na adresy zewnętrzne, umożliwiając użytkowanie Internetu przez większą liczbę komputerów niż posiadana liczba adresów zewnętrznych. NAT jest często stosowany w sieciach korporacyjnych oraz osiedlowych. Rys 5. Udostępnianie połączenia do Internetu z wykorzystaniem mechanizmu NAT W zależności od miejsca podjęcia decyzji wyróżnia się dwie podstawowe grupy mechanizmów NAT: akcja translacji podejmowana jest przed podjęciem decyzji routingu PREROUTING, grupa obemuje wszelkie mechanizmy przekierowania DNAT, akcja translacji podejmowana jest po podjęciu decyzji routingu POSTROUTING, grupa obejmuje wszelkie mechanizmy translacji SNAT, Masquerade. Obrazuje to poniższy rysunek: 1 Rys 6. Klasyfikacja mechanizmów NAT Source Network Address Translation (SNAT) jest techniką polegającą na zmianie adresu źródłowego pakietu IP na inny. Stosowana jest często w przypadku podłączenia sieci dysponującej adresami prywatnymi do sieci Internet. Wówczas router, przez którego podłączono sieć, podmienia adres źródłowy prywatny na adres publiczny (najczęściej swój własny). Szczególnym przypadkiem SNAT jest maskarada (Masquerade) mająca miejsce, gdy router ma zmienny adres IP (np. otrzymuje go w przypadku połączenia modemowego wdzwanianego). Wówczas router zmienia adres źródłowy na taki, jak adres interfejsu, przez który pakiet opuszcza router. Rys 7. Funkcjonowanie mechanizmu SNAT Destination Network Address Translation (DNAT) jest techniką polegającą na zmianie adresu docelowego pakietu IP na jakiś inny. Stosowana jest często w przypadku, gdy serwer mający być dostępny z Internetu ma tylko adres prywatny. W tym przypadku router dokonuje translacji adresu docelowego pakietów IP z Internetu na adres tego serwera. 2 Rys 8. Funkcjonowanie mechanizmu DNAT Następstwem korzystania z mechanizmów NAT są: większe bezpieczeństwo komputerów znajdujących się za NAT-em, problematyka uruchomienia zewnętrznie dostępnych serwisów na komputerach w sieci wewnętrznej - konieczność stosowania mechanizmów przekierowywania portów. Source NAT, Masquerade Zarządzanie regułami filtracji, translacji i modyfikacji pakietów w systemie Linux można zrealizować za pomocą mechanizmu iptables. Praca programu opiera się na trzech podstawowych tablicach gromadzących odpowiednie reguły: filter tablica filtracji i reguł firewalla, nat - tablica translacji (wykorzystywana w ramach omawianych zagadnień) oraz mangle - tablica zawierająca reguły modyfikacji zawartości pakietów. Tworzenie reguł odbywa się w sposób bardzo prosty i zaczyna się od wyboru mechanizmu, jakim będziemy się posługiwali (PRE- oraz POSTROUTING) oraz tabeli, do której będziemy dodawali reguły (nat). Kolejnym krokiem jest zdefiniowanie akcji, która ma być podejmowana oraz adresów oraz ewentualnych filtrów, których ma dotyczyć. Składnia polecenia iptables przedstawia się następująco: iptables -L - polecenie listuje wszystkie zdefiniowane reguły, iptables -t [tablica] ... - polecenie wykonuje odpowiednie akcje na konkretnej tablicy, przykładowo: iptables -t nat -L - listuje wszystkie reguły utworzone dla tabeli nat, iptables -i | -o [nazwa interfejsu] ... - polecenie dotyczy odpowiedniego interfejsu wychodzącego (-o) bądź wchodzącego (-i), nazwy interfejsów, zgodnie z konwencją Linuxową rozpoczynają się od deskryptora eth oraz numeru karty począwszy od 0, iptables -t nat -A [nazwa łańcucha] - skojarzenie reguł z odpowiednim łańcuchem (PREROUTING bądź POSTROUTING), 3 iptables -s | -d [adres IP] ... - zakres polecenia jest ograniczany do konkretnych adresów źródła (-s) bądź celu (-d), iptables -p [protokół] ... - zakres polecenia ograniczony do konkretnego protokołu, iptables -p tcp | udp -sport | -dport [numer portu] - reguła dotycząca konkretnego portu źródłowego (sport) bądź docelowego (-dport) w ramach protokołów tcp lub udp, iptables ...-j MASQUERADE - skojarzenie z regułą akcji maskowania, iptables ...-j SNAT -to [adres IP] - skojarzenie z regułą akcji SNAT na konkretny adres IP bądź zakres adresów IP, iptables -t [nazwa tablicy] -f - wyczyszczenie wszystkich reguł z konkretnej tablicy (w przypadku braku argumentu -t - wyczyszczenie wszystkich reguł, iptables -t [nazwa tablicy] -X [numer reguły] - usunięcie reguły o konkretnym numerze z podanej tablicy reguł, iptables-save > [nazwa pliku] - utworzenie kopii reguł w zewnętrznym pliku, iptables-restore < [nazwa pliku] - przywrócenie kopii reguł z zewnętrznego pliku. 4