Troubleshooting HSRP

Q: I have two HSRP-enabled routers in Chicago and two HSRP-enabled routers in the neighboring suburb of Wood Dale connected by point-to-point T1 links. My problem is when the active line goes down, the standby does not automatically take over the role of active router. I have to manually change the priority on the standby routers in Chicago and Wood Dale for traffic to flow.

Here are my router configuration files in attachments…

Answer:

Well, without giving too much of your configuration information away to the rest of the world, I think that your problem lies in the idea that your physical interface (which you’re tracking) is still considered “up,” even though you may lose routing or functional connectivity along the way.Debugs may help look at the specific information there, but we can look at different ways of tracking between them to perhaps give more accurate listings. Your configuration, as far as managing the priority levels and looking at your use of “standby preempt,” looks very good.

Boiling that idea down, there aren’t too many reasons for HSRP to not work properly. So take a look at a route learned over that serial interface that you’re using. Any route (non-static) is fine, but what’s most important is one that you’ve seen disappear when you’re having problems and need to manually change priorities.

If you don’t know which route to use, you can always try to look at “debug IP routing” and see what changes when there’s a problem. Like most debugs, we try to be very careful when using them on live production equipment. Hopefully, though, your routing table shouldn’t be changing that much on a consistent or ongoing basis, so it should be OK.

As a side note, if you do see lots of changes in your routing table, your IGP may be the issue and not necessarily the link between sites. At least it’ll target your troubleshooting!

Back to tracking. Ever since 12.2T IOS, we’ve added the ability to track other things like IP routes, IP route metrics and interface line protocol functionality. In later releases, we’ve added things like SLA monitoring or latency issues. We went into some detail on this in a Q&A article a little while ago.

Once you pick a learned route — let’s say 10.10.10.0/24 — we can track on it for either of your routers performing HSRP. These will be global commands to set things up:

Track 1 ip route 10.10.10.0/24 reachability

Then change how your HSRP configuration is set on your interfaces:

Int fa0/0
No standby track Serial0/0
Standby track 1

If you’re using only static routes, you may consider looking at interface line protocol instead of the full interface (which requires down/down to trigger the failover). Just change our tracking object globally:

Track 1 interface serial0/0 line-protocol

Or

Track 1 interface serial0/0 ip routing

Try these and see if your HSRP starts behaving the way you want it to work. If you continue to have problems, look at the output from “debug standby events” and see if any information there is helpful to you.

Hope that helps :)Scott

Press our buttons!
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Furl
  • Live
  • Reddit
  • StumbleUpon
  • Technorati
  • TwitThis
Related posts: