Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision Poprzednia wersja Nowa wersja | Poprzednia wersja | ||
sk1:nf_nat [2016/05/24 09:00] jkonczak |
sk1:nf_nat [2024/12/12 18:32] (aktualna) jkonczak [Zadania] |
||
---|---|---|---|
Linia 1: | Linia 1: | ||
===== NAT w systemie Linux - ćwiczenia ===== | ===== NAT w systemie Linux - ćwiczenia ===== | ||
- | Ćwiczenia mają sens jeśli są wyonywane w grupach 3 osobowych. | + | ==== Przygotowanie sieci do zajęć ==== |
+ | |||
+ | ++++ Ustawienia dla zajęć w salach laboratoryjnych | | ||
+ | Ćwiczenia mają sens jeśli są wykonywane w grupach 3 osobowych. | ||
<code> | <code> | ||
.------. | .------. | ||
- | (internet) | + | . · · · ·(internet) |
- | `--+---' | + | · `--+---' |
- | | | + | · | |
- | | S3 | + | · | S3 (150.254.32.…) |
_____ __|__ _____ | _____ __|__ _____ | ||
| | S1 | | S2 | | | | | S1 | | S2 | | | ||
Linia 14: | Linia 17: | ||
|_____| |_____| |_____|</code> | |_____| |_____| |_____|</code> | ||
- | - Skonfiguruj sieci i komputery jak na powyższym rysunku | + | Skonfiguruj sieci i komputery jak na powyższym rysunku: |
- | * PC1 może mieć dostęp do internetu, PC3 – nie | + | - S1, S2 i S3 to trzy osobne sieci IP. S1 i S2 mają mieć adresy z bloków prywatnych, S3 to sieć lab. |
- | * S1, S2 i S3 to trzy osobne sieci IP. S1 i S2 typowo mają adresy z bloków prywatnych | + | - Wyłącz urządzenie ''br0'' na PC3<html><!-- - <del>Skopiuj na PC3 plik ''/etc/resolv.conf'' z PC2</del>--></html> |
+ | - PC1 może mieć dostęp do internetu, PC3 – nie | ||
- Ustaw //ip forwarding// na PC2 (np. ''sysctl net.ipv4.conf.all.forwarding=1'') | - Ustaw //ip forwarding// na PC2 (np. ''sysctl net.ipv4.conf.all.forwarding=1'') | ||
- Dodaj na PC3 bramę domyślną przez PC2. Nie zmieniaj trasowania na PC1. | - Dodaj na PC3 bramę domyślną przez PC2. Nie zmieniaj trasowania na PC1. | ||
- | - Skopiuj na PC3 plik ''/etc/resolv.conf'' z PC2 | + | - Przeczytaj jeszcze raz ze zrozumieniem powyższe polecenia i upewnij się, że wykonałeś je poprawnie. |
+ | ++++ | ||
+ | ++++ Ustawienia dla zajęć zdalnych | | ||
+ | <code> | ||
+ | .------. | ||
+ | (internet) | ||
+ | `------' | ||
+ | / \ | ||
+ | / \ | ||
+ | _____/ \_____ _____ | ||
+ | | | | | S1 | | | ||
+ | | PC1 | | PC2 |--------| PC3 | | ||
+ | |_____| |_____| |_____|</code> | ||
+ | |||
+ | Skonfiguruj sieci i komputery jak na powyższym rysunku. PC1 i PC2 powinny być podłączone do internetu. PC3 nie jest podłączony do internetu. | ||
+ | - Sieć S1 między PC2 i PC3 ma adresy z bloków prywatnych. | ||
+ | - Ustaw //ip forwarding// na PC2 (np. ''sysctl net.ipv4.conf.all.forwarding=1'') | ||
+ | - Dodaj na PC3 bramę domyślną przez PC2. (Nie zmieniaj trasowania na PC1 i PC2). | ||
+ | - Nadaj każdemu komputerowi unikalną nazwę (poleceniem ''hostname <nazwa>''). | ||
+ | - Przeczytaj jeszcze raz ze zrozumieniem powyższe polecenia i upewnij się, że wykonałeś je poprawnie. | ||
+ | ++++ | ||
+ | |||
+ | |||
+ | ==== Zadania ==== | ||
- Ustaw na PC2 maskaradę adresów tak, żeby PC3 mógł korzystać z internetu | - Ustaw na PC2 maskaradę adresów tak, żeby PC3 mógł korzystać z internetu | ||
- | - Sprawdź czy PC3 może łączyć się z PC1. Dodaj regułę korzystającą z celu SNAT która na to pozwoli | + | - (wersja w sali lab.) Sprawdź czy PC3 może łączyć się z PC1. Dodaj regułę korzystającą z celu SNAT która na to pozwoli \\ (wersja zdalna) Usuń maskaradę adresów, zamiast niej dodaj regułę korzystającą z celu SNAT która pozwoli komputerowi PC3 komunikować się z PC1 |
- | - Używając wiresharka zobacz na każdym kolejnym komputerze jakie adresy ma ustawiony pakiet wysłany z PC1 do PC3 | + | - Używając wiresharka lub tcpdumpa((przykładowa komenda: ''tcpdump -s0 -vv -i <ifname>'')) zobacz na każdym kolejnym komputerze jakie adresy ma ustawiony pakiet wysłany z PC3 do PC1 |
- | - Zmień TTL pakietów przechodzących przez PC2 z PC3 do PC1 na 1, zaobserwuj (w wiresharku) co się dzieje | + | - Włącz na PC3 program nasłuchujący na wybranym porcie \\ <small>Przykładowe polecenie #1: ''socat tcp-l:<wybrany_port>,fork,reuseaddr system:'lsof -i -a -Pnp `ps -o ppid= -p $$`'%%%%'' </small> \\ <small>Przykładowe polecenie #2: ''socat tcp-l:<wybrany_port>,fork,reuseaddr system:"hostname; date; fortune"'' </small> |
- | - Włącz na PC3 program nasłuchujący na wybranym porcie | + | - Przetestuj połączenie się (np. przeglądarką internetową((Inną niż google chrome!))) do tego programu z PC2 i PC3. |
- Skonfiguruj PC2 tak, by PC1 mógł połączyć się z programem działającym na PC3 łącząc się na adres PC2 | - Skonfiguruj PC2 tak, by PC1 mógł połączyć się z programem działającym na PC3 łącząc się na adres PC2 | ||
- Skonfiguruj PC2 tak, by PC1 mógł połączyć się z serwerem SSH działającym na PC3 używając adresu PC2 i portu innego niż 22. | - Skonfiguruj PC2 tak, by PC1 mógł połączyć się z serwerem SSH działającym na PC3 używając adresu PC2 i portu innego niż 22. | ||
- Używając wiresharka zobacz jak modyfikowane są pakiety z powyższych poleceń | - Używając wiresharka zobacz jak modyfikowane są pakiety z powyższych poleceń | ||
+ | - Zmień TTL pakietów przechodzących przez PC2 z PC3 do PC1 na 1, zaobserwuj (w wiresharku) co się dzieje | ||
- Skonfiguruj PC2 tak, by ruch z wybranego zakresu portów trafiał do PC3 | - Skonfiguruj PC2 tak, by ruch z wybranego zakresu portów trafiał do PC3 | ||