07-14-2004 08:11 AM - edited 03-02-2019 05:04 PM
I have a question reguarding BGP aggregate routes and more specific routes. Currently we have 2 WAN links w/ large carriers running eBGP, we advertise our /19 aggregate, example 192.168.0.0/19.
A customer of ours, who's range is say 192.168.16.0/24 will be using our numbers and advertising said route to other eBGP peers.
My question is - if the link between us and our customer at 16.0/24 goes down we need to advertise that 16.0/24 as invalid while still advertising our /19. The customer w/ the 16.0/24 should still be connected via their other eBGP links.
How would I do this? Currently my BGP setup is like so. Now if the 16.0/24 peering session goes down traffic will still flow because it will be lumped into our /19.
router bgp 1
no synchronization
bgp log-neighbor-changes
network 192.168.0.0 mask 255.255.224.0
neighbor 1.2.3.4 remote-as 1234
neighbor 1.2.3.4 description WAN Link 1
neighbor 1.2.3.4 send-community
neighbor 5.6.7.8 remote-as 5678
neighbor 5.6.7.8 description WAN Link 2
neighbor 5.6.7.8 send-community
neighbor 192.168.16.254 remote-as 2
neighbor 192.168.16.254 description downstream customer
neighbor 192.168.16.254 send-community
!
ip route 192.168.0.0 255.255.224.0 Null0
07-14-2004 08:33 AM
I would have to say that a conditional advertisement is your best bet.
R5(config)#router bgp 1
R5(config-router)#neighbor 1.2.3.4 remote-as 1234
R5(config-router)#neighbor 1.2.3.4 advertise-map MAP1 non-exist-map MAP2
R5(config-router)#neighbor 5.6.7.8 remote-as 5678
R5(config-router)#neighbor 5.6.7.8 advertise-map MAP1 non-exist-map MAP2
R5(config)#route-map MAP1 permit 10
R5(config-route-map)#match ip address 1
R5(config)#route-map MAP2 permit 10
R5(config-route-map)#match ip address 2
R5(config)#access-list 1 permit 192.168.0.0 0.0.15.255
R5(config)#access-list 1 permit 192.168.17.0 0.0.0.255
R5(config)#access-list 1 permit 192.168.18.0 0.0.1.255
R5(config)#access-list 1 permit 192.168.20.0 0.0.3.255
R5(config)#access-list 1 permit 192.168.24.0 0.0.7.255
R5(config)#access-list 2 permit 192.168.16.0 0.0.0.255
07-14-2004 12:35 PM
Maybe I'm missing something in your problem statement, but I don't see any problem!
Remember that longer prefixes always win, regardless of other metrics. So if you have set this up correctly, so that you only advertise 192.168.16/24 when you have a route to it, there should be no problems! If you lose your normal route to your customer's /24, you will learn it from your upstream provider. Out on the Internet, any IPs within the /24 will all go to your customer (normally through you, but only if you are the best route) while anything else in your /19 comes to you.
Where your customer could get into trouble is if you lose your upstream connection and their /24 is too long a prefix to get past other ISPs' prefix length filters. Without your /19 out on the Internet to get the packets started, they could be disconnected despite their alternate connections.
Good luck and have fun!
Vincent C Jones
07-14-2004 12:36 PM
Smif - thanks for the reply.. Since the downstream customer, using our numbers, will be multihomed to other eBGP speakers I came to the conclusion that while the above solution will work - it can be done in an easier way.
Just advertise our aggregate and the /24 to our upstream eBGP peers - when the /24 goes down - which is learned via eBGP the /24 will be advirtised to via the customers other 2 eBGP links. Traffic will take the smaller /24 via other links instead of our /19.
Didn't seen the forest for the trees. I will thank you for the alternative.. Hadn't yet seen a implementation of avertise-maps.
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