Friday, February 21, 2020

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 are going to 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 a MD5 digest of every TCP segment that is being 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 make sure you type the exact subnet mask for the network you want to advertise. If I would 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.
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.
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.
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
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! I will add more BGP lessons later. If you have any questions feel free to ask.

No comments:

Post a Comment