Passa ai contenuti principali

Esempio di IP SLA + ICMP probe + TRACK su Cisco


Documento datato: 19 Novembre 2020

Autore: Gianrico Fichera



  Quando progettiamo una rete ad alta affidabilità alcuni utili protocolli sono di tipo First Hop Redundancy Protocol (FHRP) che in ambiente Cisco sono principalmente HSRP o VRRP o GLBP.  Con questi protocolli applicati lato LAN side si può monitorare tramite tracking lo stato delle interfacce WAN side. Ovvero se il protocollo in una interfaccia lato WAN va DOWN è possibile automaticamente mandare il traffico in una differente interfaccia. Tuttavia lato WAN una interfaccia può benissimo essere nello stato di UP ma con circuito non funzionante. Questo avviene nel caso di fault esterni alla rete locale, appunto WAN side, e i protocolli FHRP non sono utili. Esiste allora la funzionalità di EOT.


  EOT ovvero Enhanced Object Tracking consiste nella possibilità di usare il tracking (comando track) al di fuori dei protocolli FHRP, come si vedrà in questo esempio. 


  Quindi il tracking mechanism diventa un processo standalone e non legato esclusivamente a protocolli come HSRP.


   In questo esempio utilizzeremo  la funzionalità di tracking insieme ad un Service Level Agreement (IP SLA) che restituirà un codice di esito al processo di tracking.


   Queste nuove feature sono state rese disponibili nelle ultime release di IOS 12.4. Nelle versioni di IOS e IOS-XR 15 sono state ampliate e rese più stabili. Per il dettaglio della release esatta da usare si rimanda al sito della Cisco.


Esempio: ICMP PROBE con IP SLA


Topologia: Abbiamo un percorso multiplo tra un Cisco ASR1000 e un Cisco switch L3 remoto. I due percorsi sono di tipo WAN L2, uno primario e uno di uso backup. Il percorso di backup è diretto ma il primario attraversa un device L3 connesso back-to-back con ASR1000. La topologia è tale che tutte le interfacce di ASR1000 possono restare con protocollo UP anche in presenza di una interruzione del circuito WAN.


Principio di funzionamento: Il link primario è monitorato ogni 15 secondi. In caso di failure dell'ICMP il processo IP SLA segnala al processo tracking il problema. Se si falliscono tre controlli quindi se si ha interruzione per una durata di 45 secondi il comando track al 47 secondo permette lo switch. Quando si ha un OK dal processo IP SLA per tre volte consecutive si tornerà sul primario.


Configurazione lato ASR1000 IOS-XR 15.1:


Il collegamento primario è  tramite questa interfaccia:


interface GigabitEthernet0/0/1
  description --- TO REMOTE SITE---
  ip address 192.168.69.6 255.255.255.252
end

Il collegamento secondario è  tramite questa interfaccia:

interface GigabitEthernet0/0/2

 description --- TO REMOTE BACKUP LINK ---

 ip address 192.168.28.1 255.255.255.240

end


collegato lato WAN tramite switch intermedio di transito L3 che impedisce un protocollo DOWN della ETH di ASR1000 anche in assenza di collegamento remoto. Quindi il transito dati può essere assente senza che le interfacce coinvolte lo siano. Ecco il cuore della configurazione:



track 50 ip sla 20 reachability
 delay down 47 up 47
!
ip sla 20
 icmp-echo 192.168.69.1 source-ip 192.168.69.6
 frequency 15             
ip sla schedule 20 life forever start-time now 
!


Le route statiche sono due.


ip route 0.0.0.0 0.0.0.0 192.168.69.5 track 50

ip route 0.0.0.0 0.0.0.0 192.168.28.2 200


Se il track fallisce la route con track 50 si esclude e quindi il sistema utilizza quella con maggior peso:


ip route 0.0.0.0 0.0.0.0 192.168.28.2 200


   Infine per evitare di ricevere una risposta errata dal tracking ICMP mentre siamo sul backup ne forziamo il percorso sul collegamento primario con la keyword "permanent":


ip route 192.168.69.0 255.255.255.252 192.168.69.5 permanent


