Wydział Informatyki
Laboratorium Sieci Komputerowych
Data:
24.04.2014r.
PS 2
Temat: 7. Maskarada i Firewall w
Linuxie.
Zespół:
1. Patrycja Manias
2. Eryk Rutkowski
3. Michał Gołdych
Prowadzący:
dr Walenty Oniszczuk
1. Treść zadania do wykonania
Aby wykonać zadanie należało:
1. Podłączyć trzy komputery do switcha, gdzie jeden z nich pełnił rolę bramy
dostępowej, a dwa pozostałe klientów.
2. Skonfigurować ustawienia IP dla bramy oraz klientów.
3. Utworzyć plik "maskarada" na bramie oraz nadać mu prawa do wykonania.
4. Sprawdzić łączność klientów i bramy między sobą.
5. Sprawdzić działanie sieci z różnymi ustawieniami (blokowanie całego ruchu lub
dostępu do wybranych witryn)
2. Teoria
NAT (skr. od ang. Network Address Translation, tłumaczenie adresów sieciowych;
czasem Native Address Translation, tłumaczenie adresów rodzimych), znane również jako
maskarada sieci lub IP (od ang. network/IP masquerading) – technika przesyłania ruchu
sieciowego poprzez router, która wiąże się ze zmianą źródłowych lub docelowych adresów
IP, zwykle również numerów portów TCP/UDP pakietów IP podczas ich przepływu.
Zmieniane są także sumy kontrolne (tak IP jak i TCP/UDP), aby potwierdzić wprowadzone
zmiany.
Większość systemów korzystających z NAT ma na celu umożliwienie dostępu wielu
hostom w sieci prywatnej do Internetu przy wykorzystaniu pojedynczego publicznego
adresu IP. Niemniej NAT może spowodować komplikacje w komunikacji między hostami i
może mieć pewien wpływ na osiągi.
Wraz ze wzrostem liczby komputerów w Internecie, zaczęła zbliżać się groźba
wyczerpania puli dostępnych adresów internetowych IPv4. 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 (w połączeniu z proxy) oraz sieciach osiedlowych.
Zapora sieciowa (ang. firewall) – jeden ze sposobów zabezpieczania sieci i systemów
przed intruzami. Termin ten może odnosić się zarówno do dedykowanego sprzętu
komputerowego wraz ze specjalnym oprogramowaniem, jak i do samego oprogramowania
blokującego niepowołany dostęp do komputera, na którego straży stoi. Pełni rolę połączenia
ochrony sprzętowej i programowej sieci wewnętrznej LAN przed dostępem z zewnątrz tzn.
sieci publicznych, Internetu, chroni też przed nieuprawnionym wypływem danych z sieci
lokalnej na zewnątrz. Często jest to komputer wyposażony w system operacyjny z
odpowiednim oprogramowaniem. Do jego podstawowych zadań należy filtrowanie
połączeń wchodzących i wychodzących oraz tym samym odmawianie żądań dostępu
uznanych za niebezpieczne.
3. Realizacja zadania
Po podłączeniu komputerów do switch’a, dwóch komputerów jako klientów i
jednego jako bramy dostępowej, przystąpiliśmy do konfiguracji adresów IP.
Brama zewnętrzna: ifconfig eth0 10.64.104.6/24
Brama wewnętrzna: ifconfig eth1 192.168.10.10/24
Klient I: ifconfig eth1 192.168.10.20/24
Klient II: ifconfig eth1 192.168.10.30/24
Wszystkie urządzenia widziały się nawzajem i pingowały. Poniżej przedstawiamy
odczyt pingowania jednego z klientów:
Następnym naszym krokiem, było utworzenie pliku maskarady (nazwaliśmy go
„masq”) oraz zmiana jego zawartości przy użyciu odpowiednich poleceń:
Włączenie forwardowania pakietów:
echo 1 > /proc/sys/net/ipv4/ip_forward
Wyzerowanie tablic iptables odpowiedzialnych za NAT i za filtrowanie pakietów:
/sbin/iptables -F -t nat
/sbin/iptables -X -t nat
/sbin/iptables -F -t filter
/sbin/iptables -X -t filter
Domyślnie odrzucamy i nie zezwalany na forwardowanie pakietów:
/sbin/iptables -t filter -P FORWARD DROP
Zezwalamy na by serwer przepuszczał pakiety które pochodzą z naszej sieci
lokalnej lub są dla niej przeznaczone:
/sbin/iptables -t filter -A FORWARD -s 192.168.10.0/255.255.255.0 -d 0/0 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -s 0/0 -d 192.168.10.0/255.255.255.0 -j ACCEPT
Teraz nakazujemy by wszystkie pakiety pochodzące z LAN-u były maskowane:
/sbin/iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -d 0/0 -j
MASQUERADE
Odblokowujemy port, który używany jest przez serwery DNS:
/sbin/iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
/sbin/iptables -A INPUT -p udp --sport 53 -j ACCEPT
Następnym krokiem była konfiguracja Firewalle’a:
Na początku zablokowaliśmy cały ruch w sieci:
/sbin/iptables –P FORWARD ACCEPT
iptables –A INPUT DROP
iptables –A OUTPUT DROP
Następnie odblokowaliśmy ruch dla serwera www.onet.pl:
Wszystkie komputery mogły łączyć się tylko z tą witryną.
Kolejnym krokiem było zablokowanie tylko serwera www.onet.pl:
Następnie zablokowaliśmy cały ruch dla klientów:
Odblokowaliśmy pingi:
Odblokowaliśmy przeglądanie stron dla klientów:
Spingowaliśmy stronę www.wp.pl:
Odblokowaliśmy onet.pl dla drugiego klienta:
4. Podsumowanie
Po wykonaniu wszystkich zadań uzyskaliśmy skonfigurowaną maskaradę wraz z
firewallem, która była w stanie przekierowywać ruch sieciowy oraz wybrane porty. Dzięki
zajęciom zaznajomiliśmy również z ledwie niewielką częścią narzędzia iptables, które jest
niezastąpione w przypadku budowy, konfiguracji sieci oraz oferuje nieskończenie wiele
możliwości, które ułatwiają życie administratorom.