We have two data centers, and 20 remote sites in MPLS clould via BGP. Currently the router in primary data center injects a default route into all remote MPLS routers via default originate under its BGP process (i.e- neighbor x.x.x.x default-originate). Here is what I like to implement.
1) If the MPLS router in the primary data center is down, I want to have the default route to the MPLS router at secondary data center? My issue is if both MPLS routers in both data centers would advertise their default routes to the MPLS cloud if they both are configure as default-originate. Any thought?
2) If we want to 10 remote sites to advertise the default route to Primary data center, and the other 10 sites to secondary data center, how we set this up?
Any help would be greatly appreciated.
Thanks and Regards,
1. Path prepend the routes coming out of the secondary site so it is less attractive.
router bgp <ASN>
neighbor a.b.c.d route-map prepend-out out
route-map prepend-out permit 10
set as-path prepend 38605 38605 38605 38605
2. At the remote sites, use local preference or weight.
Thank you so much Philip!
1) For the first issue, we still need to have the "default-originate" on the secondary site, am I correct?
2) The BGP configuration of each site is" neighbor x.x.x.x remote-as 38605"- 38605 is ISP ANS. The neighbor is not pointed to the router in primary data center or secondary data center. Can you please elaborate how you configure with local preference or weight?
1. Only if there is not a BGP default route already in the table. but hey, if it doesn't work then add it. :-)
2. Need more info to complete answering the question, because as always with BGP, there are multiple options.
Does each DC have the same or different AS numbers? Does each DC have the single layer 3 subnet(s) [aka - a stretched lan] or different layer 3 subets?
Basically we need a way to tell the routes from one DC apart from the other, and then apply a BGP policy based on that.
I haven't tested this, but it will be pretty close. Lets say you have ASN1 and ASN2.
On the remote sites, to make them prefer one DC over another you can do something like (just change the weight to alter your preference):
router bgp xxx
neighbor a.b.c.d route-map FIX-WEIGHT in
ip as-path access-list 200 permit ^ASN1_
ip as-path access-list 300 permit ^ASN2_
route-map FIX-WEIGHT permit 10
match as-path 200
set weight 200
route-map FIX-WEIGHT permit 20
match as-path 300
set weight 200
route-map FIX-WEIGHT permit 30