Thursday, April 25, 2019

BGP peering with multiple ISPs and routing preference best practices questions.

Hello all.

We currently have BGP peering setup with an Internet provider and we are advertising a couple of networks we own. We recently procured a second Internet circuit and are working to setup peering with them for redundancy and I have some best practice questions about how to handle ISP preference and failover.

We are only getting a default route from both ISPs. My question is how should I setup peering and advertisement to always prefer ISP1 unless there is a BGP peering issue or routing issue further upstream?

It's my understanding that I would want to advertise my networks to both ISPs at the same time and use local preference to prefer the BGP peers for our default route, but what about the ISPs routing back to my advertised networks? How do I ensure that ISP1 will always be chosen unless that is not an option and then routing through ISP2? Would AS path prepend be best for that or specify certain meds with ISP2 which is part of the BGP form I'm being asked to complete (Level3/CenturyLink if it matters)?

I also plan to implement an SLA tracker for ISP1 to test Internet routing in case the BGP peers remain up, but there is a routing failure which could then fail over to ISP2.

Thank you.

Sample configs and diagram

RTR router bgp 65555 bgp log-neighbor-changes neighbor 2.2.2.2 remote-as YYYY #ISP2 neighbor 2.2.2.2 timers 15 45 neighbor 1.1.1.1 remote-as XXXX #ISP1 neighbor 1.1.1.1 timers 15 45 neighbor 1.1.1.2 remote-as XXXX #ISP1 neighbor 1.1.1.2 timers 15 45 ! address-family ipv4 network x.x.x.x #My network1 network y.y.y.y #My network2 neighbor 2.2.2.2 activate neighbor 1.1.1.1 activate neighbor 1.1.1.1 route-map SET-LOCAL-PREF-300 in neighbor 1.1.1.2 activate neighbor 1.1.1.2 route-map SET-LOCAL-PREF-200 in exit-address-family ! route-map SET-LOCAL-PREF-300 permit 10 set local-preference 300 ! route-map SET-LOCAL-PREF-200 permit 10 set local-preference 200 ! ISP1-BGP1 router bgp XXXX bgp log-neighbor-changes neighbor 1.1.1.3 remote-as 65555 neighbor 1.1.1.3 default-originate ISP1-BGP2 router bgp XXXX bgp log-neighbor-changes neighbor 1.1.1.3 remote-as 65555 neighbor 1.1.1.3 default-originate ISP2-BGP1 router bgp YYYY bgp log-neighbor-changes neighbor 2.2.2.1 remote-as 65555 neighbor 2.2.2.1 default-originate 


No comments:

Post a Comment