Instrukcja dla studenta:
Zadania należy zrealizować w symulatorze GNS3 przy wykorzystaniu obrazów MikroTik RouterOS (CHR) oraz maszyn wirtualnych Linux (np. Ubuntu Server). Sprawozdanie musi zawierać: treść zadania, opis wykonania krok po kroku, uzasadnienie wyboru technologii, zrzuty ekranu z GNS3, wylistowane konfiguracje urządzeń (CLI export), analizę problemów oraz wnioski końcowe.

Spis zagadnień laboratoryjnych

  1. Inicjalizacja środowiska i konfiguracja zarządzania SSH
  2. Logiczna segmentacja sieci z użyciem VLAN i Bridge
  3. Redundancja warstwy 2 i protokół Spanning Tree
  4. Implementacja routingu statycznego i tras domyślnych
  5. Dynamiczna wymiana tras w protokole OSPF
  6. Zabezpieczanie brzegu sieci – Firewall i listy dostępu
  7. Translacja adresów NAT i udostępnianie usług Linux
  8. Bezpieczny tunel Site-to-Site VPN (IPsec)
  9. Centralizacja logów i monitorowanie (Syslog i SNMP)
  10. Wysoka dostępność bramy domyślnej z protokołem VRRP
01
Inicjalizacja środowiska i konfiguracja zarządzania SSH
Podstawa merytoryczna

Wykład 1 Model OSI, Wykład 3 Usługi zarządzania, SSH, TCP/22.

Scenariusz problemowy

Rozpoczynasz proces budowy infrastruktury sieciowej dla nowej firmy. Twoim pierwszym zadaniem jest poprawne uruchomienie maszyn wirtualnych w GNS3 oraz zapewnienie bezpiecznego dostępu administracyjnego przez SSH. Wyobraź sobie, że stoisz w serwerowni firmy i musisz skonfigurować nowy ruter brzegowy, który będzie obsługiwał sieć firmową. Masz dostęp do konsoli GNS3, ale docelowo chcesz zarządzać ruterem zdalnie z poziomu swojego laptopa (maszyna Linux w GNS3).

Twoje zadanie polega na tym, aby:

  • Uruchomić w GNS3 ruter MikroTik CHR oraz maszynę z systemem Linux (Ubuntu Server)
  • Połączyć je kablem wirtualnym (ether1 MikroTika ↔ eth0 Linuxa)
  • Nadać MikroTikowi adres IP 192.168.1.1/24 na interfejsie ether1
  • Nadać maszynie Linux adres IP 192.168.1.10/24 na interfejsie eth0
  • Zweryfikować połączenie między urządzeniami poleceniem ping
  • Skonfigurować dostęp SSH na niestandardowym porcie 2222 (dla bezpieczeństwa)
  • Utworzyć dedykowane konto administratora z silnym hasłem
  • Zablokować nieużywane usługi (telnet, FTP, WWW, API)
  • Zalogować się do MikroTika z Linuxa przez SSH i zweryfikować sesję

To zadanie jest fundamentem – jeśli nie wykonaj go poprawnie, nie będziesz mógł kontynuować pracy zdalnie w kolejnych laboratoriach!

Wymagania techniczne
  • Uruchomienie mikroTik CHR oraz maszyny Linux (np. Ubuntu) w topologii GNS3.
  • Połączenie interfejsu ether1 mikroTika z maszyną Linux kablem wirtualnym.
  • Konfiguracja adresu IP 192.168.1.1/24 na mikroTiku (interfejs ether1).
  • Konfiguracja statycznego adresu IP 192.168.1.10/24 na maszynie Linux.
  • Weryfikacja łączności warstwy 3 za pomocą polecenia ping z obu stron.
  • Stworzenie lokalnego konta administratora na MikroTik z silnym hasłem.
  • Włączenie serwera SSH na MikroTik (ip service set ssh disabled=no).
  • Wyłączenie nieużywanych usług zarządzania (telnet, ftp, www, api).
  • Przeprowadzenie udanego logowania przez SSH z Linuxa do MikroTika.
  • Sprawdzenie aktywnych sesji na MikroTik (user active print).
  • Zmiana domyślnego portu SSH z 22 na 2222 w celu zwiększenia bezpieczeństwa.
  • Identyfikacja numeru seryjnego i wersji systemu RouterOS przez CLI.
Wskazówki
  • Domyślne dane logowania: W MikroTik RouterOS domyślny użytkownik to admin bez hasła (puste pole). Po pierwszym logowaniu zaleca się natychmiast ustawić hasło.
  • Sprawdzenie stanu usług: Użyj polecenia /ip service print aby zobaczyć wszystkie usługi i ich porty.
  • Zmiana portu SSH: Aby zmienić port SSH z domyślnego 22 na niestandardowy 2222, użyj: /ip service set ssh port=2222.
  • Logowanie z Linuxa: Pamiętaj, aby przy połączeniu SSH na niestandardowym porcie użyć flagi -p: ssh -p 2222 admin@192.168.1.1.
  • Generowanie kluczy SSH: Przy pierwszym połączeniu SSH z nowego hosta Linux, sistem zapyta czy zaufujemy hostowi. Wpisz yes i naciśnij Enter.
  • Weryfikacja sesji: Polecenie /user active print pokazuje aktywnie zalogowanych użytkowników.
  • Informacje o systemie: /system resource print pokazuje CPU, pamięć, wersję RouterOS. /system identity print pokazuje nazwę urządzenia.
  • Adresacja IP na Linuxie: W nowszych wersjach Ubuntu użyj polecenia ip addr add 192.168.1.10/24 dev eth0 (zamiast ifconfig).
  • Trwałość konfiguracji: W GNS3 konfiguracja MikroTika jest zachowana po wyłączeniu maszyny wirtualnej, ale pamiętaj o zapisie konfiguracji: /export file=konfiguracja.
  • Reset do fabrycznej: Jeśli coś pójdzie nie tak, użyj polecenia /system reset-configuration no-defaults=yes aby zresetować router do ustawień domyślnych.
Przykład konfiguracji CLI
[admin@MikroTik] > /ip address add address=192.168.1.1/24 interface=ether1 [admin@MikroTik] > /user add name=adm_lab password="SilneHaslo123!" group=full [admin@MikroTik] > /ip service set ssh port=2222 disabled=no [admin@MikroTik] > /ip service disable telnet,ftp,www,api [admin@MikroTik] > /system resource print # Na maszynie Linux: root@linux:~# ip addr add 192.168.1.10/24 dev eth0 root@linux:~# ping 192.168.1.1 -c 4 root@linux:~# ssh -p 2222 adm_lab@192.168.1.1
Wnioski do opracowania

Uzasadnij wybór protokołu SSH nad Telnetem w kontekście bezpieczeństwa warstwy aplikacji. Opisz, jakie zagrożenia eliminuje zmiana domyślnego portu usługi na niestandardowy. Wyjaśnij, dlaczego SSH jest szyfrowany (szyfrowanie symetryczne i asymetryczne), a Telnet przesyła dane otwartym tekstem. Omów proces ustanawiania połączenia SSH (negocjacja szyfrów, wymiana kluczy Diffie-Hellman). Przedstaw znaczenie silnych haseł i uwierzytelniania wieloskładnikowego (2FA/MFA). Wyjaśnij, dlaczego wyłączenie nieużywanych usług (telnet, FTP, WWW, API) jest częścią "hardeningu" systemu. Opisz też znaczenie logowania i audytu w zarządzaniu systemem.

Schemat topologii
02
Logiczna segmentacja sieci z użyciem VLAN i Bridge
Podstawa merytoryczna

Wykład 1 Warstwa łącza danych, VLAN, IEEE 802.1Q.

Scenariusz problemowy

Wyobraź sobie, że pracujesz jako administrator sieci w firmie produkcyjnej. Dostałeś zadanie segregacji ruchu sieciowego na tym samym fizycznym routerze. Firma posiada dwa działy:

  • Dział Administracji (sekretariat, księgowość, zarząd) – wymaga bezpiecznego dostępu do wrażliwych danych, nie powinien widzieć ruchu z produkcji
  • Dział Produkcji (hala produkcyjna, magazyn) – ruch generowany przez maszyny CNC, systemy SCADA, drukarki przemysłowe

