ā05-21-2015 09:13 PM - edited ā03-05-2019 01:31 AM
Hi,
I have several remote sites and two main Datacenters. Each main DC is connected via a METRO-E Wan, Datacenter A routes traffic for 10.1.0.0/16. Until now, DC A was the only DC that has a link into our provider MPLS Cloud, all remote sites connect to DC A, then traverse to DC B over the WAN link. Datacenter B routes traffic for 10.2.0.0/16. We just brought in an MPLS drop from the same Cloud provider so that we can announce routes from each datacenter and limit the WAN traffic between datacenters.
My issue is I want to add a layer of redundancy into the MPLS Cloud. I want DC A (10.1.0.0/16) to keep advertising its subnet, but I also want it to advertise DC B (10.2.0.0/16) into the cloud from the same edge router. Also, I want Datacenter B (10.2.0.0/16) to advertise its primary subnet and then also path prepend Datacenter Aās subnet.
Internally and across the WAN, we run EIRGP and our IGP. Right now each edge router in each Datacenter knows the other DCās subnet for example DC A Edge has a route to DC B in its routing table and DC B knows about DC A. Based on this each router should be able to advertise these routes into BDP because thereās a valid route in each EDGE routers routing table. Iāve also configured the āDistance command on each edge routers BGP config and set the distance from the other DCās bgp session to 200 and tied it together with a ACL. This way the EIGRP session will be preferred instead of over the MPLS for the internal subnets.
No matter what I try I cannot get DC A to PATH_PREPEND DC Bās subnet and I cannto get DC B to PATH PREPEND DC A subnet into the MPLS cloud. I want this for redundancy with my remote sites (about 20 remote). Iāve configured a IP Prefix list to math each DCās Subnet. Iāve then tied it together with a route-map on each router, then set the path prepend our 3 xās per each DCās BGP Session.
DC A ā CONFIG:
router bgp 65103
no synchronization
bgp log-neighbor-changes
network 0.0.0.0
network 10.1.0.0 mask 255.255.0.0
redistribute eigrp 100 route-map EIGRP_TO_BGP
neighbor 10.254.1.10 remote-as 13979
neighbor 10.254.1.10 ebgp-multihop 255
neighbor 10.254.1.10 weight 33000
neighbor 10.254.1.10 prefix-list PL_PERMIT_ROUTES_IN in
neighbor 10.254.1.10 route-map DCA_PREPEND_DCB_OUT out
distance 200 10.254.1.10 0.0.0.0 10
router bgp 65103
no synchronization
bgp log-neighbor-changes
network 0.0.0.0
network 10.1.0.0 mask 255.255.0.0
redistribute eigrp 100 route-map EIGRP_TO_BGP
neighbor 10.254.1.10 remote-as 13979
neighbor 10.254.1.10 ebgp-multihop 255
neighbor 10.254.1.10 weight 33000
neighbor 10.254.1.10 prefix-list PL_PERMIT_ROUTES_IN in
neighbor 10.254.1.10 route-map DCA_PREPEND_DCB_OUT out
distance 200 10.254.1.10 0.0.0.0 10
ip prefix-list PL_PATH_PREPEND description set as path prepend
ip prefix-list PL_PATH_PREPEND seq 5 permit 10.2.0.0/16 le 32
route-map DCA_PREPEND_DCB_OUT permit 10
match ip address prefix-list PL_PATH_PREPEND
set as-path prepend 65103 65103 65103
!
route-map DCA_PREPEND_DCB_OUT permit 20
---------------------------------------------------------------------------
DC B ā CONFIG:
router bgp 65115
bgp log-neighbor-changes
network 10.2.0.0 mask 255.255.0.0
redistribute eigrp 100 route-map EIGRP_TO_BGP
neighbor 10.254.1.53 remote-as 13979
neighbor 10.254.1.53 ebgp-multihop 2
neighbor 10.254.1.53 weight 33000
neighbor 10.254.1.53 route-map DCB_PREPEND_DCA_OUT out
distance 200 10.254.1.53 0.0.0.0 10
!
ip prefix-list PL_PATH_PREPEND description set as path prepend
ip prefix-list PL_PATH_PREPEND seq 5 permit 10.1.0.0/16
route-map DCB_PREPEND_DCA_OUT permit 10
match ip address prefix-list PL_PATH_PREPEND
set as-path prepend 65115 65115 65115
!
route-map DCB_PREPEND_DCA_OUT permit 20
I also have a route-Mao the redistributes the local subnets into BGP - each route-map permits the local traffic into BGP from EIGRP. I have also done an inbound and outbound soft clear on each router.
Any help is appreciated ā itās starting to drive me batty
Thanks,
Mike
ā05-22-2015 03:59 AM
Mike
It's a little unclear as to what routes you are redistributing into BGP from EIGRP.
If you are advertising the 10.1.0.0/16 from DC1 then why are you also advertising the more specific subnets with redistribution (assuming it is the more specific subnets).
If you are only redistributing the local subnets from EIGRP ie. local meaning the same DC then you would need to -
1) add a "network ..." statement for the other DCs 10.x.0.0/16 subnet
and
2) there would need to be a matching routing in the IP routing table
or are you saying the other DCs subnet is an EIGRP route ?
Sorry but like I say it's not clear why you are using network statements under BGP and also redistributing EIGRP.
Edit - are you actually advertising the other DCs subnet out ie. what does a "sh ip bgp neighbors x.x.x.x advertised-routes" show ?
Jon
ā05-22-2015 11:45 AM
Hi Jon,
Sorry if my ordinal post was unclear.
DC A and DC B are connected via WAN. They are both in the same EIRGP AS (100).
Under the BGP process, for DC A, I do have a summary address of 10.1.0.0/16. For DC B, under the BGP process I have the summary network statement of 10.2.0.0/16.
ON the Edge router in each DC I do have a summary route to Null 0. Example DC A- ip route 10.1.0.0 255.255.0.0 Null 0 ā same for DC B and itās summary.
Right now I do advertise other routed into the cloud, example in DC A I advertise on of the DMZ subnets which is 172.31.9.0. There is a route in the edge routers table learned via EIGRP for that subnet. I route-map all traffic from EIGRP to BGP and I ties that together with an ACL. I plan on doing this for both sites to eventual traffic destined for DC B will chose the best path to DC B and not via DC A and then across the WAN.
The goal here for me, is to advertise out of DC A- the 10.1.0.0/16 subnet. Then via route-map advertise DC-Bās 10.2.0.0/16 subnet but AS-PATH prepend that subnet for failover. I will also mirror this in the other DC (DC B) for the 10.1.0.0/16 subnet. Optionally I would like to advertise all relevant DC A subnets out of DC B with the same PREPEND ACL and then mirror that setup in DC B for DC Aās subnet. Iām really just trying to establish redundancy to each DC from the remote sites. Whatās killing me now, is that each edge router in each DC, does have a valid installed route for all subnets in each DC ā learned via EIGRP. Since BGP requires that before it will advertise a route, I should be good to go. But itās not working for me right now and driving me crazy.
So to summarize ā Iām advertise DCās Summary /16 route under the BGP process. Iām redistributing the EIGRP routes that are local to each DC into BGP. Iām then trying to path prepend the other DCās subnets out the other DCās BGP sessions for redundancy.
Make sense?
Thanks,
Mike
ā05-25-2015 06:11 AM
Mike
Apologies for the delay in getting back.
ON the Edge router in each DC I do have a summary route to Null 0. Example DC A- ip route 10.1.0.0 255.255.0.0 Null 0 ā same for DC B and itās summary.
Can you just clarify the above ie. does each DC router have both summary routes ?
Jon
ā05-25-2015 08:39 AM
Each DC has its own summary - not both summaries to null 0. DC A has a route to null 0 for its local and the same with DC B. Each DC has does however have a summary route for the other DC in its routing table which it learned from EIGRP. So based on the rules of BGP it should be able to be advertised.
ā05-25-2015 10:50 AM
Okay, and have you allowed the summary route in your EIGRP to BGP redistribution ?
Jon
ā05-26-2015 01:34 AM
Yes - I have redistributed the routes and tied that to a route map for control
Mike
ā05-26-2015 05:39 AM
Mike
Can you post from DCA and DCB -
1) "sh ip bgp neighbor x.x.x.x advertised-routes"
2) a "sh ip route <summary route> 255.255.0.0"
3) the route map for EIGRP to BGP redistribution
Jon
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