How to configure EBGP (External BGP)

In this lesson I will show you how to configure EBGP (External BGP) and how to advertise networks. I will be using the following topology:

bgp as1 as2

Let’s start with a simple topology. Just two routers and two autonomous systems. Each router has a network on a loopback interface, which we will advertise in BGP.

R1(config)#router bgp 1
R1(config-router)#neighbor 192.168.12.2 remote-as 2
R2(config)#router bgp 2
R2(config-router)#neighbor 192.168.12.1 remote-as 1

Use the router bgp command with the AS number to start BGP. Neighbors are not configured automatically. This is something you’ll have to do yourself with the neighbor x.x.x.x remote-as command. This is how we configure external BGP.

R1# %BGP-5-ADJCHANGE: neighbor 192.168.12.2 Up
R2# %BGP-5-ADJCHANGE: neighbor 192.168.12.1 Up

If everything goes ok, you should see a message that we have a new BGP neighbor adjacency.

R1(config)#router bgp 1
R1(config-router)#neighbor 192.168.12.2 password MYPASS
R2(config)#router bgp 2
R2(config-router)#neighbor 192.168.12.1 password MYPASS

If you like, you can enable MD5 authentication by using the neighbor password command. Your router will calculate an MD5 digest of every TCP segment sent.

R1#show ip bgp summary 
BGP router identifier 1.1.1.1, local AS number 1
BGP table version is 1, main routing table version 1

Neighbor     V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.12.2 4     2      10      10        1    0    0 00:07:12        0
R2#show ip bgp summary 
BGP router identifier 2.2.2.2, local AS number 2
BGP table version is 1, main routing table version 1

Neighbor     V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.12.1 4     1      11      11        1    0    0 00:08:33        0

Show ip bgp summary is an excellent command to check if you have BGP neighbors. You also see how many prefixes you received from each neighbor.

R1(config)#router bgp 1
R1(config-router)#network 1.1.1.0 mask 255.255.255.0
R2(config)#router bgp 2
R2(config-router)#network 2.2.2.0 mask 255.255.255.0

Let’s advertise the loopback interface by using the network command. If you want to advertise something with BGP, you need to type the exact subnet mask for the network you want to advertise. If I type network 1.0.0.0 mask 255.0.0.0 on R1, it will not work since this entry is not in the routing table.

R1#show ip bgp 
BGP table version is 3, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.0/24       0.0.0.0                  0         32768 i
*> 2.2.2.0/24       192.168.12.2             0             0 2 i

Use show ip bgp to look at the BGP database. You can see that R1 has learned about network 2.2.2.0 /24, and the next hop IP address is 192.168.12.2. It also shows the path information. You can see that network 2.2.2.0 /24 is from AS 2. Let’s check R2:

R2#show ip bgp 
BGP table version is 3, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.0/24       192.168.12.1             0             0 1 i
*> 2.2.2.0/24       0.0.0.0                  0         32768 i

R2 learned about network 1.1.1.0/24 with a next hop IP address of 192.168.12.1. Let’s check the routing tables:

R1#show ip route bgp
     2.0.0.0/24 is subnetted, 1 subnets
B       2.2.2.0 [20/0] via 192.168.12.2, 00:16:13
R2#show ip route bgp 
     1.0.0.0/24 is subnetted, 1 subnets
B       1.1.1.0 [20/0] via 192.168.12.1, 00:16:59

In the routing table, we can find an entry for BGP with an administrative distance of 20 for external BGP.

Configurations

Want to take a look for yourself? Here you will find the final configuration of each device.

R1

hostname R1
!
interface Loopback 0
 ip address 1.1.1.1 255.255.255.0
!
interface fastEthernet0/0
 ip address 192.168.12.1 255.255.255.0
!
router bgp 1
 neighbor 192.168.12.2 remote-as 2
 neighbor 192.168.12.2 password MYPASS
 network 1.1.1.0 mask 255.255.255.0
!
end

R2

hostname R2
!
interface Loopback 0
 ip address 2.2.2.2 255.255.255.0
!
interface fastEthernet0/0
 ip address 192.168.12.2 255.255.255.0
!
router bgp 2
 neighbor 192.168.12.1 remote-as 1
 neighbor 192.168.12.1 password MYPASS
 network 2.2.2.0 mask 255.255.255.0
!
end


That’s all for now! If you have any questions feel free to ask.

Tags:


Forum Replies

  1. Hi,

    I would like to know how I can be able to see the ebgp prefixes from my OSPF lan segment without using redistribution of BGP to OSPF?

    I would send you the configs and topology I have made if you are interested?

    Thanks,

  2. Hi Rane ,
    I am a big fan of your blog. I find your lessons very helpful . Can you please publish an lesson " how BGP works " Explanation of the process.

  3. Hi,

    If you need the prefixes that you learned through EBGP on your internal routers then you have two options:

    • Redistribute them into your IGP (not a good idea if you have a LOT of prefixes).
    • Run IBGP on your internal routers.

    You also need to consider if you really need all EBGP prefixes on your internal routers, maybe a default route in OSPF also does the job…

    Rene

  4. Hi Rene,
    1st of all thank you for all of your precious writings.

    I started reading your BGP blog. But im struggling to find an easy way to start with BGP. Because topics are scattered all over the place. Can’t figure out which topics I should read first. Can you please help and show me the correct order that i should follow to become a BGP guru.

    Thank you

73 more replies! Ask a question or join the discussion by visiting our Community Forum