Postanowiono wdrożyć wirtualne sieci lokalne (VLAN) zgodnie ze standardem IEEE 802.1Q:

  • VLAN 10 (Admin) – adresacja 10.10.10.0/24, brama 10.10.10.1
  • VLAN 20 (Produkcja) – adresacja 10.20.20.0/24, brama 10.20.20.1

Twoim zadaniem jest:

  • Utworzenie mostu (Bridge) na MikroTiku z włączonym filtrowaniem VLAN
  • Skonfigurowanie interfejsów VLAN 10 i VLAN 20 na moście
  • Nadanie adresów IP na interfejsach VLAN (będą to bramy domyślne dla działów)
  • Podłączenie dwóch maszyn Linux – każda w innym VLAN (wymaga konfiguracji tagowania 802.1Q)
  • Skonfigurowanie maszyn Linux tak, aby obsługiwały tagi VLAN
  • Weryfikacja, że komputery z tego samego VLANu się "widzą"
  • Weryfikacja, że komputery z różnych VLANów mogą się komunikować przez router
  • Sprawdzenie tablicy ARP i interfejsów VLAN na MikroTiku

To standardowy model projektowy stosowany w każdej nowoczesnej sieci LAN w firmach – izolacja ruchu bez fizycznego rozdzielania urządzeń!

Wymagania techniczne
  • Utworzenie interfejsu Bridge o nazwie "bridge-lan" na ruterze.
  • Stworzenie dwóch interfejsów VLAN: VLAN10 (Admin) i VLAN20 (Prod).
  • Przypisanie VLAN-ów do interfejsu fizycznego łączącego ruter z hostami.
  • Nadanie adresacji IP: 10.10.10.1/24 (VLAN10) oraz 10.20.20.1/24 (VLAN20).
  • Konfiguracja maszyn Linux w GNS3 tak, aby każda należała do innego VLANu (tagowanie 802.1Q).
  • Weryfikacja tablicy interfejsów (interface vlan print).
  • Sprawdzenie tablicy ARP pod kątem separacji adresów MAC w segmentach.
  • Weryfikacja routingu między VLAN 10 a VLAN 20.
  • Dokumentacja struktury ramki Ethernet z tagiem 802.1Q (analiza wireshark).
  • Ustawienie opisu (comment) dla każdego interfejsu logicznego.
  • Konfiguracja MikroTika tak, aby pełnił funkcję bramy domyślnej dla obu podsieci.
  • Przetestowanie izolacji poprzez próbę pingowania wewnątrz tego samego VLANu oraz między VLANami.
Wskazówki
  • Bridge VLAN Filtering: W RouterOS v7+ nowoczesne podejście do VLAN opiera się na 'Bridge VLAN Filtering'. Musisz włączyć filtrowanie na moście: vlan-filtering=yes.
  • Kolejność konfiguracji: Najpierw utwórz bridge, włącz vlan-filtering, dodaj porty do mostu, dopiero potem konfiguruj VLANy.
  • Tagged vs Untagged: Port z tagiem (tagged) przesyła pakiety z tagiem 802.1Q, port bez tagu (untagged) usuwa tag - używaj tego dla komputerów, które nie rozumieją VLAN.
  • Weryfikacja VLAN: Polecenie /interface vlan print pokazuje wszystkie interfejsy VLAN. /interface bridge vlan print pokazuje konfigurację VLAN na moście.
  • VLAN na Linuxie: Aby Linux obsługiwał VLANy, zainstaluj pakiet vlan: apt install vlan, następnie: ip link add link eth0 name eth0.10 type vlan id 10.
  • Maszyna w GNS3: W GNS3 użyj VPCS lub Cloud z konfiguracją VLAN. VPCS ma polecenie vlan 10 do ustawienia VLAN ID.
  • Routing Inter-VLAN: Aby komputery z różnych VLANów się komunikowały, muszą mieć ustawioną bramę domyślną na adres IP routera w ich VLANie.
  • Sprawdzenie ARP: /ip arp print pokazuje tablicę ARP - powinieneś widzieć adresy MAC z obu podsieci.
  • Problem z komunikacją: Jeśli nie ma komunikacji między VLANami, sprawdź czy firewall nie blokuje ruchu (chain=forward).
  • MTU z VLAN: Pamiętaj, że tag VLAN dodaje 4 bajty do ramki. Jeśli masz problemy z komunikacją, zmniejsz MTU do 1496.
Przykład konfiguracji CLI
[admin@MikroTik] > /interface bridge add name=bridge-lan vlan-filtering=yes [admin@MikroTik] > /interface vlan add name=VLAN10-Admin vlan-id=10 interface=bridge-lan [admin@MikroTik] > /interface vlan add name=VLAN20-Prod vlan-id=20 interface=bridge-lan [admin@MikroTik] > /ip address add address=10.10.10.1/24 interface=VLAN10-Admin [admin@MikroTik] > /ip address add address=10.20.20.1/24 interface=VLAN20-Prod [admin@MikroTik] > /interface bridge vlan add bridge=bridge-lan tagged=ether1 vlan-ids=10,20 [admin@MikroTik] > /interface bridge port add bridge=bridge-lan interface=ether1
Wnioski do opracowania

Wyjaśnij zalety stosowania VLAN-ów w kontekście wydajności sieci (ograniczenie domeny broadcast). Opisz, dlaczego komunikacja między różnymi VLAN-ami wymaga urządzenia warstwy trzeciej. Omów standard IEEE 802.1Q i strukturę tagu VLAN (TPID - 0x8100, TCI - Priority Code Point + VLAN ID). Wyjaśnij różnicę między portami Access (untagged) i Trunk (tagged). Przedstaw pojęcie "native VLAN" i "allowed VLAN list" na trunkach. Opisz, jak działa routing Inter-VLAN (router-on-a-stick, switch L3). Wyjaśnij też seguridad korzyści z izolacji VLAN - dlaczego ruch z jednego VLAN nie powinien bezpośrednio widzieć innego VLAN bez routingu.

Schemat topologii
03
Redundancja warstwy 2 i protokół Spanning Tree
Podstawa merytoryczna

Wykład 1 STP (Spanning Tree Protocol), Pętle w warstwie 2.

Scenariusz problemowy

Wyobraź sobie, że projektujesz sieć szkieletową (backbone) dla biurowca wielopiętrowego. Aby zapewnić ciągłość działania, potrzebujesz redundantnych połączeń między przełącznikami – jeśli jedno łącze się przerwie, sieć ma działać dalej bez przerw.

Tworzysz następującą topologię w GNS3:

  • Trzy rutery MikroTik pracujące jako przełączniki warstwy 2 (Bridge)
  • Połączenia między każdą parą routerów (tworzące trójkąt)
  • Każdy router ma dwa interfejsy ether w moście

Problem: taka redundantna topologia tworzy pętlę w warstwie 2! Pakiety broadcast krążą w nieskończoność, powodując tzw. "burzę rozgłoszeniową" (broadcast storm), która może zawiesić całą sieć w ciągu sekund.

Twoim zadaniem jest:

  • Skonfigurować protokół STP (lub nowszy RSTP – Rapid STP) na mostach
  • Zmienić priorytet jednego routera, aby stał się Root Bridge (mostem głównym)
  • Zaobserwować, który port zostanie zablokowany (Blocking/Discarding)
  • Przeanalizować pakiety BPDU w Wireshark
  • Symulować awarię głównego łącza i zmierzyć czas konwergencji
  • Zaobserwować przejęcie ruchu przez łącze zapasowe
  • Przywrócić łącze i sprawdzić powrót do stanu stabilnego
  • Skonfigurować Edge Ports dla portów podłączonych do komputerów

To kluczowe zadanie dla zrozumienia, jak działa samonaprawa sieci w przypadku awarii!

