Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have 2 upstreams ISP A and ISP B. ISP A (10Mb/s) is our main upstream with good bandwidth. It sends us default route over bgp. ISP B (2Mb/s) is our backup upstream with a small bandwidth, but it sends us Full Routing Table. I am new to BGP so I'm looking for a way to make sure that most of the inbound and outbound traffic would use ISP A and fail-over to ISP B. What are the best ways to do it?

share|improve this question
This would be... ugly. Is there any way you can get them both sending the same set of routes (either default-only or full)? – Shane Madden Mar 5 '12 at 21:07
up vote 4 down vote accepted

There are many possible ways to do this with your BGP policy. While the nicest thing would be to beat ISP A over the head until they give you a proper route, we can still work with this.

Natively, anything that's meant for ISP B's network that matches your local interface will go there. Assuming you want anything that is one hop away from them, go ahead and add a rule that sets priority on anything from that interface which is within one hop. You might change that constraint to be 0 hops (only what matches the ISP's AS) or some other idea.

Set ISP A's traffic (the default route) to have a slightly higher metric. Set anything else from ISP B that we hadn't decide to give priority to earlier to have an even higher metric.

Spend some time looking at route maps to figure out what you think will best suit your circumstance.

When you're done with that, get back to yelling at ISP A for the issues that can crop of from your local link remaining online while they possibly lose some paths.

share|improve this answer

There is no particularly good way to do this. One ugly way is to drop long AS paths from the full table. That way, you will only get "short" AS paths, and most of your traffic will take the default route.

Take care to think about your inbound traffic too!

share|improve this answer

Thanks for advice. The solution I came up with is as follows:

  1. I allow to recieve default route from ISP A and full feed from ISP B.
  2. I prepend my own AS to as-path serveral times and advertise it to ISP B ( That makes sure that most of the hosts on the internet see ISP A path more prefered since it contains less hops to my AS)
  3. I'm going to ask ISP A to send me the routes of his neighboring AS, so I would have shorter routes to them.

This way all my outgoing traffic is departing ISP B (since it sends me more specific routes) and all my incoming traffic comes in from ISP A (it shows up as a better route on the internet). If one of the ISPs goes down, the internet will still be available through another ISP.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.