---
tags: SK, w4
---
# Sieci komputerowe warsztaty 4
## KONFIGURACJA POCZĄTKOWA :rocket:

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:

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