Simple
eBGP and iBGP Routing Setup
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 |172.16.96.76| | | |10.200.10.3 | 8855 |
| +------------+ | | +------------+ |
| / | | | |
--------------------------- ------------------------
/ |
EBGP / |----------------|
/ | EBGP
---------------------------------------------------------
/ AS 9009 |
+------------+ ----------|
|Main Router |
|192.168.10.5|
+------------+
|
| IBGP
|
+------------+
|2nd Router |
|192.168.10.6|-----------|
+------------+ |
\ AS 9009 |
---------------------------------------------------------
\ | EBGP
\ EBGP |----------------|
\ |
\ |
--------------------------- --------------------------
| \ | | |
| +------------+ | | +-------------+ |
| AS |Router 5 | | | |Router 6 | AS |
| 35000 |2.1.1.1 | | | |191.255.40.5 | 40000 |
| +------------+ | | +-------------+ |
--------------------------- --------------------------
Ensure that all routers running BGP have at least 192
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
{
peer 172.16.96.76;
};
group type External peeras 8855
{
peer 10.200.10.3;
};
group type Internal peeras 9009
{
peer 192.168.10.6;
};
};
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.96.75, which would point to the
serial interface on Router 1. 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 this example GateD will is configured to
redistribute the route 192.168.17.0/24 to the upstream providers. The 192.168.17.0/24
is learned from the 2nd router via BGP. 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.96.76.
0.0.0.0 mask 0.0.0.0 gateway 172.16.96.76 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
# the route 192.168.17.0/24 if it has been learned from an iBGP peer
# 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;
};
proto bgp as 9009 {
192.168.17.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
# the route 192.168.17.0/24 if it has been learned from an iBGP peer
# 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;
};
proto bgp as 9009 {
192.168.17.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
# Routes learn by BGP from AS number 9966
# Routes learn by BGP from AS number 8855
# to AS number 9009, an iBGP peer.
export proto bgp as 9009 {
proto static {
192.168.2.0 masklen 24 exact;
};
proto direct {
192.168.10.0 masklen 24 exact;
};
proto bgp as 9966 {
ALL;
};
proto bgp as 8855 {
ALL;
};
# When you have more than two iBGP peers you will need to redistribute
# the routes learned from one iBGP peer to all the others. To do this
# uncomment the following three lines.
# proto bgp as 9009 {
# ALL;
# };
};
#--------------------------------------------------------------------#
# 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 number 9966,
# 8855 and 9009 learned via BGP.
import proto bgp as 9966 {
ALL;
};
import proto bgp as 8855 {
ALL;
};
import proto bgp as 9009 {
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 |