Wymagania techniczne
  • Stworzenie pętli fizycznej w GNS3 przy użyciu dwóch/trzech ruterów MikroTik połączonych mostami.
  • Włączenie protokołu STP (lub RSTP) na odpowiednich interfejsach Bridge.
  • Wybór głównego rutera jako Root Bridge poprzez zmianę parametru 'priority'.
  • Weryfikacja statusu portów (Forwarding, Blocking/Discarding) poleceniem interface bridge port print.
  • Przeanalizowanie komunikatów BPDU przesyłanych między urządzeniami (Wireshark).
  • Symulacja awarii łącza głównego i obserwacja czasu konwergencji sieci.
  • Ustawienie parametru 'path-cost' w celu wymuszenia konkretnej ścieżki przesyłu danych.
  • Udokumentowanie zmiany Root Bridge po wyłączeniu dotychczasowego lidera.
  • Analiza wpływu protokołu STP na opóźnienia w stabilnej sieci.
  • Konfiguracja Edge Portów dla interfejsów łączących stacje robocze.
  • Sprawdzenie flag statusu mostu: root-bridge, designated-port itp.
  • Wyciągnięcie logów systemowych informujących o zmianach topologii.
Wskazówki
  • WAŻNE - STP PRZED podłączeniem: Nigdy nie podłączaj fizycznego kabla tworzącego pętlę PRZED włączeniem STP! W GNS3 burza broadcastowa może zawiesić Twój komputer w sekundę.
  • RSTP domyślnie: MikroTik domyślnie używa RSTP (Rapid STP) - nowszy i szybszy niż klasyczny STP.
  • Włączenie STP: Protokół STP włącza się w konfiguracji bridge, a nie na portach: /interface bridge add name=bridge-stp protocol-mode=rstp.
  • Wybór Root Bridge: Urządzenie z najniższym priorytetem (domyślnie 32768) staje się Root Bridge. Ustaw niższy priorytet na routerze, który ma być główny.
  • Sprawdzenie stanu: /interface bridge port print pokazuje stan portów (designated, root, alternate, backup). /interface bridge monitor bridge-stp pokazuje szczegóły.
  • Path Cost: Domyślne wartości: 10Mbps=100000, 100Mbps=20000, 1Gbps=2000, 10Gbps=200. Zmień przez path-cost aby wymusić konkretną ścieżkę.
  • Edge Ports: Porty podłączone do komputerów ustaw jako edge (port-fast): /interface bridge port set [find interface=ether3] edge-port=edge.
  • BPDU w Wireshark: Przechwytuj na locie i szukaj pakietów z Ethertype 0x0100 (BPDU) - zobaczysz jak routery "rozmawiają".
  • Symulacja awarii: Aby przetestować STP, wyłącz port na jednym routerze: /interface ether1 set enabled=no.
  • Konwergencja: RSTP zbiega się w ok. 1-2 sekundy, klassyczny STP może potrwać 30-50 sekund.
Przykład konfiguracji CLI
# Konfiguracja głównego przełącznika (Root Bridge) [admin@R1-Root] > /interface bridge add name=bridge-stp protocol-mode=rstp priority=0x4000 [admin@R1-Root] > /interface bridge port add bridge=bridge-stp interface=ether1 [admin@R1-Root] > /interface bridge port add bridge=bridge-stp interface=ether2 [admin@R1-Root] > /interface bridge monitor bridge-stp # Sprawdzenie statusu portów na pozostałych ruterach [admin@R2-Switch] > /interface bridge port print stats
Wnioski do opracowania

Opisz mechanizm zapobiegania pętlom przez protokół STP. Wyjaśnij różnice w prędkości działania między klasycznym STP (802.1D) a Rapid STP (802.1w). Omów, w jaki sposób protokół STP wybiera ścieżkę bez pętli i dlaczego niektóre porty są blokowane. Wyjaśnij pojęcie Root Bridge (mostu głównego) i kryteria jego wyboru (najniższy priorytet + najniższy adres MAC). Opisz, jakie informacje zawierają komunikaty BPDU (Bridge Protocol Data Units) i jak często są wysyłane. Przedstaw, ile wynosi domyślny czas konwergencji dla STP i RSTP oraz dlaczego RSTP jest preferowany w nowoczesnych sieciach. Wyjaśnij również pojęcie portu Edge (port-fast) i jego zastosowanie dla portów podłączonych do komputerów.

Schemat topologii
04
Implementacja routingu statycznego i tras domyślnych
Podstawa merytoryczna

Wykład 2 Routing, Brama domyślna, Tablica routingu.

Scenariusz problemowy

Wyobraź sobie, że Twoja firma otworzyła nowy oddział w innym mieście i musisz połączyć go z centralą dedykowanym łączem point-to-point. Budujesz następującą topologię:

  • R1 (Centrala) – router w biurze głównym, ma sieć LAN 192.168.10.0/24
  • R2 (Oddział) – router w nowym oddziale, ma sieć LAN 192.168.20.0/24
  • Łącze WAN między nimi: 172.16.0.0/30 (dwa adresy: 172.16.0.1 i 172.16.0.2)

Problem: routery muszą "wiedzieć" o sieciach swoich partnerów. R1 zna swoją sieć LAN, ale skąd ma wiedzieć, gdzie jest sieć 192.168.20.0/24 oddziału? Analogicznie R2 nie wie, gdzie jest centrala.

Trzeba ręcznie zaprogramować trasy statyczne (to jak wskazówki dla kierowców, które mówią "idź w to miejsce, a potem w tamto").

Twoim zadaniem jest:

  • Połączyć oba rutery kablem ethernetowym (lub szeregowym w GNS3)
  • Skonfigurować adresy IP na interfejsach WAN i LAN obu routerów
  • Dodać trasę statyczną na R1: "idź do 192.168.20.0/24 przez 172.16.0.2"
  • Dodać trasę statyczną na R2: "idź do 192.168.10.0/24 przez 172.16.0.1"
  • Dodać trasę domyślną (0.0.0.0/0) na R2 dla ruchu do Internetu
  • Skonfigurować bramę domyślną na hostach Linux w obu sieciach
  • Zweryfikować tablice routingu na obu routerach
  • Użyć traceroute z hosta w centrali do hosta w oddziale
  • Sprawdzić, czy ping chodzi w obie strony
  • Zrozumieć, dlaczego "nie działa w jedną stronę" (brak trasy powrotnej)

Routing statyczny to podstawa – nawet protokoły dynamiczne go używają jako "ostatnią deskę ratunku"!

Wymagania techniczne
  • Połączenie dwóch ruterów MikroTik interfejsem szeregowym lub ethernetowym (punkt-punkt).
  • Adresacja WAN między ruterami: 172.16.0.0/30.
  • Podsieć LAN 1: 192.168.10.0/24 (Centrala).
  • Podsieć LAN 2: 192.168.20.0/24 (Oddział).
  • Dodanie trasy statycznej na R1 prowadzącej do sieci LAN 2 przez IP sąsiada.
  • Dodanie trasy statycznej na R2 prowadzącej do sieci LAN 1 przez IP sąsiada.
  • Konfiguracja trasy domyślnej 0.0.0.0/0 kierującej ruch do stymulowanej chmury Internet.
  • Weryfikacja tablicy routingu (ip route print).
  • Użycie polecenia traceroute z hosta w Centrali do hosta w Oddziale.
  • Test mechanizmu "recursive routing" (teoretycznie lub praktycznie).
  • Udokumentowanie statusu 'reachable' (Active Static Connected).
  • Zapewnienie poprawnej bramy domyślnej na hostach końcowych Linux.
Wskazówki
  • Routing działa w obie strony: To najważniejsza zasada! Jeśli ping z Centrali dojdzie do Oddziału, ale router w Oddziale nie wie jak odpowiedzieć - połączenie nie działa. Zawsze weryfikuj trasę powrotną!
  • Adresacja /30: Dla połączenia point-to-point używaj podsieci /30 (dwa hosty: adres sieci, adres hosta, adres rozgłoszeniowy = 4 adresy). /30 daje dokładnie 2 użyteczne adresy IP.
  • Tradycyjna składnia: Polecenie /ip route add dst-address=192.168.20.0/24 gateway=172.16.0.2 dodaje trasę do sieci 192.168.20.0/24 przez bramę 172.16.0.2.
  • Sprawdzenie tablicy: /ip route print pokazuje wszystkie trasy. Kolumna "dst-address" pokazuje sieć docelową.
  • Trasa domyślna: 0.0.0.0/0 oznacza "wszystkie sieci" - używaj jako ostatnią trasę (ostatni deskę ratunku). Sprawdź kolejność: bardziej konkretne trasy mają pierwszeństwo!
  • Troubleshooting: Jeśli nie działa, użyj /ip route print z kolumną "gateway" i "distance". Sprawdź czy gateway jest dostępny (ping).
  • Brama na hostach: Każdy host Linux musi mieć ustawioną bramę domyślną: ip route add default via 192.168.10.1.
  • Distance: Domyślna distance=1. Większa wartość = trasa gorszego priorytetu (backup). Użyj do redundantnych tras statycznych.
  • Sprawdzenie osiągalności: Kolumna "reachable" w /ip route print pokazuje czy gateway jest osiągalny (yes) lub nie (no).
  • Reset tablicy routingu: Czasem pomaga /ip route remove [/ip route find] i ponowne dodanie tras.
Przykład konfiguracji CLI
# Konfiguracja R1 (Centrala) [admin@R1-HQ] > /ip address add address=172.16.0.1/30 interface=ether1 [admin@R1-HQ] > /ip route add dst-address=192.168.20.0/24 gateway=172.16.0.2 [admin@R1-HQ] > /ip route add dst-address=0.0.0.0/0 gateway=10.0.0.1 # Konfiguracja R2 (Oddział) [admin@R2-Branch] > /ip address add address=172.16.0.2/30 interface=ether1 [admin@R2-Branch] > /ip route add dst-address=192.168.10.0/24 gateway=172.16.0.1 [admin@R2-Branch] > /ip route print
Wnioski do opracowania

Uzasadnij rolę bramy domyślnej w urządzeniach końcowych. Wyjaśnij, w jakich sytuacjach routing statyczny jest lepszym wyborem niż protokoły dynamiczne. Opisz, dlaczego routing musi działać w obie strony (trasy powrotne). Wyjaśnij pojęcie "tablicy routingu" i algorytm longest match (najdłuższe dopasowanie prefiksu). Przedstaw różnicę między trasą statyczną a trasą domyślną (default route) i ich zastosowanie. Omów, dlaczego w sieciach o wielu routerach stosuje się adresację /30 dla łącz point-to-point. Wyjaśnij pojęcie "Administrative Distance" i jak router wybiera między trasami z różnych źródeł (connected, static, OSPF). Opisz również problem asymetrii routingu i dlaczego może powodować problemy w niektórych aplikacjach.

Schemat topologii
05
Dynamiczna wymiana tras w protokole OSPF
Podstawa merytoryczna

Wykład 2 OSPF (Open Shortest Path First), Algorytm Dijkstry.

Scenariusz problemowy

Wyobraź sobie, że Twoja firma ma teraz 3 oddziały i ciągle otwiera nowe. Ręczne aktualizowanie tras statycznych na każdym routerze po dodaniu nowego oddziału zajmuje zbyt wiele czasu i jest podatne na błędy.

Postanowiono wdrożyć protokół routingu dynamicznego OSPF (Open Shortest Path First). To protokół "stanu łącza" – każdy router zna całą topologię sieci i sam oblicza najkrótszą ścieżkę do każdej sieci (używa algorytmu Dijkstry).

Budujesz następującą topologię w GNS3:

  • Trzy rutery MikroTik w kształcie trójkąta (R1, R2, R3)
  • Każdy router ma swoją sieć LAN
  • Wszystkie trzy routery są w tym samym obszarze OSPF – Area 0 (backbone)

Twoim zadaniem jest:

  • Skonfigurować instancję OSPF na każdym routerze (router-id: 1.1.1.1, 2.2.2.2, 3.3.3.3)
  • Utworzyć obszar Area 0 (backbone)
  • Dodać interfejsy do OSPF (network command lub interface template)
  • Zweryfikować sąsiedztwo – stan "Full" w adjacent neighbors
  • Sprawdzić bazę danych LSDB (Link State Database)
  • Zobaczyć trasy OSPF w tablicy routingu (/ip route print where ospf)
  • Zmienić koszt jednego łącza i zaobserwować zmianę trasy
  • Symulować awarię jednego łącza i zmierzyć czas konwergencji
  • Dodać trasę domyślną na routerze brzegowym (redystrybucja)
  • Zrozumieć różnicę między DR (Designated Router) a BDR w sieciach multi-access

OSPF to dzisiaj standard w sieciach korporacyjnych – uczy się automatycznie topologii!

Wymagania techniczne
  • Topologia trójkąta (3 rutery) dla demonstracji nadmiarowości ścieżek.
  • Konfiguracja instancji OSPF (routing ospf instance add).
  • Zdefiniowanie obszaru szkieletowego Area 0 (backbone).
  • Dodanie interfejsów sieciowych do procesu ogłaszania (network command).
  • Ustawienie Router ID na unikalne adresy IP (np. 1.1.1.1, 2.2.2.2).
  • Weryfikacja sąsiedztwa (routing ospf neighbor print) – stan Full.
  • Analiza metryki kosztu na poszczególnych łączach.
  • Weryfikacja bazy danych stanu łączy LSDB (routing ospf lsa print).
  • Symulacja awarii jednego łącza i obserwacja czasu aktualizacji tras w tablicy IP.
  • Redystrybucja trasy domyślnej (default-originate) z rutera brzegowego.
  • Testowanie priorytetu wyboru Root Routera (DR/BDR) na segmentach multi-access.
  • Udokumentowanie trasy pakietu przy różnych wagach interfejsów.
Wskazówki
  • RouterOS v7 vs v6: W v7 konfiguracja OSPF jest zupełnie nowa - używa "templates" zamiast "network" command. To ważne przy wykonywaniu zadań!
  • Tworzenie instancji: Najpierw utwórz instancję: /routing ospf instance add name=ospf-main router-id=1.1.1.1.
  • Tworzenie obszaru: Potem dodaj obszar (backbone): /routing ospf area add name=backbone area-id=0.0.0.0 instance=ospf-main.
  • Interface Template: Szablon definiuje na których interfejsach działa OSPF: /routing ospf interface-template add interfaces=ether1,ether2 area=backbone.
  • Weryfikacja sąsiedztwa: /routing ospf neighbor print - stan musi być "Full" (znaczy sąsiad jest w pełni połączony).
  • LSDB: /routing ospf lsa print pokazuje bazę danych stanu łączy (Link State Database) - wszystkie znane routery i sieci.
  • Trasy OSPF: /ip route print where ospf pokazuje trasy nauczone przez OSPF.
  • Router ID: W postaci IP (np. 1.1.1.1) - musi być unikalny na każdym routerze w obszarze.
  • MTU: OSPF wymaga MTU minimum 576 Bajtów. Jeśli są problemy z sąsiedztwem, sprawdź MTU na łączu.
  • Dead Timer: Domyślnie 40 sekund. Jeśli nie dostanie hello przez dead-interval, uznaje sąsiada za martwego.
Przykład konfiguracji CLI
[admin@R1] > /routing ospf instance add name=ospf-main router-id=1.1.1.1 [admin@R1] > /routing ospf area add name=backbone area-id=0.0.0.0 instance=ospf-main [admin@R1] > /routing ospf interface-template add interfaces=ether1,ether2 area=backbone type=ptp [admin@R1] > /routing ospf neighbor print [admin@R1] > /ip route print where ospf
Wnioski do opracowania

Opisz zalety algorytmu Dijkstry w kontekście obliczania tras. Wyjaśnij pojęcie "konwergencji sieci" (convergence) i jej znaczenie dla stabilności połączeń użytkowników. Omów, jak działa mechanizm "Hello" i "Dead Interval" w OSPF. Wyjaśnij różnicę między stanami sąsiedztwa (Down, Init, 2-Way, ExStart, Exchange, Loading, Full) w nawiązywaniu relacji. Przedstaw, czym jest LSA (Link State Advertisement) i jakie typy LSA są używane w OSPFv2. Wyjaśnij pojęcie Area 0 (backbone) i zasady hierarchii obszarów OSPF.

Schemat topologii
06
Zabezpieczanie brzegu sieci – Firewall i listy dostępu
Podstawa merytoryczna

Wykład 2 Filtrowanie ruchu, ACL, Wykład 4 Bezpieczeństwo perymetru.

Scenariusz problemowy

Wyobraź sobie, że Twój ruter MikroTik stoi na granicy sieci firmowej – jedna strona to "Internet" (symulowany przez Cloud w GNS3), druga strona to sieć wewnętrzna LAN. Twój router jest "pierwszą linią obrony" – to on widzi każdy pakiet wchodzący z Internetu.

Twoja firma codziennie atakowana jest przez:

  • Skanery portów próbujące znaleźć otwarte usługi
  • Ataki typu DoS (Denial of Service)
  • Próby dostępu do panelu zarządzania routerem z zewnątrz
  • Podejrzane pakiety z fałszywymi źródłami IP

Musisz zbudować "zaporę ogniową" (firewall) według zasady:

  • Wszystko, co nie jest explicite dozwolone – jest zabronione
  • Zezwól tylko na ruch, który jest rzeczywiście potrzebny

Twoim zadaniem jest:

  • Skonfigurować Cloud (internet) podłączony do interfejsu WAN MikroTika
  • Utworzyć "address-list" z zaufanymi adresami administratora
  • Dodać regułę "established, related" dla ruchu powrotnego (WAŻNE!)
  • Zezwolić na SSH dla admina tylko z jego adresu IP
  • Zezwolić na ping (ICMP) tylko z sieci zarządzającej
  • Zablokować cały ruch przychodzący z WAN do routera (chain=input)
  • Zablokować cały ruch przechodzący przez router (chain=forward) do LAN
  • Włączyć logowanie podejrzanych pakietów
  • Przetestować reguły – próbować dostać się z zewnątrz bez dozwolonego IP
  • Zweryfikować liczniki pakietów w regułach firewalla
  • Sprawdzić logi – czy zablokowane pakiety są logowane
  • Zablokować usługi mac-winbox i mac-telnet

Firewall to Twój strażnik – musi być skonfigurowany restrykcyjnie, bo jeden błąd to potencjalne włamanie!

Wymagania techniczne
  • Konfiguracja reguły zezwalającej na ruch powrotny (connection-state=established,related).
  • Blokada ruchu przychodzącego z zewnątrz do rutera (chain=input, action=drop).
  • Stworzenie listy zaufanych adresów administratora (address-list).
  • Zezwolenie na ruch ICMP (ping) tylko z wybranej sieci zarządzającej.
  • Blokada skanowania portów (logowanie podejrzanych pakietów).
  • Weryfikacja działania reguł (licznik pakietów w ip firewall filter print).
  • Testowanie dostępu do WWW z sieci LAN przy aktywnej blokadzie na wejściu.
  • Zdefiniowanie reguł dla łańcucha 'forward' ograniczających pasmo p2p.
  • Udokumentowanie odrzuconych pakietów w logach systemowych.
  • Konfiguracja ochrony przed atakami typu DoS (limitowanie liczby połączeń).
  • Utwardzenie konfiguracji poprzez wyłączenie usługi mac-telnet i mac-winbox.
  • Weryfikacja szczelności firewalla zewnętrznym skanerem (nmap z linuxa w GNS3).
Wskazówki
  • Kolejność reguł jest krytyczna: Reguły są przetwarzane od góry do dołu. Pierwsza pasująca reguła wygrywa. Dlatego "established, related" musi być NA POCZĄTKU listy!
  • Established, Related: Te stany obsługują ruch powrotny dla już ustanowionych połączeń. Bez tej reguły odetniesz własną sesję SSH!
  • Sprawdzenie reguł: /ip firewall filter print pokazuje wszystkie reguły. Kolumna "hits" pokazuje ile razy reguła była dopasowana.
  • Address List: Użyj /ip firewall address-list add address=192.168.1.100 list=admin_access aby utworzyć listę zaufanych adresów.
  • Chain=input vs forward: "input" = ruch DO routera (zarządzanie). "forward" = ruch PRZEZ routera (między sieciami).
  • Logowanie: Dodaj log=yes do reguły aby widzieć dopasowane pakiety w logu: /log print.
  • Testowanie: Użyj Linuxa z innej sieci do testowania. Spróbuj dostać się na SSH - powinno być zablokowane.
  • Usługi MAC: Wyłącz dostęp przez Mac-telnet i Mac-winbox: /tool mac-server set enabled=no i /tool mac-server paging set enabled=no.
  • ICMP: Ping (ICMP) jest często używany do diagnostyki, ale też do ataków. Rozważ limitowanie lub zablokowanie od WAN.
  • Przywrócenie dostępu: Jeśli się zablokujesz, użyj konsoli GNS3 (Console) - masz bezpośredni dostęp do CLI.
Przykład konfiguracji CLI
[admin@MikroTik] > /ip firewall address-list add address=192.168.1.100 list=admin_access [admin@MikroTik] > /ip firewall filter add chain=input action=accept connection-state=established,related [admin@MikroTik] > /ip firewall filter add chain=input action=accept src-address-list=admin_access protocol=tcp dst-port=2222 [admin@MikroTik] > /ip firewall filter add chain=input action=drop in-interface=ether1-wan [admin@MikroTik] > /ip firewall filter print
Wnioski do opracowania

Wyjaśnij różnicę między łańcuchem 'input' a 'forward' w firewallu typu mikroTik. Opisz zasadę działania mechanizmu inspekcji stanowej (stateful packet inspection). Omów, dlaczego zasada "default deny" (lub "default drop") jest podstawową zasadą bezpieczeństwa. Wyjaśnij znaczenie stanów połączeń (NEW, ESTABLISHED, RELATED, INVALID). Przedstaw, jak działa mechanizm "connection tracking" w śledzeniu sesji. Opisz różnicę między filtrowaniem "stateless" a "stateful". Omów też bezpieczeństwo warstwy aplikacji (Application Layer) i dlaczego sam firewall nie wystarcza do ochrony przed wszystkimi atakami.

Schemat topologii
07
Translacja adresów NAT i udostępnianie usług Linux
Podstawa merytoryczna

Wykład 2 NAT (Network Address Translation), Port Forwarding.

Scenariusz problemowy

Wyobraź sobie następującą sytuację: Twoja firma ma tylko jeden publiczny adres IP (jest ich deficyt w IPv4), ale w sieci wewnętrznej jest 254 komputerów pracowników, którzy wszyscy chcą mieć dostęp do Internetu. Dodatkowo firma uruchomiła nowy sklep internetowy i potrzebuje serwera WWW widocznego z zewnątrz!

Musisz rozwiązać dwa problemy:

  1. Source NAT (Masquerade) – ukryć wszystkie komputery za jednym IP, żeby mogły wychodzić do Internetu
  2. Destination NAT (Port Forwarding) – przekierować ruch HTTP z zewnątrz do wewnętrznego serwera WWW na Linuxie

Twoim zadaniem jest:

  • Podłączyć "Cloud" (symulacja Internetu) do portu WAN MikroTika
  • Skonfigurować sieć LAN z Pulą adresów 192.168.1.0/24
  • Skonfigurować DHCP dla klientów LAN
  • Dodać regułę MASQUERADE na interfejsie WAN (srcnat)
  • Zainstalować Apache lub Nginx na maszynie Linux w LAN
  • Skonfigurować serwer HTTP na porcie 80 (sprawdź, czy działa lokalnie)
  • Dodać regułę DST-NAT: "przyjdź na port 80 → idź do 192.168.1.10:80"
  • Przetestować dostęp do WWW z komputera w LAN (przez IP routera WAN)
  • Sprawdzić tablicę połączeń NAT (/ip firewall connection print)
  • Przeanalizować nagłówki IP w Wireshark – przed i po translacji
  • Zrozumieć różnicę między SNAT, DNAT i MASQUERADE
  • Opcjonalnie: skonfigurować Hairpin NAT (dostęp do serwera po publicznym IP z LAN)

