W4 Architektura Spine-Leaf, sieci Overlay, protokół VXLAN.
Głównym celem projektu jest zaprojektowanie i wdrożenie nowoczesnej architektury sieci wewnątrz centrum danych, która całkowicie eliminuje ograniczenia narzucone przez tradycyjny protokół Spanning Tree Protocol (STP). Tradycyjne podejście oparte na STP wymusza zablokowanie części portów przełącznika, co skutkuje nieefektywnym wykorzystaniem dostępnej przepustowości łączy oraz ogranicza skalowalność infrastruktury sieciowej. W ramach projektu należy zrealizować pełną implementację płaskiej topologii warstwy 2 (L2) nad szkieletem routowanym warstwy 3 (L3), co umożliwi bezproblemową migrację maszyn wirtualnych między fizycznymi hostami bez konieczności zmiany adresacji IP. Dodatkowo projekt zakłada wykorzystanie enkapsulacji VXLAN (Virtual Extensible LAN) w celu tworzenia wielu oddzielnych segmentów sieciowych na wspólnej infrastrukturze fizycznej, co znacząco poprawia elastyczność zarządzania zasobami centrum danych. Efektem końcowym powinna być w pełni funkcjonalna sieć zapewniająca wysoką przepustowość, automatyczną zbieżność oraz możliwość dalszej rozbudowy bez przestojów infrastrukturalnych.
Centrum danych firmy przeznaczone do obsługi usług biznesowych dynamicznie się rozrasta, co wymaga częstej migracji maszyn wirtualnych między fizycznymi hostami hiperwizorami znajdującymi się w różnych segmentach sieci fizycznej. Tradycyjna architektura oparta na STP uniemożliwia elastyczną migrację, ponieważ maszyna wirtualna musiałaby zmienić adresację IP po przeniesieniu do innego VLAN, co powodowałoby przestoje w świadczeniu usług i wymagało rekonfiguracji wielu systemów. Dodatkowo dział IT potrzebuje izolowania ruchu różnych działów organizacji przy zachowaniu wspólnej infrastruktury fizycznej, co przy tradycyjnym podejściu wymagałoby rozbudowy przełączników warstwy dostępowej. W aktualnym rozwiązaniu pojawiają się również problemy z redundancją, ponieważ STP blokuje porty przełączające w celu zapobieżenia pętlom, co skutkuje marnowaniem połowicziny dostępnej przepustowości łączy. Należy więc wdrożyć dwuwarstwową architekturę sieci: sieć podkładową (Underlay) opartą na rutowaniu L3 zapewniającą osiągalność między wszystkimi węzłami oraz sieć nakładową (Overlay) wykorzystującą enkapsulację VXLAN do przesyłania ramek warstwy 2 w paczkach UDP przez sieć podkładową. Takie podejście umożliwia dowolną izolację segmentów przy zachowaniu pełnej przepustowości łączy oraz zapewnia mobilność maszyn wirtualnych bez zmiany adresacji IP.
| Element | Opis wymagań |
|---|---|
| Tablica VNI | Mapowanie identyfikatorów VNI na konkretne segmenty logiczne. |
| Schemat logiczny | Wizualizacja tuneli VXLAN ponad fizyczną strukturą Spine-Leaf. |
| Analiza PDU | Zrzut z Wireshark pokazujący strukturę nagłówka VXLAN/UDP. |
Przed przystąpieniem do konfiguracji VXLAN należy dokładnie zaplanować schemat adresacji podsieci podkładowej, aby zapewnić unikalność adresów Loopback dla każdego urządzenia Spine i Leaf. Adresy te będą źródłem punktów końcowych VTEP, więc muszą być routowalne w całej sieci podkładowej. Podczas konfiguracji OSPF na interfejsach punkt-punkt należy pamiętać o jawnej konfiguracji typu sieci jako point-to-point, ponieważ domyślny tryb broadcast może powodować problemy z sąsiedztwem na łączach typu point-to-point. W trakcie weryfikacji zaleca się rozpocząć od testów ping między interfejsami Loopback przed włączeniem VXLAN, co pozwala wyizolować problemy warstwy podkładowej od warstwy nakładki. Przy konfiguracji multicast dla VNI należy używać adresów z zakresu administracyjnego 239.0.0.0/8, aby uniknąć kolizji z innymi mechanizmami multicast w sieci. Podczas testowania enkapsulacji VXLAN w Wireshark należy filtrować port UDP 4789 lub używać filtru vxlan, co ułatwia identyfikację przesyłanych ramek.
! ! KONFIGURACJA INTERFEJSÓW SIEĆ PODSTAWOWA (UNDERLAY) Leaf-1#configure terminal Leaf-1(config)#interface Loopback0 Leaf-1(config-if)#ip address 10.255.2.1 255.255.255.255 Leaf-1(config-if)#ip ospf network point-to-point Leaf-1(config-if)#exit Leaf-1(config)#interface GigabitEthernet0/0 Leaf-1(config-if)#description Do_Spine-1 Leaf-1(config-if)#ip address 10.0.1.1 255.255.255.252 Leaf-1(config-if)#ip ospf network point-to-point Leaf-1(config-if)#no shutdown Leaf-1(config-if)#exit Leaf-1(config)#interface GigabitEthernet0/1 Leaf-1(config-if)#description Do_Spine-2 Leaf-1(config-if)#ip address 10.0.2.1 255.255.255.252 Leaf-1(config-if)#ip ospf network point-to-point Leaf-1(config-if)#no shutdown Leaf-1(config-if)#exit ! KONFIGURACJA OSPF (ROUTING UNDERLAY) Leaf-1(config)#router ospf 1 Leaf-1(config-router)#router-id 10.255.2.1 Leaf-1(config-router)#network 10.255.2.1 0.0.0.0 area 0 Leaf-1(config-router)#network 10.0.1.0 0.0.0.3 area 0 Leaf-1(config-router)#network 10.0.2.0 0.0.0.3 area 0 Leaf-1(config-router)#exit ! TWORZENIE VLAN DLA SEGMENTÓW Leaf-1(config)#vlan 10 Leaf-1(config-vlan)#name SERWERY Leaf-1(config-vlan)#exit Leaf-1(config)#vlan 20 Leaf-1(config-vlan)#name UŻYTKOWNICY Leaf-1(config-vlan)#exit Leaf-1(config)#vlan 30 Leaf-1(config-vlan)#name GOSCIE Leaf-1(config-vlan)#exit ! INTERFEJS NVE (VTEP) - NAKŁADKA VXLAN Leaf-1(config)#interface nve1 Leaf-1(config-if)#no ip address Leaf-1(config-if)#source-interface Loopback0 Leaf-1(config-if)#host-reachability protocol bgp Leaf-1(config-if)#member vni 10010 Leaf-1(config-if-nve)#mcast-group 239.0.0.10 Leaf-1(config-if-nve)#exit Leaf-1(config-if)#member vni 10020 Leaf-1(config-if-nve)#mcast-group 239.0.0.20 Leaf-1(config-if-nve)#exit Leaf-1(config-if)#member vni 10030 Leaf-1(config-if-nve)#mcast-group 239.0.0.30 Leaf-1(config-if-nve)#exit Leaf-1(config-if)#exit Leaf-1(config)#exit ! WERYFIKACJA KONFIGURACJI Leaf-1#show nve vni Codes: CP - Control Plane, DP - Data Plane, UC - Unicast, UP - Unknown Interface VNI Multicast VNI State Mode Peer-IP VC# CP nve1 10010 239.0.0.10 UP L2CP 10.255.2.2 - - nve1 10020 239.0.0.20 UP L2CP 10.255.2.2 - - nve1 10030 239.0.0.30 UP L2CP 10.255.2.2 - - Leaf-1#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 10.255.1.1 1 FULL/DR 00:00:35 10.0.1.2 GigabitEthernet0/0 10.255.1.2 1 FULL/DR 00:00:38 10.0.2.2 GigabitEthernet0/1 Leaf-1#show mac address-table vlan 10 Mac Address Table Vlan Mac Address Type Ports ---- ----------- -------- ----- 10 aaaa.bbbb.cccc DYNAMIC Gi0/2 10 001d.46aa.1234 DYNAMIC nve1 (VNI 10010) 10 001d.46aa.5678 DYNAMIC nve1 (VNI 10010) Leaf-1#ping 10.255.2.2 source Loopback0 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.255.2.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/5 ms
W2 Routing IPv4/IPv6, mechanizmy przejścia, autokonfiguracja.
Głównym celem projektu jest zapewnienie pełnej łączności sieciowej w standardzie IPv6 przy jednoczesnym zachowaniu kompatybilności wstecznej z istniejącą infrastrukturą opartą na IPv4. Firma prowadzi stopniową migrację swoich systemów i usług do nowszego standardu adresacji, co wymaga równoległego działania obu protokołów w tej samej infrastrukturze. Projekt obejmuje szczegółowe planowanie schematu adresacji IPv6 z podziałem na logiczne segments dla poszczególnych działów organizacji, a także konfigurację routingu dynamicznego dla obu rodzin protokołów z wykorzystaniem OSPFv2 dla IPv4 oraz OSPFv3 dla IPv6. Dodatkowo zadaniem jest wdrożenie automatycznego pobierania adresów IPv6 przez stacje robocze z wykorzystaniem mechanizmu SLAAC (Stateless Address Autoconfiguration) wspieranego przez serwer DHCPv6 w trybie Stateless, co zapewnia elastyczność w zarządzaniu adresacją. Końcowym efektem projektu ma być w pełni funkcjonalna sieć korporacyjna obsługująca jednocześnie hosty IPv4 i IPv6 bez konieczności utrzymywania oddzielnych fizycznych infrastruktur.
Firma prowadzi intensywną modernizację swojej infrastruktury IT, której częścią jest stopniowa migracja do standardu IPv6 w celu zapewnienia dostępu do nowoczesnych usług internetowych oraz przygotowania na wyczerpanie puli adresów IPv4. Dział IT otrzymał od regionalnego dostawcy usług internetowych blok adresów IPv6 /48, który musi zostać właściwie podzielony na mniejsze podsieci dla poszczególnych departamentów. Część serwerów i stacji roboczych wspiera już adresację IPv6, jednak większość infrastruktury sieciowej nadal opiera się na IPv4. Należy więc wdrożyć mechanizm Dual-Stack na wszystkich routerach i przełącznikach warstwy L3, aby umożliwić jednoczesną komunikację w obu standardach. Dodatkowo hosty muszą mieć możliwość automatycznego pobierania adresów IPv6 bez ręcznej konfiguracji, co wymaga wdrożenia Router Advertisement (RA) z odpowiednimi flagami oraz opcjonalnego serwera DHCPv6 dostarczającego informacji uzupełniających takich jak serwery DNS.
| Element | Opis wymagań |
|---|---|
| Plan Adresacji | Tabela z wyliczonymi podsieciami IPv6 (notacja hex). |
| Analiza ICMPv6 | Opis działania Neighbor Discovery (NDP) na podstawie zrzutów ruchu. |
| Weryfikacja | Zrzuty `show ipv6 route` oraz testy łączności ping6/traceroute6. |
! ! KONFIGURACJA ADRESACJI IPv4 ORAZ IPv6 Router#configure terminal Router(config)#interface GigabitEthernet0/0 Router(config-if)#description LAN_IT Router(config-if)#ip address 172.16.10.1 255.255.255.0 Router(config-if)#ipv6 address 2001:db8:abcd:10::1/64 Router(config-if)#ipv6 enable Router(config-if)#no shutdown Router(config-if)#exit Router(config)#interface GigabitEthernet0/1 Router(config-if)#description LAN_KSIEGOWOSC Router(config-if)#ip address 172.16.20.1 255.255.255.0 Router(config-if)#ipv6 address 2001:db8:abcd:20::1/64 Router(config-if)#ipv6 enable Router(config-if)#no shutdown Router(config-if)#exit Router(config)#interface GigabitEthernet0/2 Router(config-if)#description ŁĄCZE_DO_INTERNETU Router(config-if)#ip address 203.0.113.1 255.255.255.252 Router(config-if)#ipv6 address 2001:db8:ffff::1/126 Router(config-if)#no shutdown Router(config-if)#exit ! OSPFv2 DLA IPv4 Router(config)#router ospf 1 Router(config-router)#router-id 1.1.1.1 Router(config-router)#network 172.16.10.0 0.0.0.255 area 0 Router(config-router)#network 172.16.20.0 0.0.0.255 area 0 Router(config-router)#exit ! OSPFv3 DLA IPv6 Router(config)#ipv6 router ospf 1 Router(config-rtr)#router-id 1.1.1.1 Router(config-rtr)#exit Router(config)#interface GigabitEthernet0/0 Router(config-if)#ipv6 ospf 1 area 0 Router(config-if)#exit Router(config)#interface GigabitEthernet0/1 Router(config-if)#ipv6 ospf 1 area 0 Router(config-if)#exit ! KONFIGURACJA ROUTER ADVERTISEMENT (SLAAC + DHCPv6 STATELESS) Router(config)#ipv6 dhcp pool IT-DHCPV6 Router(config-dhcp)#dns-server 2001:db8:ffff::53 Router(config-dhcp)#domain-name firma.local Router(config-dhcp)#exit Router(config)#interface GigabitEthernet0/0 Router(config-if)#ipv6 nd other-config-flag Router(config-if)#ipv6 dhcp server IT-DHCPV6 Router(config-if)#exit Router(config)#ipv6 dhcp pool KSIEGOWOSC-DHCPV6 Router(config-dhcp)#dns-server 2001:db8:ffff::53 Router(config-dhcp)#domain-name firma.local Router(config-dhcp)#exit Router(config)#interface GigabitEthernet0/1 Router(config-if)#ipv6 nd other-config-flag Router(config-if)#ipv6 dhcp server KSIEGOWOSC-DHCPV6 Router(config-if)#exit ! LISTA KONTROLI DOSTĘPU IPv6 (ACL) Router(config)#ipv6 access-list BLOCK-EXTERNAL Router(config-ipv6-acl)#permit icmpv6 any any echo-reply Router(config-ipv6-acl)#permit icmpv6 any any time-exceeded Router(config-ipv6-acl)#permit icmpv6 any any parameter-problem Router(config-ipv6-acl)#permit tcp any any established Router(config-ipv6-acl)#deny ipv6 any any log Router(config-ipv6-acl)#exit Router(config)#interface GigabitEthernet0/2 Router(config-if)#ipv6 traffic-filter BLOCK-EXTERNAL in Router(config-if)#exit Router(config)#exit ! WERYFIKACJA KONFIGURACJI Router#show ipv6 route IPv6 Routing Table - default - 9 entries Codes: C - Connected, L - Local, S - Static, O - OSPF, B - BGP C 2001:db8:abcd:10::/64 [0/0] via GigabitEthernet0/0, directly connected L 2001:db8:abcd:10::1/128 [0/0] via GigabitEthernet0/0, receive C 2001:db8:abcd:20::/64 [0/0] via GigabitEthernet0/1, directly connected L 2001:db8:abcd:20::1/128 [0/0] via GigabitEthernet0/1, receive O 2001:db8:abcd:30::/64 [110/2] via FE80::2, GigabitEthernet0/2 S ::/0 [1/0] via 2001:db8:ffff::2 Router#show ipv6 ospf neighbor Neighbor ID Pri State Dead Time Address Interface 2.2.2.2 1 FULL/DR 00:00:32 FE80::2 Gi0/2 Router#show ipv6 dhcp binding Client: FE80::2AA:BBFF:FECC:DD DUID: 00030001002AABFFCCDD IA PD: IA ID 0x1234, T1 43200, T2 69120 Prefix: 2001:db8:abcd:10:2AA:BBFF:FECC:DD/64 preferred lifetime 86400, valid lifetime 86400 Router#ping ipv6 2001:db8:abcd:20::10 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:DB8:ABCD:20::10, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms Router#traceroute ipv6 2001:db8:abcd:30::1 Type escape sequence to abort. Tracing the route to 2001:DB8:ABCD:30::1 1 2001:db8:ffff::2 4 msec 2 msec 2 msec 2 2001:db8:abcd:30::1 6 msec 4 msec 4 msec
W2 Tunelowanie IP, W4 Koncepcja SD-WAN, hybrydowe łącza.
Głównym celem projektu jest wdrożenie nowoczesnej architektury programowalnej sieci rozległej (SD-WAN), która dynamicznie i inteligentnie wybiera optymalną ścieżkę transmisji danych między oddziałami a centralą. Tradycyjne podejście oparte na statycznych trasach i jednym dostawcy usług nie zapewnia elastyczności ani odporności na awarie. W ramach projektu należy zaimplementować rozwiązanie pozwalające na jednoczesne wykorzystanie łączy MPLS o wysokiej jakości oraz tańszych łącz szerokopasmowych, z automatycznym sterowaniem ruchem w zależności od stanu aplikacji i parametrów łącza. System powinien monitorować jakość każdego łącza w czasie rzeczywistym i automatycznie przełączać ruch krytyczny (np. systemy ERP, bazy danych) na łącze o lepszych parametrach, kierując ruch o niższym priorytecie (np. przeglądanie WWW, strumieniowanie wideo) na tańsze łącza. Efektem projektu ma być w pełni automatyczny system zapewniający ciągłość działania usług przy minimalnych kosztach infrastruktury.
Organizacja posiada trzy oddziały terenowe rozmieszczone geograficznie w różnych regionach, z których każdy jest połączony z centralą drogimi łączami MPLS zapewniającymi wysoką jakość transmisji, oraz dodatkowymi tańszymi łączami szerokopasmowymi (Internet) jako zapasowymi. Aktualnie ruch z każdego oddziału jest kierowany wyłącznie przez łącze MPLS, niezależnie od jego aktualnego obciążenia i jakości, co przy dużym ruchu powoduje opóźnienia i straty pakietów szczególnie dla aplikacji krytycznych. Dodatkowo awaria łącza MPLS skutkuje przestojem usług do czasu automatycznego lub ręcznego przełączenia na łącze zapasowe. Zarząd firmy oczekuje rozwiązania, które automatycznie będzie kierować ruch krytyczny (ERP, bazy danych) przez łącze MPLS, a ruch o mniejszym znaczeniu (WWW, strumienie wideo) przez tańsze łącze Internetowe, reagując na wzrost jittera powyżej określonego progu. Takie rozwiązanie pozwoli zmniejszyć koszty przy jednoczesnym zachowaniu wysokiej jakości usług krytycznych.
| Element | Opis wymagań |
|---|---|
| Macierz SLA | Tabela z progami akceptowalności dla różnych klas ruchu. |
| Przebieg przełączenia | Wykres lub tabela pokazująca zmianę ścieżki po wzroście opóźnienia. |
| Konfiguracja tuneli | Szczegółowy opis parametrów krypto i enkapsulacji. |
Przed konfiguracją BGP należy upewnić się, że istnieje pełna łączność IP między wszystkimi interfejsami WAN, ponieważ sesje BGP wymagają działającej warstwy trzeciej. Podczas konfiguracji atrybutu Local Preference należy pamiętać, że wyższa wartość oznacza wyższy priorytet trasy przy podejmowaniu decyzji o routowaniu w obrębie AS, więc dla preferowanego ISP1 należy ustawić wyższą wartość (np. 200), a dla drugiego ISP niższą (np. 100). AS-Path Prepend działa w przeciwnym kierunku - wydłużając ścieżkę AS dla tras wysyłanych do ISP2, zachęcamy zewnętrznych BGP do kierowania ruchu przez ISP1 z mniejszą liczbą AS w ścieżce. BFD powinno być skonfigurowane na wszystkich sesjach BGP dla szybkiego wykrywania awarii, przy czym interwał powinien być dopasowany do charakterystyki łącza (np. 50ms dla MPLS). Podczas testowania przełączenia awaryjnego zaleca się fizyczne odłączenie łącza, a nie wyłączenie interfejsu komendą shutdown, co pozwala na weryfikację zachowania BFD w warunkach rzeczywistych.
! ! KONFIGURACJA PODSTAWOWA INTERFEJSÓW Edge-Router#configure terminal Edge-Router(config)#interface GigabitEthernet0/0 Edge-Router(config-if)#description ŁĄCZE_MPLS_DO_ISP1 Edge-Router(config-if)#ip address 203.0.113.1 255.255.255.252 Edge-Router(config-if)#no shutdown Edge-Router(config-if)#exit Edge-Router(config)#interface GigabitEthernet0/1 Edge-Router(config-if)#description ŁĄCZE_INTERNET_DO_ISP2 Edge-Router(config-if)#ip address 198.51.100.1 255.255.255.252 Edge-Router(config-if)#no shutdown Edge-Router(config-if)#exit Edge-Router(config)#interface GigabitEthernet0/2 Edge-Router(config-if)#description LAN Edge-Router(config-if)#ip address 172.16.0.1 255.255.255.0 Edge-Router(config-if)#no shutdown Edge-Router(config-if)#exit ! KONFIGURACJA PREFIX-LIST (FILTROWANIE TRAS) Edge-Router(config)#ip prefix-list MOJE-SIECI seq 5 permit 172.16.0.0/16 le 24 Edge-Router(config)#ip prefix-list MOJE-SIECI seq 10 deny 0.0.0.0/0 le 32 ! KONFIGURACJA ROUTE-MAP DLA MANIPULACJI ATRYBUTAMI Edge-Router(config)#route-map PREFER-ISP1-IN permit 10 Edge-Router(config-route-map)#set local-preference 200 Edge-Router(config-route-map)#exit Edge-Router(config)#route-map PREFER-ISP2-IN permit 10 Edge-Router(config-route-map)#set local-preference 100 Edge-Router(config-route-map)#exit Edge-Router(config)#route-map OUT-TO-ISP1 permit 10 Edge-Router(config-route-map)#match ip address prefix-list MOJE-SIECI Edge-Router(config-route-map)#exit Edge-Router(config)#route-map OUT-TO-ISP2 permit 10 Edge-Router(config-route-map)#match ip address prefix-list MOJE-SIECI Edge-Router(config-route-map)#set as-path prepend 65001 65001 Edge-Router(config-route-map)#exit ! KONFIGURACJA BGP Edge-Router(config)#router bgp 65001 Edge-Router(config-router)#bgp router-id 1.1.1.1 Edge-Router(config-router)#network 172.16.0.0 mask 255.255.255.0 Edge-Router(config-router)#neighbor 203.0.113.2 remote-as 65010 Edge-Router(config-router)#neighbor 203.0.113.2 route-map PREFER-ISP1-IN in Edge-Router(config-router)#neighbor 203.0.113.2 route-map OUT-TO-ISP1 out Edge-Router(config-router)#neighbor 198.51.100.2 remote-as 65020 Edge-Router(config-router)#neighbor 198.51.100.2 route-map PREFER-ISP2-IN in Edge-Router(config-router)#neighbor 198.51.100.2 route-map OUT-TO-ISP2 out Edge-Router(config-router)#exit ! KONFIGURACJA BFD (SZYBKIE WYKRYWANIE AWARII) Edge-Router(config)#bfd interval 50 min_rx 50 multiplier 3 Edge-Router(config)#interface GigabitEthernet0/0 Edge-Router(config-if)#bfd neighbor 203.0.113.2 Edge-Router(config-if)#exit Edge-Router(config)#interface GigabitEthernet0/1 Edge-Router(config-if)#bfd neighbor 198.51.100.2 Edge-Router(config-if)#exit Edge-Router(config)#exit ! WERYFIKACJA KONFIGURACJI Edge-Router#show ip bgp summary BGP table version is 3, main routing table version 3 2 network entries using 288 bytes of memory 3 path entries using 240 bytes of memory Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 203.0.113.2 4 65010 125 132 3 0 0 02:10:45 1 198.51.100.2 4 65020 118 125 3 0 0 02:08:32 2 Edge-Router#show ip bgp BGP table version is 3, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 0.0.0.0 203.0.113.2 0 200 0 65010 i * 198.51.100.2 0 100 0 65020 i *> 172.16.0.0/24 0.0.0.0 0 32768 i Edge-Router#show ip bgp 0.0.0.0 BGP routing table entry for 0.0.0.0/0, version 2 Paths: (2 available, best #1, table default-ip-routing-table) Advertised to update-groups: 1 1 65010, (path id 1) 203.0.113.2 from 203.0.113.2 (10.0.0.1) Origin IGP, metric 0, localpref 200, valid, external, best 65020, (path id 2) 198.51.100.2 from 198.51.100.2 (20.0.0.1) Origin IGP, metric 0, localpref 100, valid, external Edge-Router#show ip route Codes: L - local, C - connected, S - static, O - OSPF, B - BGP Gateway of last resort is 203.0.113.2 to network 0.0.0.0 B 0.0.0.0/0 [20/0] via 203.0.113.2, 02:10:45 172.16.0.0/24 is subnetted, 1 subnets C 172.16.0.0 is directly connected, GigabitEthernet0/2 L 172.16.0.1 is directly connected, GigabitEthernet0/2 203.0.113.0/30 is subnetted, 1 subnets C 203.0.113.0 is directly connected, GigabitEthernet0/0 L 203.0.113.1 is directly connected, GigabitEthernet0/0 Edge-Router#traceroute 8.8.8.8 Type escape sequence to abort. Tracing the route to 8.8.8.8 1 203.0.113.2 4 msec 2 msec 2 msec 2 10.0.0.1 6 msec 4 msec 4 msec 3 8.8.8.8 8 msec 6 msec 6 msec
W2 Protokół BGP, systemy autonomiczne (AS), atrybuty Path Vector.
Głównym celem projektu jest zapewnienie pełnej redundancji i optymalizacja kosztów połączenia organizacji z Internetem poprzez wykorzystanie dwóch niezależnych dostawców usług (multihoming). Firma posiada własny publiczny blok adresów IP, który musi być dostępny przez oba łącza, zapewniając ciągłość działania nawet w przypadku awarii jednego z dostawców. Projekt obejmuje szczegółową konfigurację protokołu BGP z zaawansowaną manipulacją atrybutami w celu precyzyjnego sterowania ruchem wejściowym ( inbound) i wyjściowym (outbound). Należy skonfigurować atrybut Local Preference dla kontrolowania ruchu przychodzącego od dostawców, AS-Path Prepending dla optymalizacji kosztów ruchu wychodzącego oraz inne mechanizmy jak MED i BGP Community. Efektem projektu ma być w pełni redundantna infrastruktura zapewniająca ciągłość działania usług przy minimalnych kosztach połączeń.
Firma posiada własny publiczny blok adresów IP (/24) wykorzystywany do świadczenia usług internetowych oraz dwa niezależne łącza do różnych dostawców ISP zapewniające dostęp do Internetu. Aktualnie cały ruch jest kierowany przez jednego dostawcę (ISP1), co przy awarii tego łącza powoduje całkowitą niedostępność usług. Dodatkowo zarząd firmy oczekuje optymalizacji kosztów, czyli wykorzystania tańszego łącza ISP2 dla ruchu wychodzącego, przy zachowaniu ISP1 jako głównego dla ruchu przychodzącego. Należy więc wdrożyć rozwiązanie oparte na protokole BGP z zaawansowaną inżynierią ruchu: atrybut Local Preference pozwoli preferować trasy od ISP1 dla ruchu przychodzącego, AS-Path Prepend wydłuży ścieżkę AS dla tras reklamowanych do ISP2, zachęcając zewnętrzny ruch do kierowania przez ISP1, a MED (Multi-Exit Discriminator) umożliwi finezyjną kontrolę nad tym, którym łączem ruch wychodzi do poszczególnych dostawców.
| Element | Opis wymagań |
|---|---|
| Logika wyboru tras | Opis 13-stopniowego algorytmu BGP Best Path Selection. |
| Analiza sąsiedztwa | Zrzuty `show ip bgp summary` i stan sesji TCP/179. |
| Ścieżki tras | Analiza `show ip bgp` pokazująca wybrane atrybuty dla danej sieci. |
Przed konfiguracją BGP kluczowe jest zrozumienie 13-stopniowego algorytmu BGP Best Path Selection, który określa kolejność preferowania tras. Local Preference ma najwyższy priorytet (krok 7), więc jest jednym z pierwszych atrybutów branych pod uwagę przy wyborze najlepszej trasy. Przy konfiguracji route-map dla manipulacji atrybutami należy pamiętać o właściwej kolejności reguł (sequence numbers), ponieważ przetwarzanie odbywa się sekwencyjnie. Route Reflector znacząco upraszcza topologię iBGP, eliminując potrzebę pełnej siatki połączeń między routerami wewnętrznymi - wystarczy jeden router skonfigurowany jako Route Reflector z pozostałymi jako klientami. Podczas testowania symulacji awarii zaleca się użycie polecenia shutdown na interfejsie, co powoduje naturalne przełączenie tras w tabeli BGP zgodne z algorytmem wyboru najlepszej ścieżki.
! ! KONFIGURACJA INTERFEJSÓW Edge-1#configure terminal Edge-1(config)#interface GigabitEthernet0/0 Edge-1(config-if)#description Do_ISP1 Edge-1(config-if)#ip address 203.0.113.1 255.255.255.252 Edge-1(config-if)#no shutdown Edge-1(config-if)#exit Edge-1(config)#interface GigabitEthernet0/1 Edge-1(config-if)#description Do_ISP2 Edge-1(config-if)#ip address 198.51.100.1 255.255.255.252 Edge-1(config-if)#no shutdown Edge-1(config-if)#exit Edge-1(config)#interface GigabitEthernet0/2 Edge-1(config-if)#description ŁĄCZE_iBGP_Do_Edge-2 Edge-1(config-if)#ip address 10.0.0.1 255.255.255.252 Edge-1(config-if)#no shutdown Edge-1(config-if)#exit Edge-1(config)#interface GigabitEthernet0/3 Edge-1(config-if)#description LAN Edge-1(config-if)#ip address 172.16.0.1 255.255.255.0 Edge-1(config-if)#no shutdown Edge-1(config-if)#exit ! KONFIGURACJA PREFIX-LIST Edge-1(config)#ip prefix-list FIRMA-OUT seq 5 permit 172.16.0.0/16 le 24 Edge-1(config)#ip prefix-list ISP1-IN seq 5 permit 0.0.0.0/0 ! KONFIGURACJA ROUTE-MAP Edge-1(config)#route-map SET-LOCAL-PREF-ISP1 permit 10 Edge-1(config-route-map)#set local-preference 200 Edge-1(config-route-map)#exit Edge-1(config)#route-map SET-LOCAL-PREF-ISP2 permit 10 Edge-1(config-route-map)#set local-preference 100 Edge-1(config-route-map)#exit Edge-1(config)#route-map PREPEND-TO-ISP2 permit 10 Edge-1(config-route-map)#match ip address prefix-list FIRMA-OUT Edge-1(config-route-map)#set as-path prepend 65001 65001 65001 Edge-1(config-route-map)#exit Edge-1(config)#route-map DEFAULT-ROUTE permit 10 Edge-1(config-route-map)#match ip address prefix-list ISP1-IN Edge-1(config-route-map)#set community 65001:100 Edge-1(config-route-map)#exit ! KONFIGURACJA BGP Edge-1(config)#router bgp 65001 Edge-1(config-router)#bgp router-id 1.1.1.1 Edge-1(config-router)#bgp cluster-id 1.1.1.1 Edge-1(config-router)#bgp log-neighbor-changes Edge-1(config-router)#network 172.16.0.0 mask 255.255.255.0 ! SESJA eBGP Z ISP1 Edge-1(config-router)#neighbor 203.0.113.2 remote-as 65010 Edge-1(config-router)#neighbor 203.0.113.2 description ISP1-MPLS Edge-1(config-router)#neighbor 203.0.113.2 route-map SET-LOCAL-PREF-ISP1 in Edge-1(config-router)#neighbor 203.0.113.2 route-map FIRMA-OUT out Edge-1(config-router)#neighbor 203.0.113.2 soft-reconfiguration inbound ! SESJA eBGP Z ISP2 Edge-1(config-router)#neighbor 198.51.100.2 remote-as 65020 Edge-1(config-router)#neighbor 198.51.100.2 description ISP2-Internet Edge-1(config-router)#neighbor 198.51.100.2 route-map SET-LOCAL-PREF-ISP2 in Edge-1(config-router)#neighbor 198.51.100.2 route-map PREPEND-TO-ISP2 out Edge-1(config-router)#neighbor 198.51.100.2 soft-reconfiguration inbound ! SESJA iBGP Z EDGE-2 (ROUTE REFLECTOR) Edge-1(config-router)#neighbor 10.0.0.2 remote-as 65001 Edge-1(config-router)#neighbor 10.0.0.2 description iBGP-to-Edge-2 Edge-1(config-router)#neighbor 10.0.0.2 next-hop-self Edge-1(config-router)#neighbor 10.0.0.2 route-reflector-client Edge-1(config-router)#exit Edge-1(config)#exit ! WERYFIKACJA Edge-1#show ip bgp summary BGP router identifier 1.1.1.1, local AS number 65001 BGP table version is 7, main routing table version 7 3 network entries using 432 bytes of memory 4 path entries using 416 bytes of memory Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.0.0.2 4 65001 45 52 7 0 0 00:38:12 Active 203.0.113.2 4 65010 156 142 7 0 0 02:15:45 1 198.51.100.2 4 65020 148 138 7 0 0 02:12:33 1 Edge-1#show ip bgp BGP table version is 7, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Network Next Hop Metric LocPrf Weight Path *>i0.0.0.0 10.0.0.2 0 100 0 65020 i * i 10.0.0.2 0 100 0 65010 i *> 172.16.0.0/24 0.0.0.0 0 32768 i * i 10.0.0.2 0 100 0 i Edge-1#show ip bgp 0.0.0.0 BGP routing table entry for 0.0.0.0/0, version 5 Paths: (2 available, best #1, table default-ip-routing-table, not advertised to any peer) 65020, (received & used) 10.0.0.2 from 10.0.0.2 (2.2.2.2) Origin IGP, metric 0, localpref 100, valid, internal, best 65010 10.0.0.2 from 10.0.0.2 (2.2.2.2) Origin IGP, metric 0, localpref 100, valid, internal Edge-1#show ip bgp neighbors 203.0.113.2 advertised-routes BGP table version is 7, local router ID is 1.1.1.1 Network Next Hop Metric LocPrf Weight Path *> 172.16.0.0/24 0.0.0.0 0 32768 i Total number of prefixes 1 Edge-1#traceroute 8.8.8.8 Type escape sequence to abort. Tracing route to 8.8.8.8, 64 hops max, 40 byte packets 1 203.0.113.2 (ISP1) 4 ms 2 ms 2 ms 2 10.10.0.1 6 ms 4 ms 4 ms 3 8.8.8.8 8 ms 6 ms 6 ms
W4 Koncepcja NFV, wirtualizacja usług, load balancing.
Głównym celem projektu jest zastąpienie tradycyjnych, dedykowanych urządzeń sieciowych (router, firewall, load balancer) ich wirtualnymi odpowiednikami działającymi na standardowej infrastrukturze serwerowej. Firma planuje otwarcie nowego oddziału, gdzie ze względów budżetowych nie przewidziano zakupu dedykowanego sprzętu sieciowego. Decyzją zarządu ma zostać wdrożone rozwiązanie NFV (Network Functions Virtualization) oparte na maszynach wirtualnych uruchomionych na standardowych serwerach. Projekt obejmuje konfigurację wirtualnego routera (vRouter), wirtualnego firewalla (vFirewall) oraz wirtualnego load balancera, które połączone w logiczny łańcuch usług (Service Chain) zapewnią pełną funkcjonalność sieciową. Dodatkowo należy oszacować wydajność i zużycie zasobów (CPU, RAM) przez poszczególne funkcje sieciowe, porównując je z parametrami tradycyjnych urządzeń. Efektem projektu ma być w pełni funkcjonalne rozwiązanie, które może stanowić alternatywę dla kosztownego sprzętu dedykowanego.
Firma otwiera nowy oddział w innym mieście, którego budżet nie pozwala na zakup dedykowanych urządzeń sieciowych takich jak router brzegowy, firewall sprzętowy czy load balancer. Jednocześnie zarząd oczekuje pełnej funkcjonalności sieciowej porównywalnej z centralą: NAT, routing, filtrowanie ruchu, serwer DHCP, QoS oraz rozdzielanie obciążenia między serwerami WWW. Dział IT ma za zadanie wdrożyć rozwiązanie oparte na wirtualizacji funkcji sieciowych (NFV) przy wykorzystaniu dostępnych narzędzi jak MikroTik RouterOS (CHR) lub Cisco CSR1000v uruchomionych w środowisku VirtualBox lub GNS3. Wszystkie usługi muszą działać na standardowej infrastrukturze serwerowej z wystarczającymi zasobami. Należy skonfigurować vRouter realizujący NAT i routing, vFirewall zapewniający filtrowanie ruchu oraz vLoad Balancer rozdzielający ruch HTTP/HTTPS między dwoma serwerami WWW. Całość musi być udokumentowana od strony zużycia zasobów i wydajności.
| Element | Opis wymagań |
|---|---|
| Diagram instancji | Schemat pokazujący połączenie maszyn wirtualnych i wirtualnych switchy. |
| Analiza opóźnień | Porównanie opóźnień między instancjami fizycznymi a wirtualnymi. |
| Plan vResources | Tabela z przydziałem zasobów dla każdej funkcji sieciowej. |
Przed uruchomieniem maszyn wirtualnych należy upewnić się, że system hosta (VirtualBox lub GNS3) ma wystarczające zasoby CPU i RAM dla wszystkich instancji. MikroTik CHR oferuje pełną funkcjonalność w darmowej wersji z limitem 1 Mbps, ale do celów projektowych (testy) to wystarczające - wersja płatna znosi limit. Przy konfiguracji DHCP server należy pamiętać o właściwym ustawieniu interfejsu, na którym nasługuje, oraz o definicji puli adresów (address-pool). Konfiguracja NAT masquerade jest niezbędna dla sieci LAN aby miała dostęp do Internetu przez WAN. Przy testowaniu Load Balancera metodą nth (round-robin) należy pamiętać, że działa na poziomie połączeń, a nie sesji, więc przy ruchu HTTP może wystąpić nierównomierowe rozłożenie. Do bardziej zaawansowanego load balancingu należy rozważyć Connection Rate Limiting lub PCC (Per Connection Classifier).
! ! KONFIGURACJA INTERFEJSÓW I ADRESACJI [admin@MikroTik]>/ip address [admin@MikroTik]/ip address>add address=10.0.10.1/24 interface=LAN comment="Sieć LAN" [admin@MikroTik]/ip address>add address=10.0.20.1/24 interface=DMZ comment="Strefa DMZ" [admin@MikroTik]/ip address>add address=203.0.113.2/30 interface=WAN comment="Łącze WAN" [admin@MikroTik]/ip address>add address=10.0.100.1/24 interface=vrrp1 comment="VIP dla Load Balancer" [admin@MikroTik]/ip address>print Flags: X - disabled, I - invalid, D - dynamic # ADDRESS NETWORK INTERFACE 0 10.0.10.1/24 10.0.10.0 LAN 1 10.0.20.1/24 10.0.20.0 DMZ 2 203.0.113.2/30 203.0.113.0 WAN 3 10.0.100.1/24 10.0.100.0 vrrp1 ! KONFIGURACJA DHCP SERVER [admin@MikroTik]>/ip dhcp-server network [admin@MikroTik]/ip dhcp-server network>add address=10.0.10.0/24 gateway=10.0.10.1 dns-server=10.0.10.1 domain=firma.local [admin@MikroTik]/ip dhcp-server>add address-pool=dhcp_pool1 interface=LAN name=dhcp_main [admin@MikroTik]/ip dhcp-server>print Flags: X - disabled, I - invalid, D - dynamic # NAME INTERFACE RELAY ADDRESS-POOL LEASE-TIME ADD-ARP 0 dhcp_main LAN none dhcp_pool1 10:00:00 no ! KONFIGURACJA NAT (MASQUERADE) [admin@MikroTik]>/ip firewall nat [admin@MikroTik]/ip firewall nat>add chain=srcnat out-interface=WAN action=masquerade comment="NAT dla LAN" [admin@MikroTik]/ip firewall nat>add chain=dstnat in-interface=WAN protocol=tcp dst-port=80 action=redirect to-ports=8080 comment="Przekierowanie HTTP do Proxy" ! KONFIGURACJA WEB PROXY [admin@MikroTik]>/ip proxy [admin@MikroTik]/ip proxy>set enabled=yes port=8080 parent-proxy=0.0.0.0:0 [admin@MikroTik]/ip proxy>access add dst-host=*.youtube.com action=deny comment="Blokada YouTube" [admin@MikroTik]/ip proxy>access add dst-host=*.facebook.com action=deny comment="Blokada Facebook" ! KONFIGURACJA FIREWALL FILTER (ZABEZPIECZENIA) [admin@MikroTik]>/ip firewall filter [admin@MikroTik]/ip firewall filter>add chain=input protocol=icmp action=accept comment="PING" [admin@MikroTik]/ip firewall filter>add chain=input connection-state=established,related action=accept comment="Established" [admin@MikroTik]/ip firewall filter>add chain=input in-interface=WAN protocol=tcp dst-port=22 action=accept src-address-list=ssh_allowed comment="SSH dla adminów" [admin@MikroTik]/ip firewall filter>add chain=input in-interface=WAN action=drop comment="Blokuj wszystko z WAN" [admin@MikroTik]/ip firewall filter>add chain=forward connection-state=established,related action=accept [admin@MikroTik]/ip firewall filter>add chain=forward in-interface=LAN out-interface=DMZ action=accept comment="LAN do DMZ" [admin@MikroTik]/ip firewall filter>add chain=forward in-interface=DMZ out-interface=WAN action=accept [admin@MikroTik]/ip firewall filter>add chain=forward action=drop comment="Blokuj resztę" ! KONFIGURACJA LOAD BALANCER (DST-NAT Z ROUND-ROBIN) [admin@MikroTik]>/ip firewall nat [admin@MikroTik]/ip firewall nat>add chain=dstnat in-interface=WAN protocol=tcp dst-port=80 connection-mark=first action=accept comment="LB-HTTP-1" [admin@MikroTik]/ip firewall nat>add chain=dstnat in-interface=WAN protocol=tcp dst-port=80 connection-mark=!first action=accept comment="LB-HTTP-2" [admin@MikroTik]/ip firewall nat>add chain=dstnat in-interface=WAN protocol=tcp dst-port=80 nth=2,1 action=dst-nat to-addresses=10.0.20.10 to-ports=80 comment="LB-Do-Server1" [admin@MikroTik]/ip firewall nat>add chain=dstnat in-interface=WAN protocol=tcp dst-port=80 nth=2,2 action=dst-nat to-addresses=10.0.20.11 to-ports=80 comment="LB-Do-Server2" ! KONFIGURACJA QOS (SIMPLE QUEUES) [admin@MikroTik]>/queue simple [admin@MikroTik]/queue simple>add name=limit-uzytkownik target=10.0.10.50/32 max-limit=10M/10M comment="Limit dla użytkownika" [admin@MikroTik]/queue simple>add name=voip-priority target=10.0.10.0/24 packet-marks=voip priority=1/1 max-limit=5M/5M comment="Priorytet VoIP" [admin@MikroTik]/queue simple>add name=całe-lan target=10.0.10.0/24 max-limit=100M/100M comment="Cały ruch LAN" ! WERYFIKACJA [admin@MikroTik]>/ip address print Flags: X - disabled, I - invalid, D - dynamic # ADDRESS NETWORK INTERFACE 0 10.0.10.1/24 10.0.10.0 LAN 1 10.0.20.1/24 10.0.20.0 DMZ 2 203.0.113.2/30 203.0.113.0 WAN [admin@MikroTik]>/ip firewall nat print Flags: X - disabled, I - invalid, D - dynamic 0 chain=srcnat action=masquerade out-interface=WAN 1 chain=dstnat action=redirect to-ports=8080 protocol=tcp in-interface=WAN dst-port=80 2 chain=dstnat action=dst-nat to-addresses=10.0.20.10 to-ports=80 protocol=tcp in-interface=WAN dst-port=80 nth=2,1 3 chain=dstnat action=dst-nat to-addresses=10.0.20.11 to-ports=80 protocol=tcp in-interface=WAN dst-port=80 nth=2,2 [admin@MikroTik]>/system resource print uptime: 2h22m10s version: 7.13.5 build-time: Oct/15/2024 12:00:00 free-memory: 384.0MiB total-memory: 512.0MiB cpu: ARM64 cpu-load: 5% free-hdd-space: 64.0MiB total-hdd-space: 128.0MiB [admin@MikroTik]>/ping 10.0.20.10 SEQ HOST TTL TIME STATUS 0 10.0.20.10 64 1ms ok 1 10.0.20.10 64 1ms ok 2 10.0.20.10 64 1ms ok
W4 Bezpieczeństwo IoT/OT, model Zero Trust, mikrosegmentacja.
Głównym celem projektu jest ochrona krytycznej infrastruktury przemysłowej (OT) oraz biurowych urządzeń IoT (Internet of Things), które posiadają ograniczone mechanizmy własnej obrony przed cyberzagrożeniami. Urządzenia te często operate na starszych protokołach bez szyfrowania i uwierzytelniania, co czyni je łatwym celem ataków. Projekt wymaga wdrożenia modelu bezpieczeństwa Zero Trust opierającego się na zasadzie "nigdy nie ufaj, zawsze weryfikuj", gdzie każde połączenie musi być jawnie autoryzowane, niezależnie od tego, skąd pochodzi. Należy zastosować mikrosegmentację sieci, która izoluje urządzenia IoT/OT od reszty infrastruktury, oraz zaimplementować inspekcję stanową ruchu na poziomie firewall. Efektem projektu ma być w pełni zabezpieczona infrastruktura, gdzie nieautoryzowany ruch jest blokowany na poziomie sieci, nawet jeśli atakujący uzyska dostęp do wewnętrznej sieci.
W sieci fabryki znajdują się sterowniki PLC (Programmable Logic Controller) sterujące procesami produkcyjnymi oraz czujniki temperatury i wilgotności zbierające dane środowiskowe. Te urządzenia komunikują się protokołami przemysłowymi (Modbus, BACnet, MQTT) i często nie wspierają żadnych mechanizmów szyfrowania. Dodatkowo w sieci biurowej działają urządzenia IoT jak kamery monitoringu IP, drukarki sieciowe, inteligentne oświetlenie i termostaty. Aktualnie wszystkie te urządzenia są w tej samej sieci co komputery pracowników, co stwarza poważne ryzyko - atakujący, który wejdzie w posiadanie laptopa pracownika lub wykorzysta lukę w drukarce, może uzyskać dostęp do sterowników PLC i potencjalnie zakłócić procesy produkcyjne. Należy więc odizolować ruch OT i IoT od sieci biurowej za pomocą osobnych VLAN oraz wdrożyć politykę Zero Trust: domyślnie blokuj wszystkie połączenia, zezwól tylko jawnie autoryzowane. Każde urządzenie musi być zidentyfikowane, a dostęp do niego ograniczony do minimalnych wymagań operacyjnych.
| Element | Opis wymagań |
|---|---|
| Matryca separacji | Tabela określająca, które grupy urządzeń mogą się ze sobą komunikować. |
| Profilowanie śladu | Opis wzorców ruchu typowych dla danego sensora IoT. |
| Schemat ZTA | Wizualizacja punktów weryfikacji tożsamości w architekturze sieci. |
Przy konfiguracji VLAN dla IoT/OT należy pamiętać o właściwym tagowaniu na portach - urządzenia końcowe zwykle nie rozumieją VLAN, więc port dostępu powinien mieć tryb access (bez tagowania), a trunk powinien być na porcie do routera. Domyslna polityka DROP jest kluczowa dla Zero Trust - najpierw blokujemy wszystko, potem jawnie zezwalamy na dozwolony ruch. Przy konfiguracji MAB (MAC Authentication Bypass) należy pamiętać, że to mechanizm uwierzytelniania urządzeń na podstawie adresu MAC - przydatny dla urządzeń bez loginu. Filtrowanie protokołów OT jak Modbus (port 502) i MQTT (port 1883) powinno być bardzo restrykcyjne - zezwól tylko na niezbędne połączenia do serwera SCADA/MQTT broker. Rate limiting dla sieci IoT chroni przed atakami DDoS z botnetów zbudowanych z zhakowanych kamer czy rejestratorów.
! ! KONFIGURACJA VLAN [admin@MikroTik]>/interface vlan [admin@MikroTik]/interface vlan>add name=VLAN10-BIURO vlan-id=10 interface=bridge1 [admin@MikroTik]/interface vlan>add name=VLAN20-IOT vlan-id=20 interface=bridge1 [admin@MikroTik]/interface vlan>add name=VLAN30-OT vlan-id=30 interface=bridge1 [admin@MikroTik]/interface vlan>add name=VLAN99-MGMT vlan-id=99 interface=bridge1 ! KONFIGURACJA ADRESÓW IP NA VLAN [admin@MikroTik]>/ip address [admin@MikroTik]/ip address>add address=10.10.0.1/24 interface=VLAN10-BIURO comment="Biuro" [admin@MikroTik]/ip address>add address=10.20.0.1/24 interface=VLAN20-IOT comment="IoT" [admin@MikroTik]/ip address>add address=10.30.0.1/24 interface=VLAN30-OT comment="OT/PLC" [admin@MikroTik]/ip address>add address=10.99.0.1/24 interface=VLAN99-MGMT comment="Management" ! KONFIGURACJA DHCP SERVER DLA VLAN [admin@MikroTik]>/ip dhcp-server [admin@MikroTik]/ip dhcp-server>add name=dhcp-i interface=VLAN20-IOT address-pool=dhcp-pool-iot [admin@MikroTik]/ip dhcp-server network>add address=10.20.0.0/24 gateway=10.20.0.1 dns-server=10.20.0.1 [admin@MikroTik]/ip dhcp-server>add name=dhcp-ot interface=VLAN30-OT address-pool=dhcp-pool-ot [admin@MikroTik]/ip dhcp-server network>add address=10.30.0.0/24 gateway=10.30.0.1 dns-server=10.30.0.1 ! ADRESY IP URZĄDZEŃ IOT (ADDRESS LIST) [admin@MikroTik]>/ip firewall address-list [admin@MikroTik]/ip firewall address-list>add list=iot-devices address=10.20.0.10 comment="Kamera IP 1" [admin@MikroTik]/ip firewall address-list>add list=iot-devices address=10.20.0.11 comment="Kamera IP 2" [admin@MikroTik]/ip firewall address-list>add list=iot-devices address=10.20.0.20 comment="Czujnik temperatury" [admin@MikroTik]/ip firewall address-list>add list=plc-devices address=10.30.0.10 comment="PLC Sterownik 1" [admin@MikroTik]/ip firewall address-list>add list=plc-devices address=10.30.0.11 comment="PLC Sterownik 2" [admin@MikroTik]/ip firewall address-list>add list=admin-stations address=10.10.0.50 comment="Stacja admina" ! FIREWALL - ZERO TRUST (DOMYŚLNA POLITYKA DROP) [admin@MikroTik]>/ip firewall filter [admin@MikroTik]/ip firewall filter>add chain=forward action=log log-prefix="BLOKADA-FORWARD:" comment="Loguj wszystkie zablokowane" [admin@MikroTik]/ip firewall filter>add chain=forward action=drop comment="DOMYŚLNA POLITYKA DROP" ! MIKROSEGMENTACJA - IOT DO BIURA (BLOKADA) [admin@MikroTik]/ip firewall filter>add chain=forward in-interface=VLAN20-IOT out-interface=VLAN10-BIURO action=drop comment="IoT nie ma dostępu do Biura" ! IOT DO INTERNETU (TYLKO AUTORYZOWANE USŁUGI) [admin@MikroTik]/ip firewall filter>add chain=forward in-interface=VLAN20-IOT out-interface=WAN action=accept protocol=tcp dst-port=443 comment="HTTPS do Internetu" [admin@MikroTik]/ip firewall filter>add chain=forward in-interface=VLAN20-IOT out-interface=WAN action=accept protocol=tcp dst-port=1883 comment="MQTT" ! OT/PLC - IZOLACJA (TYLKO DO SERWERA SCADA) [admin@MikroTik]/ip firewall filter>add chain=forward in-interface=VLAN30-OT out-interface=VLAN30-OT action=accept src-address-list=plc-devices dst-address-list=plc-devices comment="PLC komunikacja między sobą" [admin@MikroTik]/ip firewall filter>add chain=forward in-interface=VLAN30-OT out-interface=VLAN30-OT action=accept dst-address=10.30.100.50 protocol=tcp dst-port=502 comment="Modbus do SCADA" [admin@MikroTik]/ip firewall filter>add chain=forward in-interface=VLAN30-OT out-interface=VLAN99-MGMT action=accept src-address-list=admin-stations comment="Admin ma dostęp do OT" ! LIMITOWANIE PASMA DLA IOT [admin@MikroTik]>/queue simple [admin@MikroTik]/queue simple>add name=limit-iot target=10.20.0.0/24 max-limit=10M/10M comment="Limit pasma dla IoT" [admin@MikroTik]/queue simple>add name=limit-ot target=10.30.0.0/24 max-limit=5M/5M comment="Limit pasma dla OT" ! WERYFIKACJA [admin@MikroTik]>/ip firewall filter print Flags: X - disabled, I - invalid, D - dynamic 0 chain=forward action=log log-prefix="BLOKADA-FORWARD:" 1 chain=forward action=drop 2 chain=forward in-interface=VLAN20-IOT out-interface=VLAN10-BIURO action=drop 3 chain=forward in-interface=VLAN20-IOT out-interface=WAN protocol=tcp dst-port=443 action=accept 4 chain=forward in-interface=VLAN30-OT out-interface=VLAN30-OT action=accept 5 chain=forward in-interface=VLAN30-OT out-interface=VLAN30-OT protocol=tcp dst-port=502 action=accept [admin@MikroTik]>/ip firewall address-list print Flags: X - disabled, I - invalid, D - dynamic # LIST ADDRESS TIMEOUT 0 iot-devices 10.20.0.10 1 iot-devices 10.20.0.11 2 plc-devices 10.30.0.10 3 plc-devices 10.30.0.11 [admin@MikroTik]>/ping 10.20.0.10 SEQ HOST TTL TIME STATUS 0 10.20.0.10 64 2ms ok [admin@MikroTik]>/tool traceroute 10.10.0.50 # ADDRESS STATUS 1 10.20.0.1 timeout
W2 QoS L3, W3 Jitter, opóźnienia, mechanizmy TCP/UDP.
Głównym celem projektu jest zapewnienie stabilnej i wysokiej jakości pracy usług multimedialnych czasu rzeczywistego (VoIP, wideokonferencje) w warunkach dużego obciążenia sieci ruchem danych. Współczesne sieci korporacyjne obsługują zarówno tradycyjny ruch danych jak i aplikacje czasu rzeczywistego, które wymagają niskich opóźnień i minimalnej utraty pakietów.Tradycyjne podejście typu best-effort nie zapewnia odpowiedniej jakości dla ruchu time-sensitive. Projekt wymaga wdrożenia zaawansowanych mechanizmów QoS (Quality of Service) obejmujących klasyfikację i markowanie ruchu, a także inteligentne zarządzanie kolejkami z wykorzystaniem mechanizmów LLQ (Low Latency Queuing) i CBWFQ (Class-Based Weighted Fair Queuing). Należy również skonfigurować Traffic Shaping dla dopasowania do łącza WAN oraz przeprowadzić pomiary parametrów jakości (jitter, opóźnienia, MOS) przed i po wdrożeniu QoS.
Na styku sieci lokalnej z WAN (łącze do ISP) pojawia się wąskie gardło, które powoduje wysoką utratę pakietów i znaczne opóźnienia szczególnie podczas jednoczesnego korzystania z telefonii VoIP i wysyłania dużych załączników e-mail. Pracownicy działu sprzedaży skarżą się na przerwania i zniekształcenia głosu podczas rozmów telefonicznych przez Internet, co negatywnie wpływa na wizerunek firmy przy kontaktach z klientami. Ruch VoIP konkuruje o dostępne pasmo z ruchem generowanym przez pozostałych pracowników, który w tym samym priorytecie powoduje opóźnienia przekraczające 150ms, co jest nieakceptowalne dla komunikacji głosowej. Wąskie gardło na styku z siecią WAN powoduje wysoką utratę pakietów w rozmowach głosowych podczas wysyłania dużych załączników e-mail. Należy wdrożyć mechanizmy QoS zapewniające priorytetowy dostęp do pasma dla ruchu VoIP (DSCP EF - Expedited Forwarding) kosztem ruchu o niższym priorytecie, niezależnie od obciążenia łącza. Ruch masowy (bulk data) powinien być kształtowany (shaped) do określonej przepustowości, aby nie zagłuszał ruchu krytycznego. Rekomendowana jest priorytetyzacja LLQ (Low Latency Queuing) dla ruchuVoIP.
Wąskie gardło na styku z siecią WAN powoduje wysoką utratę pakietów w rozmowach głosowych podczas wysyłania dużych załączników e-mail. Należy wdrożyć priorytetyzację Low Latency Queuing (LLQ).
| Element | Opis wymagań |
|---|---|
| Model QoS | Szczegółowy opis klas ruchu i przydzielonych procentów pasma. |
| Weryfikacja kolejek | Zrzuty `show policy-map interface` pod obciążeniem. |
| Analiza wydajności | Wykresy pokazujące różnicę w jakości głosu (MOS) przed i po zmianach. |
Klasyfikacja ruchu powinna odbywać się jak najbliżej źródła - na przełącznikach warstwy dostępu lub bezpośrednio na urządzeniach końcowych (np. telefon IP markuje ruch RTP jako DSCP EF). DSCP jest preferowanym mechanizmem markowania nad ToS, ponieważ ma więcej wartości i jest rozpoznawany w całym pathway sieci. LLQ dla VoIP jest implementowany jako kolejka priorytetowa z gwarantowanym pasmem - ruch VoIP jest obsługiwany natychmiast, bez czekania w kolejce. CBWFQ dla pozostałych klas gwarantuje minimalne pasmo, ale nie blokuje innych klas w przypadku niskiego ruchu. IP SLA jest wbudowanym mechanizmem monitorowania w Cisco, który generuje ruch UDP do serwera VoIP i mierzy jitter - wyniki powinny być porównane przed i po wdrożeniu QoS. Traffic Shaping powinien być ustawiony nieco niżej niż CIR (Committed Information Rate) od ISP, aby uniknąć odrzutów na policerze ISP (policing).
! ! KLASYFIKACJA RUCHU (CLASS MAP) Router#configure terminal Router(config)#class-map match-any VOICE Router(config-cmap)#match protocol rtp Router(config-cmap)#match dscp ef Router(config-cmap)#exit Router(config)#class-map match-any VIDEO Router(config-cmap)#match protocol rtp Router(config-cmap)#match dscp af41 Router(config-cmap)#exit Router(config)#class-map match-any CRITICAL-DATA Router(config-cmap)#match dscp af31 Router(config-cmap)#match dscp af32 Router(config-cmap)#exit Router(config)#class-map match-any SCAVENGER Router(config-cmap)#match dscp cs1 Router(config-cmap)#exit ! POLICY MAP (QOS QUEUING) Router(config)#policy-map QOS-POLICY Router(config-pmap)#class VOICE Router(config-pmap-c)#priority percent 20 Router(config-pmap-c)#class VIDEO Router(config-pmap-c)#bandwidth percent 30 Router(config-pmap-c)#class CRITICAL-DATA Router(config-pmap-c)#bandwidth percent 40 Router(config-pmap-c)#class SCAVENGER Router(config-pmap-c)#bandwidth percent 5 Router(config-pmap-c)#class class-default Router(config-pmap-c)#fair-queue Router(config-pmap-c)#exit ! TRAFFIC SHAPING I APLIKACJA NA INTERFEJSIE Router(config)#interface Serial0/0/0 Router(config-if)#description ŁĄCZE_WAN Router(config-if)#ip address 203.0.113.1 255.255.255.252 Router(config-if)#traffic-shape rate 10000000 Router(config-if)#service-policy output QOS-POLICY Router(config-if)#no shutdown Router(config-if)#exit Router(config)#exit ! KONFIGURACJA IP SLA DLA MONITOROWANIA JITTERA Router(config)#ip sla 1 Router(config-ip-sla)#udp-jitter 10.0.0.100 5000 Router(config-ip-sla-jitter)#frequency 30 Router(config-ip-sla-jitter)#exit Router(config)#ip sla schedule 1 life forever start-time now Router(config)#exit ! WERYFIKACJA Router#show policy-map interface Serial0/0/0 Serial0/0/0 Service-policy output: QOS-POLICY Class-map: VOICE (match-any) Match: protocol rtp Match: dscp ef (46) Queue depth: 0 Packets sent: 15432 Class-map: VIDEO (match-any) Match: protocol rtp Match: dscp af41 (34) Packets sent: 8432 Class-map: CRITICAL-DATA (match-any) Match: dscp af31 (26) Packets sent: 23541 Router#show ip sla statistics 1 IP SLAs Latest Operation Statistics IPSLA 1: jitter operation Type: jitter Latest RTT: 12 ms Latest Jitter: 3 ms Avg Jitter: 4 ms Router#show queueing Current Fair Queuing Configuration: Interface Discard threshold Se0/0/0 64 16
W3 SNMP, NTP, Syslog, W4 SIEM/SOAR.
Głównym celem projektu jest utworzenie centralnego punktu widoczności (visibility) infrastruktury sieciowej, który pozwala na zautomatyzowane wykrywanie anomalii zachowań i szybkie reagowanie na incydenty sieciowe. Współczesne centra danych i sieci korporacyjne składają się z dziesiątek lub setek urządzeń, co uniemożliwia skuteczny manualny monitoring. Projekt wymaga wdrożenia kompletnego systemu monitoringu obejmującego protokół SNMPv3 zapewniający bezpieczny (szyfrowany, uwierzytelniany) odczyt liczników urządzeń, system Syslog do centralnego gromadzenia logów ze wszystkich urządzeń w jednej bazie danych, serwer NTP do synchronizacji czasu dla zapewnienia poprawnej korelacji zdarzeń oraz opcjonalnie integrację z systemem SIEM do korelacji zdarzeń i generowania alertów. Efektem projektu ma być w pełni funkcjonalny system monitoringu pozwalający na proaktywne wykrywanie problemów i szybką reakcję na incydenty bezpieczeństwa.
Administratorzy sieci w firmie spędzają znaczną część czasu na ręczną diagnostykę urządzeń i logowanie do każdego z nich indywidualnie w celu sprawdzenia statusu. Dodatkowo gdy pojawia się problem, ustalenie jego przyczyny jest bardzo trudne, ponieważ logi są rozproszone po różnych urządzeniach i nie mają spójnej sygnatury czasu. Zarząd oczekuje wdrożenia systemu monitoringu, który zapewni centralny widok całej infrastruktury w jednym miejscu z alertami w czasie rzeczywistym. Należy więc wdrożyć SNMPv3 z szyfrowaniem AES i uwierzytelnianiem SHA dla bezpiecznego monitoringu, Syslog do centralizacji logów (Graylog, ELK lub rsyslog), serwer NTP dla spójnej sygnatury czasu oraz reguły alertów dla krytycznych zdarzeń (awaria łącza, błąd uwierzytelniania, przekroczenie progu wykorzystania). Całość powinna umożliwiać szybką diagnostykę i korelację zdarzeń w czasie.
| Element | Opis wymagań |
|---|---|
| Hierarchia MIB | Opis kluczowych obiektów OID monitorowanych w sieci. |
| Dashboard logów | Zrzut ekranu z centralnego panelu zarządzania z widocznymi komunikatami. |
| Raport korelacji | Przykład powiązania logu ze switcha z alertem w systemie monitoringu. |
Konfiguracja NTP jest kluczowa dla korelacji zdarzeń - wszystkie urządzenia muszą być zsynchronizowane do tego samego serwera NTP z tą samą strefą czasową. SNMPv3 wymaga właściwej konfiguracji zarówno na urządzeniu (użytkownik, grupa, widok), jak i na stacji zarządzającej (hasełko). Wersja priv (privacy) zapewnia szyfrowanie, authSHA lub authMD5 tylko uwierzytelniają. Dla Syslog zalecany jest protokół UDP na porcie 514 - jest prostszy i wydajniejszy od TCP dla logowania. Graylog oferuje prosty interfejs webowy do przeglądania logów, ale ELK (Elasticsearch, Logstash, Kibana) jest bardziej skalowalny. Przy definiowaniu alertów w SIEM należy unikać false positives - reguły powinny być oparte na powtarzających się zdarzeniach, a nie pojedynczych przypadkach. Trap SNMP jest wysyłany asynchronicznie do stacji zarządzającej, ale może być gubiony przy dużym obciążeniu - dlatego też należy również pollować (odpytywać) urządzenia periodycznie.
! ! KONFIGURACJA NTP Switch#configure terminal Switch(config)#ntp server 10.0.0.10 prefer Switch(config)#clock timezone CET 1 0 Switch(config)#service timestamps debug datetime msec Switch(config)#service timestamps log datetime msec ! KONFIGURACJA SYSLOG Switch(config)#logging host 10.0.0.20 transport udp port 514 Switch(config)#logging source-interface Loopback0 Switch(config)#logging trap debugging ! KONFIGURACJA SNMPv3 Switch(config)#snmp-server view MONITOR iso included Switch(config)#snmp-server group MONITORGROUP v3 priv read MONITOR write MONITOR Switch(config)#snmp-server user admin MONITORGROUP v3 auth sha admin123 priv aes 256 admin123 Switch(config)#snmp-server enable traps Switch(config)#snmp-server host 10.0.0.30 version 3 priv admin ! WERYFIKACJA Switch#show snmp user User name: admin Engine ID: 800000090300000000000000 Authentication protocol: SHA Privacy protocol: AES256 Group name: MONITORGROUP Switch#show snmp group groupname: MONITORGROUP security model: v3 priv readview: MONITOR writeview: MONITOR Switch#show logging Syslog logging: enabled Logging to 10.0.0.20: 0 messages logged Logging to 10.0.0.30: 0 traps logged Switch#show ntp associations address ref clock st when poll reach *~10.0.0.10 .GPS. 1 124 256 377
W1 Bezpieczeństwo portów, STP Guard, W2 ACL, filtrowanie.
Głównym celem projektu jest wzmocnienie odporności warstwy dostępowej sieci na różnego rodzaju ataki wewnętrzne, które stanowią najpoważniejsze zagrożenie w bezpieczeństwie sieciowym. Atakujący działający wewnątrz sieci (insider threat) lub osoba, która uzyskała dostęp do sieci lokalnej, może przeprowadzać ataki podszywania się pod bramę (ARP spoofing), generować pętle sieciowe powodujące przeciążenie, lub podłączyć nieautoryzowany sprzęt. Projekt wymaga wdrożenia kompletnej strategii Defense in Depth obejmującej Port Security zapobiegający nieautoryzowanemu dostępowi do portów, DHCP Snooping i Dynamic ARP Inspection chroniące przed atakiem na warstwie 2, oraz zabezpieczenia STP (BPDU Guard, Root Guard) chroniące przed manipulacją drzewem rozpinającym. Efektem projektu ma być w pełni zabezpieczona warstwa dostępowa minimalizująca ryzyko ataków wewnętrznych.
W biurze typu open space, gdzie dostęp do gniazdek sieciowych mają zarówno pracownicy, jak i goście, regularnie zdarzają się próby podłączenia nieautoryzowanych urządzeń - pracownicy chcą podłączyć własny router nebo access point, a goście próbują uzyskać dostęp do wewnętrznej sieci. Dodatkowo pojawiły się podejrzane zachowania wskazujące na próby ARP spoofing - odnotowano przypadki, gdzie tablice ARP wskazywały na nieprawidłowe adresy MAC dla bramy, co może wskazywać na atak typu man-in-the-middle. Należy więc wdrożyć zabezpieczenia Port Security z limitowaniem adresów MAC i akcją shutdown przy naruszeniu, DHCP Snooping do budowania tablicy zaufanych urządzeń, DAI do weryfikacji zgodności adresów ARP z tablicą DHCP Snooping, oraz BPDU Guard na portach dostępowych, aby zapobiec wpięciu nieautoryzowanego przełącznika przejmującego rolę root bridge.
| Element | Opis wymagań |
|---|---|
| Logi naruszeń | Dokumentacja zrzutów logu po wykryciu ataku ARP Spoofing. |
| Tablica zaufana | Zrzut bazy danych DHCP Snooping binding table. |
| Plan utwardzania | Lista kroków (checklist) wykonanych w celu zabezpieczenia każdego portu. |
Port Security z opcją sticky MAC automatycznie zapisuje dopuszczone adresy MAC do konfiguracji startowej, co upraszcza wdrożenie na wielu portach. Tryb violation restrict loguje naruszenia, ale nie blokuje portu (zalecany w produkcji), shutdown natychmiast wyłącza port (bardziej restrycyjny). DHCP Snooping musi mieć wskazany port zaufany (trusted) - zwykle do routera brzegowego, porty dostępowe muszą być niezaufane (untrusted). DAI działa tylko na VLAN objętych DHCP Snooping, ponieważ wykorzystuje tablicę Binding do weryfikacji. BPDU Guard jest konieczny dla portów dostępowych z włączonym PortFast - bez niego podłączenie switcha spowoduje pętlę lub zmianę root bridge. Root Guard chroni przed próbami "przejęcia" roli root bridge przez atakującego na sąsiednim porcie. ACL na SVI mogą filtrować ruch między VLANami, ale najpierw należy upewnić się, że routing między VLANami jest prawidłowo skonfigurowany.
! ! PORT SECURITY Switch#configure terminal Switch(config)#interface GigabitEthernet0/1 Switch(config-if)#switchport mode access Switch(config-if)#switchport port-security Switch(config-if)#switchport port-security maximum 3 Switch(config-if)#switchport port-security violation restrict Switch(config-if)#spanning-tree portfast Switch(config-if)#spanning-tree bpduguard enable ! DHCP SNOOPING Switch(config)#ip dhcp snooping Switch(config)#ip dhcp snooping vlan 10,20 Switch(config)#interface GigabitEthernet0/24 Switch(config-if)#ip dhcp snooping trust ! DYNAMIC ARP INSPECTION Switch(config)#ip arp inspection vlan 10,20 ! WERYFIKACJA Switch#show port-security interface GigabitEthernet0/1 Port Security: Enabled Port Status: Secure-up Violation Mode: Restrict Security Violation Count: 0 Secure Address Count: 1 Switch#show ip dhcp snooping Switch DHCP snooping: Enabled DHCP snooping Vlan 10: Enabled DHCP snooping Vlan 20: Enabled Switch#show ip arp inspection vlan 10 Vlan 10: Configuration Enabled
W2 BGP, VPN, NAT, W4 Architektury VPC/Cloud.
Głównym celem projektu jest budowa skalowalnego i bezpiecznego połączenia między lokalnym centrum danych (on-premise) a publiczną chmurą obliczeniową (AWS, Azure lub GCP), które zapewni bezpieczną wymianę danych i dynamiczny routing między infrastrukturami. Coraz więcej firm migruje częściowo swoje zasoby do chmury hybrydowej, co wymaga bezpiecznego i wydajnego połączenia. Projekt obejmuje konfigurację tunelu VPN typu Site-to-Site z wykorzystaniem IPsec z silnymi algorytmami szyfrowania, wdrożenie sesji BGP między lokalnym routerem a bramą chmurową dla dynamicznej wymiany tras oraz zaprojektowanie wirtualnej sieci prywatnej (VPC) z odpowiednim podziałem na podsieci publiczne i prywatne. Dodatkowo należy zdefiniować polityki bezpieczeństwa (Security Groups, Firewall) kontrolujące ruch między lokalnym centrum danych a chmurą.
Firma prowadzi stopniową migrację części zasobów (bazy danych, serwery aplikacji) do chmury publicznej, co wymaga bezpiecznego i wydajnego połączenia z infrastrukturą lokalną. Aktualnie połączenie odbywa się przez zwykły VPN przez Internet, co jest niewystarczające dla krytycznych systemów biznesowych ze względu na zmienną jakość i potencjalne zagrożenia bezpieczeństwa. Zarząd oczekuje wdrożenia stałego, szyfrowanego połączenia typu Site-to-Site z wykorzystaniem IPsec, które zapewni bezpieczny tunneling ruchu między lokalnym centrum danych a VPC w chmurze. Dodatkowo wymagana jest dynamiczna wymiana tras za pomocą protokołu BGP, aby routery lokalne mogły automatycznie "widzieć" podsieci chmurowe i kierować do nich ruch bez manualnej konfiguracji tras statycznych. Połączenie musi obsługiwać ruch w obie strony z odpowiednimi zasadami bezpieczeństwa.
| Element | Opis wymagań |
|---|---|
| Schemat Hybrydowy | Pełna topologia łącząca infrastrukturę on-premise z zasobami chmury. |
| Analiza S2S VPN | Parametry negocjacji fazy 1 i 2 protokołu IPsec. |
| Weryfikacja tras | Zrzuty tablic routingu z obu końców połączenia hybrydowego. |
Adresy IP po stronie tunelu IPsec mogą być dowolne z przestrzeni RFC 1918 - tunel jest enkapsulowany w UDP/IP. IKEv2 jest preferowany nad IKEv1 ze względu na lepszą obsługę mobilności (rekeying). Transform-set określa algorytmy szyfrowania i integralności - ESP-AES256 + ESP-SHA-HMAC jest uznawany za bezpieczny. Crypto map musi być przypisany do interfejsu zewnętrznego (WAN). BGP przez VPN wymaga osobnego neighbor na interfejsie Tunnel lub bezpośrednio przez VTI. Numery ASN po obu stronach muszą być różne dla eBGP - dla chmury używa się ASN z zakresu 64512-65534 dla AWS, 65536 dla Azure. Security Groups w chmurze są stanowe - zezwolenie na ruch wychodzący automatycznie zezwala na ruch przychodzący. Weryfikacja tunelu: show crypto ipsec sa pokazuje liczniki pakietów zaszyfrowanych/deszyfrowanych. Peer BGP musi być dostępny przez tunel IPsec - test ping przez Tunnel0.
! ! IKEv2 Router#configure terminal Router(config)#crypto isakmp policy 10 Router(config-isakmp)#encryption aes 256 Router(config-isakmp)#hash sha256 Router(config-isakmp)#group 14 Router(config-isakmp)#exit Router(config)#crypto isakmp key Cisc0Secure! address 203.0.113.10 ! IPSEC Router(config)#crypto ipsec transform-set IPSEC-PROTO esp-aes 256 esp-sha256-hmac Router(config)#crypto map VPN-MAP 10 ipsec-isakmp Router(config-crypto-map)#set peer 203.0.113.10 Router(config-crypto-map)#set transform-set IPSEC-PROTO Router(config-crypto-map)#match address VPN-TRAFFIC Router(config-crypto-map)#exit Router(config)#ip access-list extended VPN-TRAFFIC Router(config-ext-nacl)#permit ip 172.16.0.0 0.0.255.255 10.0.0.0 0.0.255.255 Router(config)#interface GigabitEthernet0/1 Router(config-if)#crypto map VPN-MAP ! BGP Router(config)#router bgp 65001 Router(config-router)#network 172.16.0.0 mask 255.255.0.0 Router(config-router)#neighbor 10.255.1.1 remote-as 64512 ! WERYFIKACJA Router#show crypto isakmp sa dst src state conn-id slot status 203.0.113.1 203.0.113.10 QM_IDLE 1001 0 ACTIVE Router#show crypto ipsec sa #pkts encaps: 1564, #pkts encrypt: 1564 #pkts decaps: 1523, #pkts decrypt: 1523 Router#show ip bgp summary Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.255.1.1 4 64512 145 152 5 0 0 02:15:45 2 Router#show ip route B 10.0.0.0/16 [20/0] via 10.255.1.1 C 172.16.0.0/16 is directly connected Router#ping 10.0.0.10 Sending 5, 100-byte ICMP Echos to 10.0.0.10 !!!!! Success rate is 100 percent