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:
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.
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,
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.
Hi Romeo,
There are many things to learn about BGP. If you are completely new to it then you might like some of my blog posts that I wrote a long time ago:
https://gns3vault.com/blog/bgp-for-beginners
https://gns3vault.com/blog/why-do-we-use-bgp
I’ll revise these sometime in the future.
Rene
Hi,
If you need the prefixes that you learned through EBGP on your internal routers then you have two options:
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
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