I have two ISP connections that I'd like to configure failover and loadbalancing between. Here is what I'm hoping to accomplish:
I have six IP address blocks.
I would like all 6 blocks to be advertised via both ISP's for failover purposes. I would like for the first 3 /24 blocks to ingress via ISP A and the last 3 /24 blocks to ingress via ISP B. Should either ISP A fail, however the first 3 /24 blocks will failover and ingress via ISP A.
AS Prepending would be my prefered method. For my advertisements to ISP A prepend 3 AS paths to the last 3 /24 blocks and for my advertisements to ISP B prepend 3 AS paths to the first 3 /24 blocks. Unless of course there is a better best practice to accomplish this.
Look into if your ISP supports communities. By adding communities you can tell the ISP to prepend for you and to do certain traffic engineering like to set a lower local preference within the ISP network.
The second best method would be to use MED or prepending.
Note that you can never force someone to select a certain path in BGP unless you don't advertise the secondary path until the primary goes down.
Do you need to have symmetrical paths? That could be a concern for your setup. Look into conditional BGP as well.
The paths will be symmetrical as we'll be using route-maps to to set next-hop based on source IP address. What I'd really like to know is if it's possible to advertise all 6 IP blocks but half with as-prepetion and half without to each ISP?
Would the following configuration accomplish this task: