--- tags: SK, w4 --- # Sieci komputerowe warsztaty 4 ## KONFIGURACJA POCZĄTKOWA :rocket: ![](https://i.imgur.com/c9PDScA.png) 1. Na każdej z czterech maszyn wirtualnych Virbian1 –Virbian4 powinny być dwa interfejsy zmostkowane z odpowiednimi sieciami remote1–remote4. Interfejs zmostkowany z siecią remotei należy w maszynie wirtualnej nazwać enp-remi tak jak na rysunku powyżej. Dodatkowo na każdej maszynie powinien być interfejs nazwany enp-all (niezaznaczony rysunku) zmostkowany (linie przerywane) z siecią remote0. 2. Na każdej maszynie aktywuj dwa interfejsy sieciowe enp-remi ; interfejsy enp-all pozostaw nieaktywne. Aktywnym interfejsom przypisz adresy IP jak na rysunku powyżej. 3. Poleceniem ip route sprawdź, że tablica routingu każdej maszyny zawiera dokładnie dwa wpisy dotyczące bezpośrednio połączonych z nią sieci. Sprawdź dostępność bezpośrednio połączonych maszyn poleceniem ping. ## TUTORIAL 1 :rocket: Uruchom Wiresharka na wszystkich maszynach nasłuchującego na wszystkich interfejsach. 1. Jako bramę domyślną dla każdej maszyny ustaw maszynę, która jest następna w cyklu (tj. tak jak pokazują strzałki na rysunku poniżej). * dl V1: ip route add default via 192.168.1.2 * dl V2: ip route add default via 192.168.2.3 * dl V3: ip route add default via 192.168.3.4 * dl V4: ip route add default via 192.168.4.1 2. Poleceniem ping sprawdź, że z każdej maszyny osiągalne są są wszystkie interfejsy innych maszyn. Prześledź w Wiresharku ścieżki komunikatów ICMP echo request i ICMP echo reply. Czy zawsze suma tych ścieżek daje pełny cykl? Dlaczego? * jest komunikat request do jakiegoś adresu a potem odrazu odpowiedź z docelowego adresu * po tem jeszcze pakiety typu ```ARP``` Info: ```Who has 192.168.4.1? Tell 192.168.4.4``` * może dlatego, że są bezpośrednio połączone 3. tadam: ``` traceroute to 192.168.1.2 1 192.168.1.2 (192.168.1.2) 1.231 ms 1.055 ms 0.967 ms ``` ``` traceroute to 192.168.2.2 1 192.168.2.2 (192.168.2.2) 1.333 ms 1.149 ms 1.080 ms ``` ``` traceroute to 192.168.2.3 1 192.168.1.2 (192.168.1.2) 1.187 ms 1.036 ms 0.965 ms 2 192.168.2.3 (192.168.2.3) 2.189 ms 2.644 ms 2.472 ms ``` ``` traceroute to 192.168.3.3 1 192.168.1.2 (192.168.1.2) 1.219 ms 1.068 ms 0.993 ms 2 192.168.3.3 (192.168.3.3) 2.136 ms 2.058 ms 1.865 ms ``` ``` traceroute to 192.168.3.4 1 192.168.1.2 (192.168.1.2) 0.878 ms 1.093 ms 0.612 ms 2 192.168.3.3 (192.168.3.3) 2.377 ms 2.097 ms 1.792 ms 3 192.168.3.4 (192.168.3.4) 2.241 ms 1.899 ms 1.956 ms ``` ``` traceroute to 192.168.4.4 1 192.168.4.4 (192.168.4.4) 1.126 ms 0.971 ms 0.900 ms ``` 4. Usuń trasy domyślne z tablic routingu. Sprawdź, że zmiany odniosły skutek wyświetlając bieżącą tablicę poleceniem ip route. * polecenie: *sudo ip route del default via 192.168.1.2* ## TUTORIAL 2 :rocket: 1. Na każdej maszynie utwórz puste pliki konfiguracyjne /etc/quagga/ospfd.conf, /etc/quagga/zebra.conf i /etc/quagga/vtysh.conf, a następnie uruchom usługę ospfd poleceniami: * touch /etc/quagga/ospfd.conf * touch /etc/quagga/zebra.conf * touch /etc/quagga/vtysh.conf * systemctl start ospfd 2. Na każdej maszynie uruchom konsolę vtysh. W konsoli vtysh wyświetl bieżącą tablicę routingu poleceniem. 3. Wejdź w tryb konfiguracji routingu OSPF poleceniami * virbian# configure terminal * virbian(config)# router ospf Następnie włącz protokół OSPF dla sieci przyłączonych do interfejsów enp-remi. * virbian(config-router)# network 192.168.x.0/24 area 0 * virbian(config-router)# network 192.168.y.0/24 area 0 4. Wyjdź z trybu konfiguracji i wyświetl aktualną konfigurację poleceniami * virbian(config-router)# end * virbian# show running-config Upewnij się, że są w niej informacje takie jak ``` router ospf network 192.168.x.0/24 area 0.0.0.0 network 192.168.y.0/24 area 0.0.0.0 ``` a następnie zapisz bieżącą konfigurację poleceniem * virbian# copy running-config startup-config 5. Obejrzyj w Wiresharku przesyłane pakiety protokołu OSPF. Czy protokół OSPF korzysta z warstwy transportowej czy też jest osadzony bezpośrednio w pakietach IP? * [**PYTANIE**] Jak to odróżnić ?? po nagłówku jakoś ?? ``` Frame 518: 84 bytes on wire (672 bits), 84 bytes captured (672 bits) on interface any, id 0 Linux cooked capture v1 Packet type: Multicast (2) Link-layer address type: Ethernet (1) Link-layer address length: 6 Source: PcsCompu_7b:59:6d (08:00:27:7b:59:6d) Unused: 0000 Protocol: IPv4 (0x0800) Internet Protocol Version 4, Src: 192.168.1.2, Dst: 224.0.0.5 0100 .... = Version: 4 .... 0101 = Header Length: 20 bytes (5) Differentiated Services Field: 0xc0 (DSCP: CS6, ECN: Not-ECT) Time to Live: 1 Protocol: OSPF IGP (89) ``` 6. Okresowo wyświetlaj bieżącą tablicę routingu poleceniem show ip route w powłoce vtysh i poleceniem ip route w zwykłym terminalu. Jaka jest obliczona długość naj- dłuższej trasy? Dokąd prowadzi? * polepszyły się ścieżki (po sprawdzeniu traceroutem) z V1 do V4 (3.4) idzie bezpośrednio, a nie w 3 krokach 7. Na wszystkich maszynach poleceniem ip aktywuj interfejs *enp-all* i przypisz mu adres *172.16.16.x /16*, gdzie ```x ∈ {1, 2, 3, 4}``` jest numerem maszyny. 8. W każdej maszynie włącz protokół OSPF również dla nowej sieci 172.16.0.0/16. W tym celu w trybie konfiguracji narzędzia vtysh wykonaj polecenia * virbian(config)# router ospf * virbian(config-router)# network 172.16.0.0/16 area 0 ## WYZWANIE :memo: ![](https://i.imgur.com/qwfoVOz.png) 1. Skonfiguruj 4 maszyny wirtualne Virbian1 – Virbian4, tak aby korzystały z sieci local0 i local1, tak jak zaznaczono na rysunku powyżej. Nazwij ich interfejsy tak jak na rysunku (enp0, enp1 i enp-out). 2. Przypisz trzem interfejsom podłączonym do wirtualnej sieci local0 adresy z sieci 192.168.1.0/24 takie jak na rysunku. Przypisz dwóm interfejsom podłączonym do wirtualnej sieci local1 adresy z sieci 192.168.2.0/24 takie jak na rysunku. 3. Poleceniem ping sprawdź wzajemną osiągalność maszyn podłączonych do tej samej sieci local0 i maszyn podłączonych do tej samej sieci local1. 4. Na maszynach Virbian1, Virbian2 i Virbian4 dodaj trasy domyślne, które na rysunku powyżej zaznaczone są przerywanymi strzałkami. 5. Włącz Wiresharka na wszystkich maszynach. Następnie z maszyny Virbian1 pingnij maszynę Virbian4. Zaobserwuj, że maszyna jest osiągalna, ale oprócz komunikatów ICMP reply maszyna Virbian1 otrzymuje również komunikaty ICMP redirect. Są one wysyłane przez maszynę Virbian2 i informują o tym, że routing na maszynie Virbian1 jest prawdopodobnie źle skonfigurowany. Odpowiedz na następujące pytania: * Jaka jest sugerowana przez maszynę Virbian2 modyfikacja tablicy routingu na maszynie Virbian1? * ``` From 192.168.1.2: icmp_seq=1 Redirect Host(New nexthop: 192.168.1.3) ``` * Dlaczego taka zmiana ma sens? * domyślnie pakiety z *V2* trafiają do *V3*, więc wszystkie pakiety wysłane z *V1* trafią domyślnie w dwóch krokach do *V3*, więc można odrazu je kierować do *V3* * W jaki sposób maszyna Virbian2 mogła wykryć powyższy problem? * wystarczą 3 pakiety żeby już się zorientowała że można zrobić przkierowanie * ARP (request) * ARP (reply) * ICMP (ping (request)) * maszyna *V2* dostaje jeszcze pakiety typu *ARP* i one coś jej mówią * może więcej brać pod uwagę ?? wszystkie zapytania i odpowiedzi (pakiety ARP) * WYJAŚNIENIE (możliwe): * maszyny *V1*, *V2* ,*V3* informują się nawzajem w jakiej są sieci i dostają informacje, że wszystkie znajdją się wtej samej sieci więc mogą bezpośrednio między sobą wysyłać pakiety. * Czemu służą te zapytania typu ARP ?? * jak by to inaczej sforumować? * no nie ma się co kłucić są w tej samej sieci więc mogą bezpośrednio do siebie wysyłać pakiety bez pośredników i więdzą to odarazu bez żadnych czynności nie muszą nic robić żeby maszyny w tej samej sieci wiedziały że są w tej samej sieci ## PYTANIA