Implementacja IP SLA
Przygotowanie, scenariusz
Info
Do realizacji tego zadania wymagany będzie dowolnie wybrany emulator np. Cisco Modeling Labs, GNS3, EVE-NG oraz dostęp do obrazów Cisco IOS.
Lab polega na implementacji IP SLA (Service Level Agreement) – czyli mechanizmu monitorowania sieci i reakcji na awarie wraz z integracją IP SLA z HSRP (redundancją bramy domyślnej).
Topologia
Adresacja
- R1 e0/0 - 172.16.12.1/24
- R1 e0/2 - 172.16.1.1/24
- R2 e0/0 - 172.16.12.2/24
- R2 e0/1 - 172.16.23.2/24
- R2 lop0 - 192.168.1.1/24
- R3 e0/0 - 172.16.3.1/24
- R3 e0/1 - 172.16.23.3/24
- S1 e0/2 - 172.16.1.2/24
- S1 vlan2 - 10.0.2.1/24
- S1 vlan3 - 10.0.3.1/24
- S2 e0/0 - 172.16.3.2/24
- S2 vlan2 - 10.0.2.2/24
- S2 vlan3 - 10.0.3.2/24
- S3 vlan2 - 10.0.2.3/24
Konfiguracja R1
Tryb konfiguracyjny i zmiana nazwy urządzenia.
inserthostname-here#configure terminal
inserthostname-here(config)#hostname R1
Adresujemy interfejsy.
R1(config)#interface ethernet 0/0
R1(config-if)#ip address 172.16.12.1 255.255.255.0
R1(config-if)#no shutdown
R1(config)#interface ethernet 0/2
R1(config-if)#ip address 172.16.1.1 255.255.255.0
R1(config-if)#no shutdown
Konfigurujemy routing OSPF.
R1(config)#router ospf 100
R1(config-router)#router-id 1.1.1.1
R1(config-router)#network 172.16.0.0 0.0.255.255 area 0
Konfiguracja R2
Tryb konfiguracyjny i zmiana nazwy urządzenia.
inserthostname-here#configure terminal
inserthostname-here(config)#hostname R2
Adresujemy interfejsy.
R2(config)#interface ethernet 0/0
R2(config-if)#ip address 172.16.12.2 255.255.255.0
R2(config-if)#no shutdown
R2(config)#interface ethernet 0/1
R2(config-if)#ip address 172.16.23.2 255.255.255.0
R2(config-if)#no shutdown
R2(config)#interface loopback 0
R2(config-if)#ip address 192.168.1.1 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#ip ospf network point-to-point
Konfigurujemy routing OSPF.
R2(config)#router ospf 100
R2(config-router)#router-id 2.2.2.2
R2(config-router)#network 172.16.0.0 0.0.255.255 area 0
R2(config-router)#network 192.168.1.0 0.0.0.255 area 0
Konfiguracja R3
Tryb konfiguracyjny i zmiana nazwy urządzenia.
inserthostname-here#configure terminal
inserthostname-here(config)#hostname R3
Adresujemy interfejsy.
R3(config)#interface ethernet 0/1
R3(config-if)#ip address 172.16.23.3 255.255.255.0
R3(config-if)#no shutdown
R3(config)#interface ethernet 0/0
R3(config-if)#ip address 172.16.3.1 255.255.255.0
R3(config-if)#no shutdown
Konfigurujemy routing OSPF.
R3(config)#router ospf 100
R3(config-router)#router-id 3.3.3.3
R3(config-router)#network 172.16.0.0 0.0.255.255 area 0
Konfiguracja S1
Tryb konfiguracyjny i zmiana nazwy urządzenia.
inserthostname-here#configure terminal
inserthostname-here(config)#hostname S1
Włączamy routing ponieważ jest to przełącznik warstwy 3.
S1(config)#ip routing
Agregujemy łącza tworząc EtherChannel na interfejsach skierowanych do przełączników.
S1(config)#interface range ethernet 1/0-3
S1(config-if-range)#switchport trunk encapsulation dot1q
S1(config-if-range)#switchport mode trunk
S1(config-if-range)#channel-group 12 mode active
S1(config)#interface range ethernet 0/0-1
S1(config-if-range)#switchport trunk encapsulation dot1q
S1(config-if-range)#switchport mode trunk
S1(config-if-range)#channel-group 1 mode active
Adresujemy interfejsy, tworzymy VLAN-y i poprawiamy STP.
S1(config)#interface ethernet 0/2
S1(config-if)#no switchport
S1(config-if)#ip address 172.16.1.2 255.255.255.0
S1(config-if)#no shutdown
S1(config)#vlan 2
S1(config)#vlan 3
S1(config)#spanning-tree vlan 2 root primary
S1(config)#spanning-tree vlan 3 root secondary
S1(config)#interface vlan 2
S1(config-if)#ip address 10.0.2.1 255.255.255.0
S1(config-if)#no shutdown
S1(config)#interface vlan 3
S1(config-if)#ip address 10.0.3.1 255.255.255.0
S1(config-if)#no shutdown
Czas na HSRP.
S1(config)#interface vlan 2
S1(config-if)#standby version 2
S1(config-if)#standby 2 ip 10.0.2.254
S1(config-if)#standby 2 priority 150
S1(config-if)#standby 2 preempt
S1(config)#interface vlan 3
S1(config-if)#standby version 2
S1(config-if)#standby 3 ip 10.0.3.254
S1(config-if)#standby 3 preempt
Konfigurujemy routing OSPF.
S1(config)#router ospf 100
S1(config-router)#router-id 1.1.1.2
S1(config-router)#network 172.16.1.0 0.0.0.255 area 0
S1(config-router)#network 10.0.0.0 0.0.255.255 area 0
S1(config-router)#passive-interface vlan 2
S1(config-router)#passive-interface vlan 3
Konfigurujemy serwer DHCP.
S1(config)#ip dhcp excluded-address 10.0.2.1 10.0.2.5
S1(config)#ip dhcp excluded-address 10.0.2.128 10.0.2.254
S1(config)#ip dhcp pool VLAN2
S1(dhcp-config)#network 10.0.2.0 255.255.255.0
S1(dhcp-config)#default-router 10.0.2.254
S1(config)#ip dhcp excluded-address 10.0.3.1 10.0.3.128
S1(config)#ip dhcp excluded-address 10.0.3.254
S1(config)#ip dhcp pool VLAN3
S1(dhcp-config)#network 10.0.3.0 255.255.255.0
S1(dhcp-config)#default-router 10.0.3.254
Konfiguracja S2
Analogicznie przystępujemy do konfiguracji przełącznika S2.
Tryb konfiguracyjny i zmiana nazwy urządzenia.
inserthostname-here#configure terminal
inserthostname-here(config)#hostname S2
S2(config)#ip routing
Agregujemy łącza tworząc EtherChannel na interfejsach skierowanych do przełączników.
S2(config)#interface range ethernet 1/0-3
S2(config-if-range)#switchport trunk encapsulation dot1q
S2(config-if-range)#switchport mode trunk
S2(config-if-range)#channel-group 12 mode active
S2(config)#interface range ethernet 0/2-3
S2(config-if-range)#switchport trunk encapsulation dot1q
S2(config-if-range)#switchport mode trunk
S2(config-if-range)#channel-group 2 mode active
Adresujemy interfejsy, tworzymy VLAN-y i poprawiamy STP.
S2(config)#interface ethernet 0/0
S2(config-if)#no switchport
S2(config-if)#ip address 172.16.3.2 255.255.255.0
S2(config-if)#no shutdown
S2(config)#vlan 2
S2(config)#vlan 3
S2(config)#spanning-tree vlan 2 root secondary
S2(config)#spanning-tree vlan 3 root primary
S2(config)#interface vlan 2
S2(config-if)#ip address 10.0.2.2 255.255.255.0
S2(config-if)#no shutdown
S2(config)#interface vlan 3
S2(config-if)#ip address 10.0.3.2 255.255.255.0
S2(config-if)#no shutdown
Czas na HSRP.
S2(config)#interface vlan 2
S2(config-if)#standby version 2
S2(config-if)#standby 2 ip 10.0.2.254
S2(config-if)#standby 2 preempt
S2(config)#interface vlan 3
S2(config-if)#standby version 2
S2(config-if)#standby 3 ip 10.0.3.254
S2(config-if)#standby 3 priority 150
S2(config-if)#standby 3 preempt
Konfigurujemy routing OSPF.
S2(config)#router ospf 100
S2(config-router)#router-id 3.3.3.2
S2(config-router)#network 10.0.0.0 0.0.255.255 area 0
S2(config-router)#passive-interface vlan 2
S2(config-router)#passive-interface vlan 3
Konfigurujemy serwer DHCP.
S2(config)#ip dhcp excluded-address 10.0.3.1 10.0.3.5
S2(config)#ip dhcp excluded-address 10.0.3.128 10.0.3.254
S2(config)#ip dhcp pool VLAN3
S2(dhcp-config)#network 10.0.3.0 255.255.255.0
S2(dhcp-config)#default-router 10.0.3.254
S2(config)#ip dhcp excluded-address 10.0.2.1 10.0.2.128
S2(config)#ip dhcp excluded-address 10.0.2.254
S2(config)#ip dhcp pool VLAN2
S2(dhcp-config)#network 10.0.2.0 255.255.255.0
S2(dhcp-config)#default-router 10.0.2.254
Konfiguracja S3
Tryb konfiguracyjny i zmiana nazwy urządzenia.
inserthostname-here#configure terminal
inserthostname-here(config)#hostname S3
Agregujemy łącza tworząc EtherChannel na interfejsach skierowanych do przełączników.
S3(config)#interface range ethernet 0/0-1
S3(config-if-range)#switchport trunk encapsulation dot1q
S3(config-if-range)#switchport mode trunk
S3(config-if-range)#channel-group 1 mode active
S3(config)#interface range ethernet 0/2-3
S3(config-if-range)#switchport trunk encapsulation dot1q
S3(config-if-range)#switchport mode trunk
S3(config-if-range)#channel-group 2 mode active
Ustawiamy port dostępowy dla komputera VPC.
S3(config)#interface ethernet 1/0
S3(config-if)#switchport mode access
S3(config-if)#switchport access vlan 2
S3(config-if)#spanning-tree portfast
Adresujemy interfejs VLAN2.
S3(config)#interface vlan 2
S3(config-if)#ip address 10.0.2.3 255.255.255.0
S3(config-if)#no shutdown
Wskazujemy bramę domyślną dla przełącznika.
S3(config)#ip default-gateway 10.0.2.254
Weryfikacja konfiguracji
Na przełączniku S3 poleceniem show etherchannel summary sprawdzam jak wygląda agragacja połączeń między przełącznikami.
Na routerze R2 weryfikuje sąsiadów w kontekście routingu OSPF poleceniem show ip ospf neighbor.
Na przełączniku S2 poleceniem show ip route zweryfikowałem poprawność tras routingu.
Na przełączniku S1 poleceniem show standby brief sprawdzam status HSRP.
Na koniec zostawiłem VPC na którym pobrałem adres IP z serwera DHCP i poleceniem ping przetestowałem połączenie z adresem 172.16.3.1.
Implementacja SLA - ping
Przełącznik S1 będzie automatycznie co 15 sekund sprawdzał, czy adres 192.168.1.1 jest osiągalny.
S1(config)#ip sla 1
S1(config-ip-sla)#icmp-echo 192.168.1.1
S1(config-ip-sla-echo)#frequency 15
Uruchamiamy naszą przygotowaną operacje.
S1(config)#ip sla schedule 1 life forever start-time now
Poleceniem show ip sla summary podglądam jak wygląda status SLA.
Dla testu wyłączyłem interfjes loopback 0 na routerze R2 i ponownie sprawdziłem status SLA. Efekty widać poniżej.
Implementacja SLA - HSRP
Kiedy IP SLA wykryje brak odpowiedzi (np. ping timeout), to po 45 sekundach priorytet HSRP na S1 spada o 60, co pozwala innemu urządzeniu automatycznie przejąć rolę aktywnej bramy domyślnej. Po 20 sekundach od przywrócenia dostępności sytuacja wraca do normy.
Zaczynamy od przełącznika S1.
S1(config)#track 10 ip sla 1
S1(config-track)#delay down 45 up 20
S1(config)#interface vlan 2
S1(config-if)#standby 2 track 10 decrement 60
S1(config)#interface vlan 3
S1(config-if)#standby 3 track 10 decrement 60
Analogicznie przechodzimy do S2.
S2(config)#track 10 ip sla 1
S2(config-track)#delay down 45 up 20
S2(config)#interface vlan 2
S2(config-if)#standby 2 track 10 decrement 60
S2(config)#interface vlan 3
S2(config-if)#standby 3 track 10 decrement 60
Podczas próby wylączenia interfejsu ethernet 0/0 przełącznik S1 zakomunikował nam o zmianach.
Success
Wszystkie przykłady są tylko formą zainteresowania danym zagadnieniem. Zachęcam do zapoznania się ze szczegółami zawartymi w dokumentacji autora lub producenta
🕞 Ostatnia aktualizacja 14.06.2025