Comandi utili in ASR1000:


ASR1000#show ip sla statistics

IPSLAs Latest Operation Statistics

IPSLA operation id: 20

        Latest RTT: 21 milliseconds

Latest operation start time: 11:16:20 UTC Thu Nov 19 2020

Latest operation return code: OK

Number of successes: 2

Number of failures: 0

Operation time to live: Forever


ASR1000(config-track)#delay down ?

  <0-180>  Seconds to delay


ASR1000(config-track)#delay down 47 up ?

  <0-180>  Seconds to delay


ASR1000#show track

Track 50

  IP SLA 20 reachability

  Reachability is Up

    1 change, last change 02:56:09

  Delay up 47 secs, down 47 secs

  Latest operation return code: OK

  Latest RTT (millisecs) 22

  Tracked by:

    STATIC-IP-ROUTING 0    <--- appare dopo aver messo la statica 


ASR1000#show ip route track-table

 ip route 0.0.0.0 0.0.0.0 192.168.69.5 track 50 state is [up]


Configurazione lato remoto:


   Nel lato remoto del collegamento ci aspettiamo una configurazione simmetrica rispetto ad ASR1000. Questo è vero nella forma tuttavia la piattaforma ha IOS e non IOS-XE quindi possono esserci piccole differenze. In questo caso l'hardware è:


Cisco WS-C3560G  15.0(1)  C3560-IPSERVICESK9-M


e i comandi sono:


ip sla 20

  icmp-echo 192.168.69.6 source-ip 192.168.69.1

  frequency 15   

ip sla schedule 20 life forever start-time now 


track 50 ip sla 20 reachability

 delay down 47 up 47 


ip route <REMOTEIPNETWORK> 192.168.69.2 track 50

ip route <REMOTEIPNETWORK> 192.168.69.2 200

ip route 192.168.69.4 255.255.255.252 192.168.69.2 permanent


Comandi utili in 3560:


Switch_A#show track

Track 50

  IP SLA 20 reachability

  Reachability is Up

    178 changes, last change 4d04h

  Delay up 47 secs, down 47 secs

  Latest operation return code: OK

  Latest RTT (millisecs) 16

  Tracked by:

    STATIC-IP-ROUTINGTrack-list 0

Switch_A#                    


Switch_A#show ip sla statistics

IPSLAs Latest Operation Statistics

IPSLA operation id: 20

        Latest RTT: 17 milliseconds

Latest operation start time: 11:55:36 CET Thu Nov 19 2020

Latest operation return code: OK

Number of successes: 230

Number of failures: 0

Operation time to live: Forever


Switch_A#show ip route track-table

 ip route <REMOTEIPNETWORK> 192.168.69.2 track 50 state is [up]




Copyright and General Advice Disclaimer. Tutti i marchi riportati appartengono ai legittimi proprietari; questo documento non e’ sponsorizzato o sottoscritto dalle società eventualmente citate. L’autore di questo documento non si assume nessuna responsabilità e non da nessuna garanzia riguardante l’accuratezza o la completezza delle informazioni presenti nonché da conseguenze sull’uso delle informazioni presenti. Copyright 2021 Gianrico Fichera. Nessuna parte di questa pubblicazione puo' essere riprodotta o trasmessa, in qualsiasi forma o con qualsiasi mezzo, elettronico, meccanico, fotocopie, registrazione, senza il consenso dell’autore se al di fuori della disciplina del fair-use nel qual caso puo' essere utilizzata liberamente citando l'autore senza richiedere autorizzazione. Ogni segnalazione di inesattezza e' la benvenuta e puo' essere comunicata per iscritto all'email gianrico at gianrico.com 


This material is not sponsored by, endorsed by, or affiliated with anyone. All trademarks are trademarks of their respective owners. I tried to ensure the accuracy and completeness of the contents of this document, but I cannot offer any undertaking or guarantee, either expressly or implicitly regarding how correct, complete or up to date the contents of this document are. I reserve the right to supplement this document at any time or to change or delete any information contained or views expressed.






Commenti

Post popolari in questo blog