We solved that problem here with BGP. It's not as hard as it seems. You do
need to get IP space allocated to you (/24 minimum) that the various (2 or more) ISP's
will agree to announce. Your existing IP space may be routable/announceable or not.. or
if you are NATing, you may not have anything like a /24 in which case you should 
consider
the Radware Linkproof (which is kind of a NAT failover-  you use a set of IP's until 
that carrier
goes down and then it switches you over via DHCP to the backup). there are some other
devices that give similar functionality and also a new software solution from 
Rainfinity called
Rainconnect.
BGP requires a beefy router, a 3640 minimum if you want to take full routing tables. 
This means
128MB of RAM. The actual config is not that bad for a basic one. BGP like most things 
has a lot
of subtlety to it. You can get into MED's, Communities, Confederations etc etc but to 
run it all you
really need is what I have posted below.
This is an offline response I wrote once for someone..
Don't assume it's all 100% or the only way or whatever. :-) It's just my own 
experience and what
I've gotten from it.

I hope it helps!

- Joe


ps - search the archives of the ISP-routing list and the ISP-BGP lists! Great info..

------------------------------------------------------------------------
How BGP solves the problem:

Nutshell: your border (edge) router takes in the 2 ISP connections and chooses the 
best routing
paths. You only need ONE firewall in this case and no fancy setups behind it. Use the 
2nd FW
to cluster this main FW if you want (reccomended!!) Your servers in question will be 
reachable
via 1 IP address from either ISP. That's the beauty of it. If one circuit goes down, 
BGP recalculates
the routing table and within 1-5 minutes it is fully normalized again. Over the past 
year I have never had a user notice
an outage at any of our offices. (we've had 9, one which lasted a week!)
Our BGP tables converge well enough within the first minute
that local reachability is continuous - or at least appears so. This is a good thing.

Detail:
(I don't know what you already know so forgive me if I hit some basics here)
Border Gateway Protocol v4 (BGP to us) is a dynamic routing protocol. It
looks at routing as hops - much like RIP which I believe is where it came from.
A given network is viewed as an "autonomous system" - each network is assigned
a system number - called an ASN. Each ASN is a hop in BGP.
In North America ASN assignment is handled by ARIN, RIPE in the EU.
You apply for an ASN after you:

1: have multiple ISP connections
2: have routable IP space that both ISP's agree to announce

You make your case to ARIN about why you need this (umm, resiliancy?) and if they
approve you you pay $500 and you're nearly done.

The fundamental definition for an ASN is a network with a unique routing policy - one 
that
varies enough from what it's connected to that it needs to be recognized as a unique 
entity.
There are only 65,535 ASN's, so they don't give them for no reason.

Your router will need to run a BGP session with each of the 2 ISP's in this case. I 
will
assume you're not a transit network here..  What happens at the most basic level could
be this:
You take a routing table from ISP A and another from ISP B - their "views" of the 
internet. Your router
calculates a new table based on ASN hops - finding the "shortest" distance to get 
anywhere on the net (using ASN
hops only.. it does not look at BW unfortunately!)  This is the view from where YOU 
are.  In turn, you "announce"
your internal IP space  - you tell the world how to get to your net.  Every router on 
the net gets reachability/routing
into from every other router, and they all update each on an ongoing basis. Kinda like 
DNS that way as BGP can
be thought of as a distributed database in a way (although it is really just a flat 
file..). Your announcements propogate to
your peer routers at your ISP's and  in turn to their peers etc etc. You need at least 
a  /24 to announce.
If you have smaller IP space, you can use devices like a Radware Linkproof which 
handle the NAT
changeover to go from one ISP to the other. BGP is nicer if you can do it bc you get 
to use both circuits
all the time. (you pay for them all the time so...) There is also some new software 
from Rainfinity which is
supposed to handle this sort of thing too complete with load balancing (which is not 
straightforward in BGP..)

A really basic config is simple. Here's mine (simplified and sanitized)

router bgp 9876
 no synchronization
 bgp log-neighbor-changes
 network X.Y.10.0 netmask 255.255.254.0
 neighbor A.B.C.D remote-as 1234
 neighbor A.B.C.D description T1 #12345678
 neighbor A.B.C.D version 4
 neighbor A.B.C.D filter-list 1 out
 neighbor D.E.F.G remote-as 5678
 neighbor D.E.F.G description T1 # 987654321
 neighbor D.E.F.G version 4
 neighbor D.E.F.G filter-list 1 out

The top part is us, ASN 9876.
No syncronization refers to not waiting for other protocols to update BGP (in case we
run OSPF, iBGP, etc etc)
I just announce my /23 network in my part of the config.

Next up is our first peer. I force BGP version 4 and use filter list 1 to control what 
routes
will come and go during this BGP session.

Next is our 2nd peer with ASN # 5678. Same thing again.
In reality there is more to the config, as the two carriers run BGP differently.. 
maybe carrier one uses 2 PVC's running off the loopback, carrier 2 userse communities, 
etc etc. and we use an ACL to make sure that we only accept
BGP packets from the proper hosts etc. (do a google on "secure IOS and Secure BGP" and 
you'll see Rob Thomas's excellent site!)
but they will always provide you with the config you need to connect to them. They 
have to bc there is no way for you to know
what they need otherwise.. so don't sweat it. What you have above is enough to work 
with though. This will work fine to get you started.
Your part of the BGP clause is up to you, as is the the filter list if you choose to 
use one.

! Filter list 1 looks lke this:
ip as-path access-list 1 permit ^$
ip as-path access-list 1 deny .*

This says simply "take in everything I'm sent. Send out only what is local".  Do a 
google on "Avi Freidman" to see where I pinched this! This kind of list is usually 
referred to as an "Avi style" list. You'll see why. This keeps you from sending the 
whole routing table back to your ISP as well as only "advertising" or announcing what 
you have reachability for - your own nets. In my case I take what's called a "full 
table" - every route on the net (a bit over 100,000 routes, or ~70MB worth at the 
moment)  You can take just defaults, or just carrier routes, or other partial tables. 
talk to your providers about what they have available. This will, in turn, ease up on 
your memory useage.

Your routing table needs this as well (called nailing the routes)
ip route A.B.C.D 255.255.254.0  T.U.V.W
ip route A.B.C.D 255.255.254.0 Null0 254

This is not essential for it to work, but this is good practice and being a good 
netizen.
A.B.C.D is your /23 net.  T.U.V.W is the gateway in this case. The 2nd route is where 
you add a "backup route" to this net so that even if the interface goes down, you 
don't withdraw the route to your net (null interface is logical and can't go down...)  
This is to avoid needless BGP table updates propogating across the net.
-----------------------------------------------------------------------------------
hth

