Load
Balancing Using eBGP Multihop and Loopback IPs
This
is meant to be an example, and not a complete BGP (Border Gateway Protocol) routing
configuration. Router Diagram
------------------------------------- ------------------------
| +----------------------+ | | +------------+ |
| AS |Router 1 | | | |Router 2 | AS |
| 9966 |Interface 172.16.96.76| | | |10.200.10.3 | 8855 |
| |Loopback 172.16.97.1 | | | | | |
| |---+----------------------+ | | +------------+ |
| | | | | | |
------------------------------------- ------------------------
| | |
|EBGP| |--------------------------|
| | | EBGP
---------------------------------------------------------
| | |
+------------------------+
|Main Router |
|Main Eth : 192.168.10.5 |
|Loopback : 172.16.97.2 |
+------------------------+
Ensure
that all routers running BGP have at least 128 MB of memory. Remember
to save your configurations to flash whenever you are finished configuring your
dynamic routing setup! To enable BGP, do the following: At
the Login: prompt, enter root. At the Password: prompt,
enter your password. Choose Option 1 (Configuration and
Update Menu) from the Main Menu. Select Option 3 (Service Configuration). From
the Service Configuration menu, you can see the status of the Dynamic routing
(gated) package. If gated is running, the option will show "(running)". To
start gated, choose Option 3 (Dynamic routing) and choose Option 5 (Start gated)
from the Dynamic routing menu. You will also want to select Option 3 (Enable gated
on boot) to ensure that BGP session will be established at boottime. Ensure that
you have configured gated prior to attempting to start it. Unless it is properly
configured, gated will not start. In our example
above, we will be configuring the "Main Router". From the Dynamic routing menu,
choose Option 1 (gated configuration). Our AS for this example will be 9009. Choose
Option 4 (Configure BGP) from the menu. This will open a file in your default
editor. Edit the "autonomoussystem" parameter. In
this case, our AS number is 9009: Edit the first "External
peeras" section Add additional sections for each external
and internal peer The completed file for our example
should look like this:
#********************************************************************#
# Section 1 #
# BGP Configuration #
#********************************************************************#
# Set this to your AS number.
autonomoussystem 9009;
bgp yes {
preference 70;
# Configuration for the bgp peers. Change the peer AS number to
# match your peer's AS number. Change the peer IP address to match
# your peer's IP address.
# If you have more than one peer, uncomment the second group type
# section.
group type External peeras 9966
{
# Load balancing being will be done on the two or more lines to AS 9966.
# The peer IP is the loopback IP of AS 9966's router and the gateway IP is
# the loopback of the Main router, which is assigned to the bonder device.
peer 172.16.97.1 gateway 172.16.72.2;
};
group type External peeras 8855
{
peer 10.200.10.3;
};
};
Next,
we will need to configure the main gated configuration file. Choose Option 1 (Configure
gated) from the gated configuration menu. This will open a file in your default
editor. In Section 1 - Global Configuration, configure
the "routerid" parameter. Set this IP address to the primary IP address used on
Ethernet0 on the router. In this case, the IP address is 192.168.10.5. In
Section 2 - Routing Protocol Configuration, uncomment the %include "/etc/gated.bgp"
line to enable BGP within gated. In Section 3 - Static
Routes, add all static routes defined in wan.conf, regardless of whether or not
you export them. The "retain" keyword you see in the default configuration file
tells gated not to remove this route if gated exits. For the purposes of this
example, we have set a default gateway of 172.16.97.2, which would point to the
Bonded T1's on Main Router. In Section 4 - Exporting Routes,
edit the default section and add a section for each external peer. Add one section
for all internal peers. In Section 5 - Importing Routes,
edit the default section and add a section for each external peer. Add one section
for all internal peers. The completed file for our
example should look like this:
#********************************************************************#
# Section 1 #
# Global Configuration #
#********************************************************************#
# Uncomment (remove the # sign) and set routerid to your main ethernet
# IP address
routerid 192.168.10.5 ;
#********************************************************************#
# Section 2 #
# Routing Protocol Configuration #
#********************************************************************#
# Uncomment the routing protocols you want to use
%include "/etc/gated.bgp"
#%include "/etc/gated.ospf"
#%include "/etc/gated.rip"
#********************************************************************#
# Section 3 #
# Static routes #
#********************************************************************#
# Add any static routes that you need in the routing table.
# Retain tells gated not to remove this route if gated
# exits.
static
{
# Set the default gateway to 172.16.97.2.
0.0.0.0 mask 0.0.0.0 gateway 172.116.97.2 retain;
# Set a static route to AS 9966's loopback IP address
172.16.97.1 mask 255.255.255.255 gateway 172.116.97.2 retain;
# Set a static route to the 192.168.1.0/24 network.
192.168.2.0 mask 255.255.255.0 gateway 192.168.10.18 retain;
};
#********************************************************************#
# Section 4 #
# Exporting routes #
#********************************************************************#
#--------------------------------------------------------------------#
# OSPF Export
# This Export proto statement will export static routes and interface
# routes via OSPF
export proto ospfase {
proto static {
ALL
metric 1; };
proto direct {
ALL
metric 1; };
};
#--------------------------------------------------------------------#
# BGP Export
# This Export proto statement will export:
# the static route 192.168.2.0/24
# the interface route 192.168.10.0/24
# to AS number 9966 via BGP.
export proto bgp as 9966 {
proto static {
192.168.2.0 masklen 24 exact;
};
proto direct {
192.168.10.0 masklen 24 exact;
};
};
# This Export proto statement will export:
# the static route 192.168.2.0/24
# the interface route 192.168.10.0/24
# to AS number 8855 via BGP.
export proto bgp as 8855 {
proto static {
192.168.2.0 masklen 24 exact;
};
proto direct {
192.168.10.0 masklen 24 exact;
};
};
#--------------------------------------------------------------------#
# RIP Export
# This Export proto statement will export static routes and interface
# routes via RIP
export proto rip {
proto static {
ALL
metric 1; };
proto direct {
ALL
metric 1; };
};
#********************************************************************#
# Section 5 #
# Importing routes #
#********************************************************************#
#--------------------------------------------------------------------#
# OSPF Import
# This import statement will import all routes learned via OSPF.
import proto ospfase {
ALL;
};
#--------------------------------------------------------------------#
# BGP Import
# This import statement will import all routes from AS numbers
# 9966 and 8855 learned via BGP.
import proto bgp as 9966 {
ALL;
};
import proto bgp as 8855 {
ALL;
};
#--------------------------------------------------------------------#
# RIP Import
# This import statement will import all routes learned via RIP.
import proto rip {
ALL;
};
Remember to save
your configurations to flash whenever you are finished configuring your dynamic
routing setup! Top |