08-12-2019 06:01 AM - edited 08-12-2019 06:32 AM
I have an ISR 1000 series router (IOS XE 16.9) connected to 2 PPPoE lines to 2 ISPs. Dialer0 is slower but more steady, Dialer1 is faster but fails every few days (BRAS will fail to authenticate for some minutes). I want to build a failover mechanism so if Dialer1 is working then everything goes to Dialer1, and when Dialer1 is down everything should go to Dialer0. The question is, when Dialer1 fails, the interface is still up without IP, so the routes to it will not be disabled. How to correctly do failover in this situation?
Here's what I've tried but failed:
1. Two routes with different metric
ip route 0.0.0.0 0.0.0.0 Dialer1 10 ip route 0.0.0.0 0.0.0.0 Dialer0 20
As stated above, Dialer1 will not go down but in a status of up and no IP assigned so the upper route will still in effect, dropping all the traffic.
2. ip sla
ip route 0.0.0.0 0.0.0.0 Dialer1 10 track 1 ip route 0.0.0.0 0.0.0.0 Dialer0 20 ip sla 1 icmp-echo 8.8.8.8 source-interface Dialer1 threshold 1000 timeout 1000 frequency 3 ip sla schedule 1 life forever start-time now ip sla enable reaction-alerts
track 1 ip sla 1 reachability
Although I have set source-interface Dialer1, it seems still going out from the default route, thus creating an oscillate situation (every second the route switches between Dialer0 and Dialer1).
Solved! Go to Solution.
08-12-2019 07:59 AM - edited 08-13-2019 08:50 AM
I found the way to do this correctly. There is a function in track which can see if there is an IP on the interface and set track status accordingly.
Full config:
track 1 interface Dialer1 ip routing ip route 0.0.0.0 0.0.0.0 Dialer1 10 track 1 ip route 0.0.0.0 0.0.0.0 Dialer0 20
08-12-2019 07:23 AM - edited 08-12-2019 07:24 AM
Hello
Your ipsla config is pointing to a internet address which may be still be seen as accessible by your router so your sla wont initiate and failover correctly, try and monitor an ip address that is closer to the dialer 1 interface.
Another alternative is implement dailer-watch setup but as your using static routes no so sure it would work accordingly
08-12-2019 08:01 AM
08-12-2019 07:59 AM - edited 08-13-2019 08:50 AM
I found the way to do this correctly. There is a function in track which can see if there is an IP on the interface and set track status accordingly.
Full config:
track 1 interface Dialer1 ip routing ip route 0.0.0.0 0.0.0.0 Dialer1 10 track 1 ip route 0.0.0.0 0.0.0.0 Dialer0 20
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide