Hello everyone. Looking for a little help with some BGP. Router A is connected to AT&T, Router B is connected to Cogent. I have a single /24 block. Right now roughtly the majority of the west coast has decided it wants to use my Cogent link as the primary connection. The majority of the east coast has decided to use my AT&T link. What I'd like to do is advertise my /24 to AT&T under most normal circumastances. When I lose that BGP peer, or can not advertise out my AT&T link for whatever reason, have my Cogent link take over and advertise out from there. I picked up on this old thread from 2007 (https://supportforums.cisco.com/thread/195217) which seems to be close but I feel like I'm missing something.
It sounds like as of right now, you are advertising your /24 block out to both AT&T and Cogent? If that is the case, if there is an issue and the peer relationship goes down, between you and AT&T, then these routes should be deleted, and the routes via Cognent should take over.
So with your OP, you just want to advertise your /24 out of AT&T and then if that has issues the other ISP takes over so to speak?
On the first part, correct. But what I'm finding through poking around is that since my route is being advertised to AT&T and Cogent there are places that are prefering the Cogent route. So in some situations we're finding that we are routing assymetrically, but not in all circumstances.
Ideally, back to the original question, I want to advertise the /24 to AT&T and in the event of a failure with AT&T announce the route to Cogent. Right now I'm just using HSRP to share my default route internally, which controls where my internal traffic flows, but external connectivity in is just picking the route that is being handed to them. Sometimes AT&T, sometimes Cogent.
I looked at that forum and have the following pasted.
Under normal conditions, I want to have prefix A advertised to ISP A only and prefix B advertised to ISP B only.
If router A or ISP A should fail, I want router B to advertise prefix A to ISP B (and vice versa).
The way you are setup right now, you are advertising one PI Block (/24) to both if your eBGP peers (ISPs). In the scenaro listed in the thread, they are advertising block A to ISP A and block B to ISP B? Are you talking about changing your current setup to mirror this? Because as of right now you have a single /24 prefix advertised to both ISPs?
I understand what you're aiming at, but he thread is a little different scenario.
The thread I referenced was something that I found that was close to what I was trying to do, but not exactly. Mostly because the OP of that thread has 2 different /24's. I have just the one.
My current setup advertises my single /24 to both of my ISPs at all times. So I want to only advertise the /24 to Cogent if my AT&T link isn't able to accept it. My end goal is to prevent assymetrical routing issues. Users arriving on the internet pipe I'm not looking for them to arrive on, unless the primary has failed.
I believe this will provide what you are looking for.
This is just an example, but it might do the trick, I would test it out first obviouslly through GNS3 or something.
ip as-path access-list ^AT&T_AS$
access-list 2 permit
router bgp ASN
route-map ADVERTISE permit 10
match ip address 2
route-map NON-EXIST permit 10
match as-path 1
I'm thinking if it doesn't see any routes with the AT&T AS, which would happen if a failure occured, then it would advertise the other range to cognent?
I'll be trying to sim it out in GNS this afternoon. Fortunately, I don't have to worry about advertising another range to Cogent. I just have the one range so if AT&T fails, my end goal is to have the advertising start happening to Cogent for the same /24 block of IPs. I'll let you know what my testing yields.
This is what I'm running into. Most examples are talking about multihomed from a single router. I have two internal routers. One for AT&T, one for Cogent. If I'm monitoring the AT&T route from the Cogent router (or vica-versa) the route never technically dissapears. The AT&T router may lose it's peer but since it still has a leg, it's still advertising the route to the Cogent router. If I shut off the interface that connects to AT&T it obviously the route drops and Cogent takes over, without a hitch. But in a real life BGP failure I don't lose the local interface, I just lose my peer.
Right now roughtly the majority of the west coast has decided it wants to use my Cogent link as the primary connection. The majority of the east coast has decided to use my AT&T link. What I'd like to do is advertise my /24 to AT&T under most normal circumastances. When I lose that BGP peer, or can not advertise out my AT&T link for whatever reason, have my Cogent link take over and advertise out from there
Well, as you're currently setup, you are load balancing links, as well as performing redundancy. From my understanding, you want most if not all traffic going to your AS through AT&T and then if AT&T fails to Cogent.
But what I'm finding through poking around is that since my route is being advertised to AT&T and Cogent there are places that are prefering the Cogent route. So in some situations we're finding that we are routing assymetrically, but not in all circumstances
Assymetric issues seems to be one of your primary issues from what I understand as well.
You could look as the AS_PATH attributes are several west coast route servers, and use AS_PREPEND so that the AT&T link is considered best. You would have to look at several of the west coast route servers, to see what the AS_PATHs look like, and then configure AS_Path Prepend accodingly.
This would allow most if not all traffic to go to the AT&T, and then if AT&T went down, and your route through AT&T was removed from the Internet routing table (so to speak), your other route would take over going through cogent.
That may end up being my best route. I'm struggling with the conditional routes. Maybe I can just convince the elders of the internet to route my traffic how I prefer.