Joe


>>> Nico De Ranter <[EMAIL PROTECTED]> 06/03/02 09:54AM >>>
Howdy,

for a moment we taught our ISP went bankrupt last week. Fortunately this
turned out not to be the case, however this kind of woke up upper management :-).
So I'm now investigating how to use 2 ISP's for our Internet connection.
Anybody any experience with this? Any links to usefull info?
Is this something that should be solved on the firewall level or will some
router magic do the trick?

Thanks in advance,

Nico

---------------------------------------------------------
 "It has been said that there are only two businesses that
  refer to customers as users: illegal drug trade and
               the computer industry."
---------------------------------------------------------
Nico De Ranter
Sony Service Center (SDCE/VPE-B)
Sint Stevens Woluwestraat 55 (Rue de Woluwe-Saint-Etienne)
1130 Brussel (Bruxelles), Belgium, Europe, Earth
Telephone: +32 2 724 86 41 Telefax: +32 2 726 26 86
e-mail: [EMAIL PROTECTED]

=================================================
To set vacation, Out Of Office, or away messages,
send an email to [EMAIL PROTECTED]
in the BODY of the email add:
set fw-1-mailinglist nomail
=================================================
To unsubscribe from this mailing list,
please see the instructions at
http://www.checkpoint.com/services/mailing.html
=================================================
If you have any questions on how to change your
subscription options, email
[EMAIL PROTECTED]
=================================================


**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.

This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.

www.mimesweeper.com
**********************************************************************

=================================================
To set vacation, Out Of Office, or away messages,
send an email to [EMAIL PROTECTED]
in the BODY of the email add:
set fw-1-mailinglist nomail
=================================================
To unsubscribe from this mailing list,
please see the instructions at
http://www.checkpoint.com/services/mailing.html
=================================================
If you have any questions on how to change your
subscription options, email
[EMAIL PROTECTED]
=================================================

Reply via email to