## Warsztaty 1 Instalowanie Virtual Boxa sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak wejdzze na https://www.virtualbox.org/wiki/Linux_Downloads i to pobierz https://www.virtualbox.org/download/oracle_vbox_2016.asc cat /etc/os-release jak wykonasz to bedzie pisalo version_codename= cos to cos wstawiamy do echo deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian <mydist> contrib | sudo tee -a /etc/apt/sources.list zamiast <mydist> sudo gpg --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg --dearmor oracle_vbox_2016.asc wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg --dearmor sudo apt-get update sudo apt-get install virtualbox-6.1 ## Warsztaty 2 karta1 to 03, karta2 08 jesli to co ma nie dawac 0 nie istnieje sudo sysctl -w net.ipv4.ip_forward=1 wyswietlenie interfejsow ip link zmiana nazwy interfejsu sudo ip link set enp0s3 name enp-loc0 aktywacja interfejsow sudo ip link set up dev enp-loc0 dla NAT dhclient -v enp-ext nadanie adresu sudo ip addr add 192.168.11.1/24 dev enp-loc odpalanie funkcji routera sudo sysctl -w net.ipv4.ip_forward=1 dodawanie wpisow w tabeli routingu sudo ip route add 192.168.12.0/24 via 172.16.0.2 zamiast pierwszego adresu mozna napisac default sprawdzanie routingu ip route czyszczenie sudo ip addr flush dev enp-rem sudo ip link set enp-loc down Jak sie stworzy nowa maszyne to automatycznie ma NAT na pierwszej karcie ## Ćwiczenia 1 ### Zadanie 1 **Dla każdego z podanych poniżej adresów IP w notacji CIDR określ, czy jest to adres sieci, adres rozgłoszeniowy czy też adres komputera. W każdym przypadku wyznacz odpowiadający mu adres sieci, rozgłoszeniowy i jakiś adres IP innego komputera w tej samej sieci.** | adres | 10.1.2.3/8 |156.17.0.0/16 | 99.99.99.99/27 | 156.17.64.4/30 | 123.123.123.123/32 | -------- | -------- | -------- | -------- | -------- | -------- | | sieci (pierwszy) | 10.0.0.0 | ten | 99.99.99.96 | ten | 123.123.123.123 | | rozgłoszeniowy (ostatni) | 10.255.255.255 | 156.17.255.255 | 99.99.99.127| 156.17.64.7 |123.123.123.123 | | inny komputer | 10.0.0.1 | 156.17.0.1 | 99.99.99.98 | 156.17.64.6 | ni ma | ### Zadanie 2 **Podziel sieć 10.10.0.0/16 na 5 rozłącznych podsieci, tak aby każdy z adresów IP z sieci 10.10.0.0/16 był w jednej z tych 5 podsieci.** - 10.10.128.0/17 (1xxxxx..x), - 10.10.64.0/18 (01xxxx..x), - 10.10.32.0/19 (001xxx..x), - 10.10.16.0/20 (0001xx..x), - 10.10.0.0/20 (0000xx..x). **Jak zmieniła się liczba adresów IP możliwych do użycia przy adresowaniu komputerów?** straciliśmy 2 adresy na kazdej z 5 podsieci (mamy o 8 mniej). **Jaki jest minimalny rozmiar podsieci, który możesz uzyskać w ten sposób?** $2^{12} - 2 = 4094$ ### Zadanie 3 **Tablica routingu zawiera następujące wpisy (podsieć → dokąd wysłać):** ▶ 0.0.0.0/0 → do routera A ▶ 10.0.0.0/23 → do routera B (10.0.0 v 1. wszystko) ▶ 10.0.2.0/24 → do routera B (10.0.2. wszystko) ▶ 10.0.3.0/24 → do routera B (10.0.3. wszystko) te trzy mozna zredukowac do 10.0.0.0/22 → do routera B ▶ 10.0.1.0/24 → do routera C ▶ 10.0.0.128/25 → do routera B *to nic nie robi* ▶ 10.0.1.8/29 → do routera B (00001000) ▶ 10.0.1.16/29 → do routera B (00010000) ▶ 10.0.1.24/29 → do routera B (00011000) te dwie mozna zastąpić 10.0.1.16/28 **Napisz równoważną tablicę routingu zawierającą jak najmniej wpisów.** ▶ 0.0.0.0/0 → do routera A ▶ 10.0.0.0/22 → do routera B ▶ 10.0.1.0/24 → do routera C ▶ 10.0.1.16/28 → do routera B ▶ 10.0.1.8/29 → do routera B ### Zadanie 4 **Wykonaj powyższe zadanie dla tablicy** ▶ 0.0.0.0/0 → do routera A ▶ 10.0.0.0/8 → do routera B ▶ 10.3.0.0/24 → do routera C ▶ 10.3.0.32/27 → do routera B (001x..x) ▶ 10.3.0.64/27 → do routera B (010x..x) ▶ 10.3.0.96/27 → do routera B (011x..x) zamiast tych dwoch 10.3.0.64/26 ### Zadanie 5 **Jak uporządkować wpisy w tablicy routingu, żeby zasada najlepszego dopasowania odpowiadała wyborowi „pierwszy pasujący” (tj. przeglądaniu tablicy od początku do końca aż do momentu napotkania dowolnej pasującej reguły)? Odpowiedź uzasadnij formalnie.** *Reguła najdłuższego pasującego prefiksu* ❖ *Jeśli więcej niż jedna reguła pasuje, wybierana jest ta, która jest najdłuższym prefiksem (najbardziej „konkretna reguła“).* Tablicę porządkujemy malejąco po długości prefiksu. (Załóżmy, że pierwsze dopasowanie x do adresu y nie jest najlepsze, jakiś wpis z dalej był lepszy. z ma krótszy prefiks od x i oba pasują do y, więc x jest bardziej konkretny.) ### Zadanie 6 **W podanej niżej sieci tablice routingu budowane są za pomocą algorytmu wektora odległości. Pokaż (krok po kroku), jak będzie się to odbywać. ** ![image](https://hackmd.io/_uploads/ryvr-uwAa.png) Krok 0 | | A | B | C | D | E | |-|-|-|-|-|-| |SU| 1 | 1 | | | | |SW| | 1 | | 1 | | |SX| | 1 | 1 | | | |SY| | | | 1 | 1 | |SZ| | | 1 | 1 | | Krok 1 | | A | B | C | D | E | |-|-|-|-|-|-| |SU| 1 | 1 | 2B| 2B| | |SW| 2B| 1 | 2B| 1 | 2D| |SX| 2B| 1 | 1 | 2C| | |SY| | 2D| 2D| 1 | 1 | |SZ| | 2C| 1 | 1 | 2D| Krok 2 | | A | B | C | D | E | |-|-|-|-|-|-| |SU| 1 | 1 | 2B| 2B| 3D| |SW| 2B| 1 | 2B| 1 | 2D| |SX| 2B| 1 | 1 | 2C| 3D| |SY| 3B| 2D| 2D| 1 | 1 | |SZ| 3B| 2C| 1 | 1 | 2D| **W ilu krokach zostanie osiągnięty stan stabilny?** w 2 krokach ### Zadanie 7 Krok 0 | | A | B | C | D | E | |-|-|-|-|-|-| |SU| 1 | 1 | 2B| 2B| 3D| |SW| 2B| 1 | 2B| 1 | 2D| |SX| 2B| 1 | 1 | 2C| 3D| |SY| 3B| 2D| 2D| 1 | 1 | |SZ| 3B| 2C| 1 | 1 | 2D| |SQ| 1 | | | | 1 | Krok 1 | | A | B | C | D | E | |-|-|-|-|-|-| |SU| 1 | 1 | 2B| 2B| 3D| |SW| 2B| 1 | 2B| 1 | 2D| |SX| 2B| 1 | 1 | 2C| 3D| |SY| 3B| 2D| 2D| 1 | 1 | |SZ| 3B| 2C| 1 | 1 | 2D| |SQ| 1 | 2A | | 2E| 1 | Krok 2 | | A | B | C | D | E | |-|-|-|-|-|-| |SU| 1 | 1 | 2B| 2B| 3D| |SW| 2B| 1 | 2B| 1 | 2D| |SX| 2B| 1 | 1 | 2C| 3D| |SY| 3B| 2D| 2D| 1 | 1 | |SZ| 3B| 2C| 1 | 1 | 2D| |SQ| 1 | 2A | 3B| 2E| 1 | ### Zadanie 8 **W przedstawionej poniżej sieci uszkodzeniu ulega połączenie między routerami D i E . Załóżmy, że w sieci działa algorytm wektora odległości wykorzystujący technikę zatruwania ścieżki zwrotnej (poison reverse). Pokaż — opisując krok po kroku jakie komunikaty są przesyłane między routerami — że może powstać cykl w routingu.** ![image](https://hackmd.io/_uploads/SJSI8dDAT.png) Krok 0 | | A | B | C | D | |-|-|-|-|-|-| |SX| 3B | 2D | 2D | | D rozsyla ze juz nie moze sie dostac Krok 1 | | A | B | C | D | |-|-|-|-|-|-| |SX| | | 4A | | A wysyla C ze umie (przez B) Krok 2 | | A | B | C | D | |-|-|-|-|-|-| |SX| | | | 5B | B wysyla D ze umie (przez A)... ### Zadanie 9 **Pokaż, że przy wykorzystaniu algorytmu stanu łączy też może powstać cykl w routingu. W tym celu skonstruuj sieć z dwoma wyróżnionymi, sąsiadującymi ze sobą routerami A i B.** <pre>**A - B** | | D - C</pre> **Załóż, że wszystkie routery znają graf całej sieci. W pewnym momencie łącze między A i B ulega awarii, o czym A i B od razu się dowiadują. Zalewają one sieć odpowiednią aktualizacją. Pokaż, że w okresie propagowania tej aktualizacji (kiedy dotarła ona już do części routerów a do części nie) może powstać cykl w routingu.** Powiedzmy, że D wysyła pakiet do B przez A, dzieje się awaria i A wylicza, że powinno odesłać pakiet D i jeśli D nie wyliczy nowego stanu na czas to odesle znowu A itd. Algorytmy stanu łączy: ✦ Powiadom wszystkich o sieciach, do których jesteś połączony bezpośrednio. ✦ Na podstawie takich sąsiedztw zbuduj graf sieci i oblicz lokalnie najkrótsze ścieżki. ## Warsztaty 3 ### Robienie RIPA sudo nano /etc/frr/daemons zmien ripd=no na yes sudo systemctl start frr sudo vtysh configure terminal router rip version 2 network 192.168.1.0/24 usuwanie no network adres_sieci quit quit copy running-config startup-config