BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

时间:2024-03-30 14:05:27

一、IBGP和EBGP概念

EBGP是不同的AS间建立的邻居关系,通常EBGP通过直连建立邻居关系

IBGP是相同的AS内的建立的BGP关系,邻居之间不必要通过直连建立邻居关系,一般通过loopback建立邻居关系。

二、BGP组网拓扑:

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

R2 R3 R4属于AS200 , 我们配置IBGP邻居:

R2到R4,完成IGP-EIGRP(目标使环回口路由可达)

R2和R4建立IBGP邻居关系,此处使用sopf,建立完成后R2和R4互相学到loopback地址,我们R2和R4建立IBGP邻居关系:

R2(config)#router bgp 200

R2(config-router)#neighbor 44.1.1.1 remote-as 200

R4(config)#router bgp 200

R4(config-router)#neighbor 22.1.1.1 remote-as 200

配置完后我们发现BGP邻居关系为IDLE状态,debug查看默认R2用的物理之间出接口与R4 lo 建立邻居关系无法建立重置。

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

我们需要配置R2的建立BGP邻居关系的源为lo0

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

同时我们也需要把R4配置lo0 为源,否则某种场景下也会出现问题。

R4(config)#router bgp 200

R4(config-router)#neighbor 22.1.1.1 update-source lo 0

我们在R2可以学到R1的11.1.1.1 的路由:

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

我们在R4无法学到R1的11.1.1.1 的路由,我们对比下R2和R4的BGP数据库。

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

R4没有>最优的路由

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

最优(没有过滤):

下一跳: 必须可达(即在路由表中出现)

同步: 和IGP的同步,此条件默认满足

此时我们发现R4没有到下一跳12.1.1.1 的路由,因此BGP路由表没有学到11.1.1.1的路由

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

此时我们可以R2的ospf引入直连路由,让R4学到12.1.1.1的路由

R2(config)#route-map conn

R2(config-route-map)#match interface serial 1/0

R2(config)#router ospf 110

R2(config-router)#redistribute connected route-map conn

此时我们可以在R4路由表学到12.1.1.1的路由,BGP路由表可以学到11.1.1.1的有效路由:

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

以上这种方法不常用,我们常用的是下面这种方法next-hop-self,下一跳为自己,R2进行配置改完后我们R4查看路由表下一跳为R2自己22.1.1.1

R2(config)#router ospf 110

R2(config-router)#no redistribute connected route-map conn

R2(config-router)#no redistribute connected subnets

R2(config)#router bgp 200

R2(config-router)#neighbor 44.1.1.1 next-hop-self ---针对IBGP邻居把下一跳改为本设备的更新源

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

同时路由表下一跳变为22.1.1.1:

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

查看CEF:

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

我们再把R5配置下:

R5#show run | s bgp

router bgp 300

bgp log-neighbor-changes

network 55.1.1.1 mask 255.255.255.255 -----BGP network精准匹配掩码

neighbor 45.1.1.4 remote-as 200

R4查看BGP数据库:

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

此时下一跳也是45.1.1.5,因此在R2同样是学不到这条路由,因此我们需要针对R4的IBGP邻居改变下一跳为本设备R4。

R4(config)#router bgp 200

R4(config-router)#neighbor 22.1.1.1 next-hop-self

我们在R2查看到达55.1.1.1的下一跳变为44.1.1.1(R4 lo)

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

此时我们在R5和R1 都能通过BGP学到对方的lo0 路由,但是我们发现R5 ping R1 是没法ping通的,此时R3出现了路由黑洞,R3之前我们没有配置任何的BGP。

R5#ping 11.1.1.1 source lo 0

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 11.1.1.1, timeout is 2 seconds:

Packet sent with a source address of 55.1.1.1

.....

R5数据到达R4,R4到达了R3(通过CEF查看下一跳到达R3)

R4#show ip cef 11.1.1.1 detail

11.1.1.1/32, epoch 0, flags [rib only nolabel, rib defined all labels]

recursive via 22.1.1.1

nexthop 34.1.1.3 Ethernet0/2

然后我们在R3查看路由表没有发现到11.1.1.1的路由:

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

为了使R3得到11.1.1.1 的路由,我们使用之前学过的路由重分布,R2通过EBGP已经学到11.1.1.1的路由R2上bgp引入ospf就可让R3学到11.1.1.1的路由:

R2(config)#router ospf 110

R2(config-router)#redistribute bgp 200 subnets

此时我们在R3可以学到11.1.1.1的路由:

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

虽然R3学到路由但是我们从R5ping 11.1.1.1是仍然没法ping通的,因为R3没有55.1.1.1的路由。

R5#ping 11.1.1.1 source lo 0

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 11.1.1.1, timeout is 2 seconds:

Packet sent with a source address of 55.1.1.1

.....

Success rate is 0 percent (0/5)

我们在R4上也进行重分布:

R4(config)#router os 110

R4(config-router)#redistribute bgp 200 subnets

此时我们在R3都能学到R1 和 R5 lo0 路由:

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

此时我们可以在R5 ping通R1的lo0 11.1.1.1:

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握

 

路由黑洞:我们可以跨设备更新路由表,但是R3没有运行BGP,R3是路由黑洞(没有得到路由)。

IP 逐跳转发(hop-by-hop),每台设备都需要有路由表。

BGP之IBGP和EBGP基本配置详解,理论+实战,两分钟快速掌握