IP SLA, Track Lists and Route Tracking

IP SLA is a powerful tool, which I will only scratch the surface of in this post in regards to route tracking. I had a scenario where the primary default route should be removed if the internet was no longer accessible through the primary interface. This can be achieved with weighted static routing, but the primary default route will only be removed if the primary interface is physically down. The more likely scenario exists where the primary interface is physically connected and up, but the ISP is having routing/peering issues and takes down your connection to the outside world. IP SLA can be used to simply ping an IP address, and if the ping is unsuccessful, the route is removed.

Here is a simple IP SLA configuration to ping 4.2.2.2 every 5 seconds:

ip sla 1
icmp-echo 4.2.2.2 source-ip 1.1.1.2
frequency 5
ip sla schedule 1 life forever start-time now

To track this IP SLA operation, we use the following command:

track 1 rtr 1 reachability
delay down 15 up 15

On newer versions of IOS, “rtr” will be replaced with “ip sla”.  I added the “delay down 15 up 15” statement so that the track doesn’t report as “down” until ip sla has failed 3 times in a row.  This is because I don’t want one ping to fail and have the route switched immediately.  Conversely, on fail-back, I don’t just one ping to be successful before failing back to the primary route.  This prevents route-flapping when interfaces/service is flapping.

I would consider it best practice to statically route to whatever IP address you are pinging for your IP SLA operation.  Since I am pinging 4.2.2.2, and my gateway IP is 1.1.1.1 (theoretically), I add:

ip route 4.2.2.2 255.255.255.255 1.1.1.1

And finally, to add the track to my default route, I would use:

ip route 0.0.0.0 0.0.0.0 1.1.1.1 track 1

****BONUS****

If you don’t trust pinging a single IP address, you can setup multiple IP SLA operations (IP SLA 2, IP SLA 3)  and multiple tracks (Track 2, Track 3) and track all of them in a Track List.  Example:

track 100 list threshold percentage
object 1
object 2
object 3
object 4
threshold percentage up 25

ip route 0.0.0.0 0.0.0.0 1.1.1.1 track 100

Each of the objects is a seperate IP SLA operation/track, and as long as =>25% of the objects are up, the list will be considered up.  This is good idea to implement in case one of your ping destination happens to go down or stops responding to pings.

Advertisements

2 comments


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s