NAT to technika "oszczędzania adresów IP" – za jednym publicznym IP ukrywasz całą sieć! Bez niego dzisiejszy Internet by nie działał.

Wymagania techniczne
  • Konfiguracja 'ip firewall nat add chain=srcnat action=masquerade' na interfejsie WAN.
  • Instalacja i uruchomienie serwera Apache/Nginx na maszynie Linux (Ubuntu).
  • Stworzenie reguły DST-NAT: port 80 rutera -> port 80 Linuxa.
  • Weryfikacja łączności z Internetem z poziomu sieci LAN (ping 8.8.8.8).
  • Przetestowanie dostępu do strony WWW serwera z hosta zewnętrznego.
  • Sprawdzenie tablicy aktywnych translacji (ip firewall connection print).
  • Analiza nagłówków IP w pakietach przed i po translacji (Wireshark).
  • Udokumentowanie zmiany adresu źródłowego w logach (logging=yes).
  • Konfiguracja Hairpin NAT (opcjonalnie, do dostępu lokalnego po publicznym IP).
  • Demonstracja działania mechanizmu PAT (Port Address Translation).
  • Zabezpieczenie przekierowanego portu przez filtr firewall.
  • Test obciążenia translacji przy wielu jednoczesnych sesjach HTTP.
Wskazówki
  • Masquerade vs SNAT: Masquerade automatycznie podstawia adres źródłowy interfejsu wyjściowego (idealne dla zmiennych IP). SNAT wymaga podania konkretnego adresu IP.
  • Port Forwarding (DST-NAT): Składnia: action=dst-nat to-addresses=192.168.1.10 to-ports=80 - przekierowuje ruch na port 80 do wewnętrznego serwera.
  • Sprawdzenie NAT: /ip firewall nat print pokazuje wszystkie reguły NAT. /ip firewall connection print pokazuje aktywne translacje.
  • Firewall dla NAT: Pamiętaj, że reguły NAT działają PRZED regułami filter! Ruch musi też przejść przez filter (chain=forward).
  • Serwer WWW na Linuxie: Zainstaluj Apache: apt update && apt install apache2 -y. Uruchom: systemctl start apache2.
  • Test lokalny: Z maszyny Linux wewnątrz LAN, wpisz w przeglądarce adres serwera (192.168.1.10) - strona powinna się pojawić.
  • GNS3 Cloud: W GNS3 użyj Cloud podłączonego do NAT Twojego komputera. Cloud ma wtedy adres z Twojej sieci domowej.
  • MTU dla NAT: Czasem trzeba zmniejszyć MTU (np. 1400) bo NAT dodaje nagłówki i powoduje fragmentację.
  • Hairpin NAT: Dostęp z LAN do serwera przez publiczne IP. Wymaga specjalnej reguły: srcnat z LAN do LAN z masquerade.
  • Reset NAT: /ip firewall nat remove [/ip firewall nat find] aby usunąć wszystkie reguły NAT.
Przykład konfiguracji CLI
# Source NAT (Masquerade) [admin@MikroTik] > /ip firewall nat add chain=srcnat out-interface=ether1-wan action=masquerade # Destination NAT (Port Forwarding) [admin@MikroTik] > /ip firewall nat add chain=dstnat protocol=tcp dst-port=80 action=dst-nat to-addresses=192.168.1.10 to-ports=80 # Na maszynie Linux (Instalacja serwera): root@linux:~# apt update && apt install apache2 -y
Wnioski do opracowania

Opisz, jak mechanizm NAT wpływa na bezpieczeństwo sieci wewnętrznej. Wyjaśnij różnicę między statycznym 1:1 NAT a współdzieleniem adresu (Masquerade). Omów, jak NAT ukrywa adresy IP wewnętrznej sieci przed światem zewnętrznym. Wyjaśnij pojęcie "stateful inspection" i dlaczego jest ważne dla bezpieczeństwa. Przedstaw różnicę między SNAT (Source NAT), DNAT (Destination NAT) i Masquerade. Wyjaśnij, dlaczego przy NAT mogą występować problemy z aplikacjami P2P i jak je rozwiązać (port forwarding, NAT traversal). Omów też ograniczenia NAT w kontekście protokołu IPv6.

Schemat topologii
08
Bezpieczny tunel Site-to-Site VPN (IPsec)
Podstawa merytoryczna

Wykład 2 Tunelowanie, VPN, Wykład 4 Szyfrowanie IPsec.

Scenariusz problemowy

Wyobraź sobie, że Twoja firma ma dwa oddziały w różnych miastach: Centralę w Warszawie i Oddział w Krakowie. Oba oddziały muszą bezpiecznie wymieniać dane – np. bazy klientów, dokumentację finansową – przez Internet. Problem: Internet to "Dziki Zachód" – każdy pakiet wysłany w sieć publiczną może być podsłuchany, a nawet zmodyfikowany! Przesyłanie wrażliwych danych "otwartym tekstem" to ogromne ryzyko.

Rozwiązanie: VPN Site-to-Site IPSec – tworzysz "szyfrowany tunel" między routerami. Cały ruch między oddziałami jest zaszyfrowany – nawet jeśli ktoś przechwyci pakiety, nie będzie ich umiał odczytać.

Twoim zadaniem jest:

  • Skonfigurować topologię: R1 (Centrala) + R2 (Oddział) + Cloud (Internet)
  • Nadać R1 adres WAN (np. 203.0.113.10), R2 adres WAN (np. 203.0.113.20)
  • Skonfigurować sieci LAN: 192.168.10.0/24 (Centrala), 192.168.20.0/24 (Oddział)
  • Skonfigurować profil IKE z AES-256 i SHA-256 (Phase 1)
  • Ustawić wspólny klucz PSK (Pre-Shared Key) na obu routerach
  • Skonfigurować propozycję IPsec (ESP, Phase 2)
  • Utworzyć polityki: "ruch z 192.168.10.0/24 do 192.168.20.0/24 → szyfruj"
  • Sprawdzić aktywne peer'y IPSec (/ip ipsec active-peers print)
  • Sprawdzić zainstalowane SA (/ip ipsec installed-sa print)
  • Przetestować ping z hosta w Centrali do hosta w Oddziale
  • Przeanalizować pakiety w Wireshark – czy widać ESP (Encrypted)?
  • Zablokować ruch VPN (nie IPSec) i sprawdzić, czy ping nadal działa
  • Skonfigurować NAT Exemption, żeby ruch VPN nie był translatowany

VPN to "tunel przez pustynię" – Twoje dane są bezpieczne wewnątrz, nawet jeśli "pustynia" (Internet) jest pełna zagrożeń!

Wymagania techniczne
  • Zdefiniowanie profili IKE (Phase 1) z szyfrowaniem AES-256 i autoryzacją SHA-256.
  • Ustawienie klucza współdzielonego (Pre-Shared Key) na obu węzłach.
  • Konfiguracja propozycji IPsec (Phase 2) wspierającej ESP.
  • Stworzenie polityk (Policies) definiujących ruch przeznaczony do szyfrowania (src/dst LAN).
  • Ustawienie Peer IP jako publiczny adres rutera zdalnego.
  • Weryfikacja ustanowionej sesji (ip ipsec active-peers print).
  • Sprawdzenie statusu skojarzeń bezpieczeństwa (ip ipsec installed-sa print).
  • Weryfikacja przejrzystości routingu dla aplikacji (ping między hostami LAN).
  • Analiza przechwyconych pakietów ESP – udowodnienie braku wglądu w treść IP.
  • Konfiguracja NAT Exemption, aby uniknąć translacji ruchu tunelowego.
  • Ustalenie dopasowania MTU dla tunelu VPN (eliminacja fragmentacji).
  • Testowanie automatycznego podnoszenia tunelu przy wykryciu ruchu interesującego.
Wskazówki
  • IPsec bez VTI: W MikroTik IPsec nie tworzy interfejsu wirtualnego (chyba że użyjesz VTI). Ruch jest "przechwytywany" przez polityki (Policies).
  • Porty i protokoły: Upewnij się, że firewall zezwala na: UDP/500 (IKE), UDP/4500 (NAT-T), ESP (50).
  • Phase 1 (IKE): Profil definiuje szyfrowanie i autoryzację dla negocjacji. Użyj AES-256 i SHA-256 dla bezpieczeństwa.
  • Phase 2 (IPsec): Propozycja IPsec definiuje szyfrowanie danych (ESP). Zazwyczaj używa się takiego samego szyfru jak w Phase 1.
  • Peer: Adres publiczny drugiego rutera. W GNS3 użyj adresów z przestrzeni 203.0.113.0/24 (TEST-NET-3) dla przykładów.
  • Polityki: Definiują co ma być szyfrowane: src-address=192.168.10.0/24 dst-address=192.168.20.0/24 tunnel=yes.
  • Sprawdzenie statusu: /ip ipsec active-peers print i /ip ipsec installed-sa print.
  • NAT Exemption: Ruch VPN NIE może być translatowany przez NAT. Dodaj regułę: /ip firewall nat add chain=srcnat src-address=192.168.10.0/24 dst-address=192.168.20.0/24 action=accept PRZED regułą masquerade.
  • MTU dla VPN: IPsec dodaje narzut (ESP=50 + overhead). Ustaw MTU na 1400 lub mniej aby uniknąć fragmentacji.
  • Debugowanie: /ip ipsec packet debug i /log print - pokaże co się dzieje podczas negocjacji.
Przykład konfiguracji CLI
[admin@MikroTik-HQ] > /ip ipsec profile add name=prof-vpn enc-algorithms=aes-256 hash-algorithm=sha256 [admin@MikroTik-HQ] > /ip ipsec peer add address=203.0.113.2 profile=prof-vpn name=peer-branch [admin@MikroTik-HQ] > /ip ipsec identity add peer=peer-branch secret="TajneHasloVPN" [admin@MikroTik-HQ] > /ip ipsec policy add peer=peer-branch src-address=192.168.10.0/24 dst-address=192.168.20.0/24 tunnel=yes [admin@MikroTik-HQ] > /ip ipsec active-peers print
Wnioski do opracowania

Przeanalizuj narzut wydajnościowy (overhead) wprowadzany przez szyfrowanie IPsec. Wyjaśnij znaczenie protokołu Diffie-Hellman w procesie bezpiecznej wymiany kluczy. Omów różnicę między IKEv1 a IKEv2 i ich fazami (Phase 1 - Main Mode, Phase 2 - Quick Mode). Wyjaśnij, czym jest ESP (Encapsulating Security Payload) i AH (Authentication Header) i kiedy używać każdego z nich. Przedstaw zagrożenia związane z używaniem słabych algorytmów szyfrujących (np. 3DES, MD5) i dlaczego zaleca się AES-256 i SHA-256. Omów też problem "NAT Traversal" i dlaczego UDP 4500 jest potrzebny przy obsłudze VPN przez NAT.

Schemat topologii
09
Centralizacja logów i monitorowanie (Syslog i SNMP)
Podstawa merytoryczna

Wykład 3 Monitorowanie, SNMP, Syslog.

Scenariusz problemowy

Wyobraź sobie, że zarządzasz siecią złożoną z dziesięciu routerów rozrzuconych w całej firmie. Jesteś w domu (lub w innym mieście) i musisz wiedzieć, co się dzieje w sieci:

  • Czy któryś router się zawiesił?
  • Czy ktoś próbował się włamać?
  • Czy jakiś link jest przeciążony?
  • Kto i kiedy logował się do routera?

Bez centralnego logowania i monitoringu – nie dasz rady! Musisz widzieć sieć "na bieżąco".

Twoim zadaniem jest:

  • Skonfigurować maszynę Linux jako centralny serwer logów
  • Zainstalować i skonfigurować rsyslog na Linuxie (nasłuch na UDP 514)
  • Skonfigurować MikroTika: gdzie wysyłać logi (system logging action)
  • Zdefiniować, jakie logi wysyłać (critical, info, firewall)
  • Przetestować: wygenerować log (błędne logowanie SSH) i sprawdzić na serwerze
  • Uruchomić SNMP na MikroTiku (snmp set enabled=yes)
  • Ustawić community string (hasło "public" lub własne)
  • Ograniczyć dostęp SNMP tylko do adresu serwera monitoringu
  • Użyć snmpwalk z Linuxa do pobrania danych (sysDescr, sysUpTime, CPU load)
  • Pobrać dane o interfejsach (ifNumber, ifInOctets, ifOutOctets)
  • Skonfigurować pułapki SNMP (traps) dla zdarzeń krytycznych
  • Skonfigurować NTP na MikroTiku (synchronizacja czasu z serwerem Linux)
  • Zrozumieć format logów Syslog (priorytet, znacznik czasu, wiadomość)

Bez monitoringu i logów – nie ma mowy o profesjonalnym administrowaniu siecią! To "oczy i uszy" administratora.

Wymagania techniczne
  • Instalacja i konfiguracja 'rsyslog' na maszynie Linux (nasłuch na porcie UDP/514).
  • Ustawienie MikroTika: system logging action (remote target = IP Linuxa).
  • Zdefiniowanie reguł logowania dla zdarzeń krytycznych i firewall (topics=info,critical,firewall).
  • Włączenie serwera SNMP na ruterze (snmp set enabled=yes).
  • Ustawienie 'community string' (hasła) dla odczytu danych SNMP.
  • Użycie narzędzia 'snmpwalk' na Linuxie do pobrania informacji o ruterze.
  • Weryfikacja poprawności filtrowania zdarzeń w pliku /var/log/syslog na Linuxie.
  • Symulacja błędu (np. błędne logowanie SSH) i sprawdzenie wpisu na zdalnym serwerze.
  • Dokumentacja struktury komunikatu Syslog.
  • Konfiguracja MikroTika do wysyłania pułapek SNMP (Traps) przy awarii portu.
  • Analiza obciążenia zasobów rutera generowanego przez proces monitoringu.
  • Udostępnienie lokalnego czasu przez NTP dla spójności znaczników czasowych logów.
Wskazówki
  • Konfiguracja rsyslog na Linuxie: Domyślnie NIE nasłuchuje na porcie UDP 514. Dodaj do /etc/rsyslog.conf: module(load="imudp" udpOctets="8192") i input(type="imudp" port="514"). Potem systemctl restart rsyslog.
  • Testowanie rsyslog: Użyj polecenia netstat -uan | grep 514 aby sprawdzić czy nasłuchuje.
  • Konfiguracja logowania MikroTik: /system logging action add name=remote target=remote remote=192.168.1.10.
  • Topic selector: Użyj "topics" aby filtrować co wysyłać: /system logging add action=remote topics=critical,info,error.
  • SNMP na MikroTik: /snmp set enabled=yes. /snmp community add name=public - domyślne hasło!
  • SNMP walk: snmpwalk -v2c -c public 192.168.1.1 - pobiera wszystkie OID-y. snmpwalk -v2c -c public 192.168.1.1 .1.3.6.1.2.1.1 - system.
  • Przydatne OID-y: .1.3.6.1.2.1.1.1 (sysDescr), .1.3.6.1.2.1.1.3 (sysUpTime), .1.3.6.1.2.1.2.2.1.10 (ifInOctets), .1.3.6.1.2.1.2.2.1.16 (ifOutOctets).
  • SNMP security: W produkcji używaj SNMPv3 lub przynajmniej zmień community string z domyślnego "public".
  • Synchronizacja NTP: /system ntp client set enabled=yes server-dns=n.pl.pool.ntp.org (lub adres Twojego serwera).
  • Lokalizacja logów na Linuxie: Zazwyczaj w /var/log/syslog lub /var/log/messages - sprawdź ls /var/log/.
Przykład konfiguracji CLI
# MikroTik: Logowanie do zdalnego serwera [admin@MikroTik] > /system logging action add name=remote-syslog target=remote remote=192.168.1.10 [admin@MikroTik] > /system logging add action=remote-syslog topics=critical,info,firewall [admin@MikroTik] > /snmp set enabled=yes contact="admin@netstudio.pl" [admin@MikroTik] > /snmp community set [find name=public] addresses=192.168.1.10/32 # Na maszynie Linux (Monitorowanie): root@linux:~# snmpwalk -v2c -c public 192.168.1.1 1.3.6.1.2.1.1.1.0 root@linux:~# tail -f /var/log/syslog
Wnioski do opracowania

Uzasadnij konieczność centralizacji logów w systemach rozproszonych. Opisz, jakie informacje o stanie sieci można uzyskać za pomocą protokołu SNMP w porównaniu do klasycznych logów tekstowych. Omów strukturę komunikatu Syslog (PRI, TIMESTAMP, HOSTNAME, APP-NAME, MSG). Wyjaśnij różnicę między SNMPv1, v2c i v3 - dlaczego v3 jest zalecany w produkcji. Przedstaw podstawowe OID-y (sysDescr, sysUpTime, sysContact, ifInOctets, ifOutOctets) i MIB (Management Information Base). Wyjaśnij pojęcie "SNMP Trap" vs "SNMP Poll" i kiedy używać każdego z nich. Omów też znaczenie synchronizacji czasu (NTP) w analizie incydentów.

Schemat topologii
10
Wysoka dostępność bramy domyślnej z protokołem VRRP
Podstawa merytoryczna

Wykład 2 Redundancja bramy, VRRP (Virtual Router Redundancy Protocol).

Scenariusz problemowy

Wyobraź sobie krytyczne środowisko – serwerownię banku lub systemów SCADA w fabryce. Każda sekunda przestoju to ogromne straty finansowe (lub nawet zagrożenie życia!).

Twoje serwery produkcyjne muszą być zawsze dostępne. Problem: co się stanie, gdy główny ruter (brama domyślna) się zepsuje? Każdy serwer straci domyślną trasę do Internetu!

Rozwiązanie: VRRP (Virtual Router Redundancy Protocol) – dwa rutery "współdzielą" jeden wirtualny adres IP. Dla serwerów "brama" to ten sam adres niezależnie od tego, który ruter jest aktywny:

  • R1 (MASTER) – ruter główny, pracuje normalnie
  • R2 (BACKUP) – ruter zapasowy, czuwa, przejmuje gdy R1 padnie
  • Wirtualny IP – 192.168.1.1 (taki sam dla wszystkich serwerów)

Gdy R1 padnie – R2 automatycznie przejmuje wirtualny adres w ułamku sekundy! Serwery nawet nie wiedzą, że nastąpiła awaria.

Twoim zadaniem jest:

  • Uruchomić dwa rutery MikroTik (R1 i R2) połączone do tego samego switcha
  • Nadać adresy fizyczne: 192.168.1.2/24 (R1), 192.168.1.3/24 (R2)
  • Utworzyć interfejs VRRP na obu routerach (vrid=1)
  • Nadać wirtualny adres 192.168.1.1/24 na interfejsie VRRP
  • Ustawić priorytet 150 na R1 (MASTER), 100 na R2 (BACKUP)
  • Sprawdzić stan: kto jest MASTER, kto jest BACKUP
  • Podłączyć host Linux i ustawić bramę domyślną 192.168.1.1
  • Przetestować: ping do zewnętrznego IP w pętli (non-stop)
  • Wyłączyć R1 (symulacja awarii) i sprawdzić czy ping dalej działa
  • Przeanalizować pakiety VRRP w Wireshark (multicast 224.0.0.18)
  • Sprawdzić tablicę ARP – czy adres MAC bramy się zmienił?
  • Włączyć R1 z powrotem i sprawdzić przejęcie roli (preemption)
  • Zmniejszyć priority R1 na 90 i zobaczyć zamianę ról

VRRP to "ubezpieczenie" – płacisz za drugi ruter, ale masz pewność, że sieć nie stanie! Niezbędne w środowiskach krytycznych.

Wymagania techniczne
  • Uruchomienie w GNS3 dwóch ruterów (R1 i R2) podłączonych do tego samego segmentu LAN.
  • Adresacja fizyczna: 192.168.1.2 (R1) oraz 192.168.1.3 (R2).
  • Utworzenie interfejsu wirtualnego VRRP na obu ruterach (vrid=1).
  • Nadanie wirtualnego adresu IP 192.168.1.1 interfejsowi VRRP.
  • Ustawienie wyższego priorytetu (np. 150) na R1, czyniąc go ruterem MASTER.
  • Ustawienie niższego priorytetu (np. 100) na R2 (BACKUP).
  • Weryfikacja stanu ruterów (interface vrrp print) – MASTER vs BACKUP.
  • Przetestowanie ciągłości połączenia z hosta Linux (ciągły ping na 192.168.1.1).
  • Symulacja awarii R1 (shutdown interfejsu) i udokumentowanie procesu przełączenia.
  • Analiza komunikatów multicast VRRP przesyłanych w sieci (Wireshark).
  • Sprawdzenie zmiany adresu MAC bramy w tablicy ARP hosta po przełączeniu.
  • Konfiguracja powrotu do roli MASTER po przywróceniu sprawności R1 (preemption).
Wskazówki
  • Multicast VRRP: VRRP używa adresu multicast 224.0.0.18 do rozgłaszania komunikatów. Upewnij się, że firewall NIE blokuje tego ruchu!
  • VRID: Virtual Router ID - musi byc taki sam na obu routerach (np. vrid=1). Różne vrid = różne grupy VRRP.
  • Priority: Domyślna wartość to 100. Wyższy priorytet = MASTER. Zakres 1-254. 255 = zawsze MASTER (nawet bez konfiguracji).
  • Sprawdzenie stanu: /interface vrrp print pokazuje stan (master, backup, init). /interface vrrp monitor pokazuje szczegóły.
  • Adres MAC: Wirtualny adres MAC to 00:00:5E:00:01:XX gdzie XX = VRID (np. 01 dla vrid=1). To pozwala hostom rozpoznać wirtualny router.
  • Preemption: Domyślnie WŁĄCZONE - R1 po powrocie znów stanie się MASTER. Wyłącz: preemption-mode=no na R1.
  • Testowanie: Użyj ping 192.168.1.1 -t (Windows) lub ping 192.168.1.1 (Linux) w pętli, potem wyłącz R1.
  • ARP po przełączeniu: Tablica ARP na hostach automatycznie się aktualizuje - nowy adres MAC jest rozgłaszany przez nowego MASTERA.
  • Authentication: VRRP ma opcję autoryzacji (text, md5). W produkcji używaj MD5 dla bezpieczeństwa.
  • Problem z Split-Brain: Jeśli oba routery są MASTER (obie mają ten sam priorytet lub nie widzą siebie), użyj niższego priorytetu na jednym lub sprawdź firewall.
Przykład konfiguracji CLI
# Konfiguracja R1 (MASTER) [admin@R1-Master] > /interface vrrp add interface=ether1 name=vrrp1 vrid=1 priority=150 [admin@R1-Master] > /ip address add address=192.168.1.1/24 interface=vrrp1 # Konfiguracja R2 (BACKUP) [admin@R2-Backup] > /interface vrrp add interface=ether1 name=vrrp1 vrid=1 priority=100 [admin@R2-Backup] > /ip address add address=192.168.1.1/24 interface=vrrp1 [admin@R1-Master] > /interface vrrp print
Wnioski do opracowania

Opisz mechanizm wyboru lidera w protokole VRRP. Przeanalizuj zachowanie hostów końcowych w sieci w momencie przełączania bramy - czy wymagana jest na nich jakakolwiek rekonfiguracja? Wyjaśnij, jak VRRP zapewnia "transparentność" dla hostów - używają tego samego adresu IP bramy niezależnie od tego, który ruter jest MASTER. Omów pojęcie wirtualnego adresu MAC (00:00:5E:00:01:XX) i dlaczego jest ważny dla sieci. Przedstaw różnicę między VRRP a HSRP (Cisco). Wyjaśnij, dlaczego preemption jest domyślnie włączony i jakie mogą być tego konsekwencje. Omów też scenariusze awarii (link failure, router failure) i czas przejęcia (tzw. "takeover time").

Schemat topologii