站点图标 Linux-技术共享

边界网关协议(BGP)基本配置

边界网关协议(BGP,Border Gateway Protocol)是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。 BGP 构建在 EGP 的经验之上。 BGP 系统的主要功能是和其他的 BGP 系统交换网络可达信息。网络可达信息包括列出的自治系统(AS)的信息。这些信息有效地构造了 AS 互联的拓扑图并由此清除了路由环路,同时在 AS 级别上可实施策略决策。

IBGP——内部BGP协议(IBGP)的主要作用是向你的内部路由器提供更多信息。IBGP路由器必须以全网状结构相连,以防止路由环回。如果使用了路由反射器或路由联盟,那么IBGP网状结构可能遭遇收敛问题,而导致路由黑洞。

EBGP —— (External Border Gateway Protocol) 外部边界网关协议,用于在不同的自治系统间交换路由信息。

EBGP与IBGP的区别:

1、路由环路的避免措施不一样,IBGP强制规定ibgp speaker不允许把从一个IBGP邻居学习到的前缀传递给其它IBGP邻居,因此IBGP要求逻辑全连接。EBGP没有这样的要求,EBGP对路由环路的避免是通过AS_PATH属性来实现的。

2、使用的BGP属性不同,例如IBGP可以传递LOCAL_PREF(本地优先属性),而EBGP不行。

3、IBGP有同步的要求,而EBGP没有同步的要求

4、IBGP不需要IBGP邻居之间有物理连接,只需要逻辑连接即可,而EBGP下一般情况下都要求EBGP邻居之间存在物理连接。

一、实验目的

1、实现IBGP的配置

2、实现EBGP的配置

3、观察BGP的邻居表

4、实现BGP更新源的配置

5、实现EBGP多跳的配置

6、观察IBGP和EBGP中路由的下一跳的变化。

二、实验背景

你是公司的网络管理员。公司的网络采用了BGP协议作为路由协议。公司的网络由多个自治系统组成,不同的分支机构使用了不同的AS号,现在你需要完成公司网络的搭建工作。在公司总部使用了OSPF作为IGP ,公司内部不同分支机构使用的是私有的BGP AS 号。在完成网络搭建以后﹐你还需要观察BGP路由信息的传递。

三、实验拓扑

2382c315a6ba396be19320

四、实验配置

1、设备IP地址配置。

</>code

  1. [R1]int LoopBack 0
  2. [R1-LoopBack0]ip address 10.0.1.1 24
  3. [R1-LoopBack0]quit
  4. [R1]int g0/0/0
  5. [R1-GigabitEthernet0/0/0]ip address 10.0.12.1 24
  6. [R1-GigabitEthernet0/0/0]quit
  7.  
  8. [R2]int LoopBack0
  9. [R2-LoopBack0]ip address 10.0.2.2 24
  10. [R2-LoopBack0]quit
  11. [R2]int g0/0/0
  12. [R2-GigabitEthernet0/0/0]ip address 10.0.12.2 24
  13. [R2-GigabitEthernet0/0/0]quit
  14. [R2]int g0/0/1
  15. [R2-GigabitEthernet0/0/1]ip address 10.0.23.2 24
  16. [R2-GigabitEthernet0/0/1]quit
  17.  
  18. [R3]int LoopBack 0
  19. [R3-LoopBack0]ip address 10.0.3.3 24
  20. [R3-LoopBack0]quit
  21. [R3]int g0/0/0
  22. [R3-GigabitEthernet0/0/0]ip address 10.0.34.3 24
  23. [R3-GigabitEthernet0/0/0]quit
  24. [R3]int g0/0/1
  25. [R3-GigabitEthernet0/0/1]ip address 10.0.23.3 24
  26. [R3-GigabitEthernet0/0/1]quit
  27.  
  28. [R4]int LoopBack 0
  29. [R4-LoopBack0]ip address 10.0.4.4 24
  30. [R4-LoopBack0]quit
  31. [R4]int g0/0/0
  32. [R4-GigabitEthernet0/0/0]ip address 10.0.34.4 24
  33. [R4-GigabitEthernet0/0/0]quit
  34. [R4]int g0/0/1
  35. [R4-GigabitEthernet0/0/1]ip address 10.0.45.4 24
  36. [R4-GigabitEthernet0/0/1]quit
  37.  
  38. [R5]int LoopBack 0
  39. [R5-LoopBack0]ip address 10.0.5.5 24
  40. [R5-LoopBack0]quit
  41. [R5]int g0/0/1
  42. [R5-GigabitEthernet0/0/1]ip address 10.0.45.5 24
  43. [R5-GigabitEthernet0/0/1]quit

#在R2、R4上检查IP地址连通性:

 

2、配置AS 64512内的OSPF。

R2、R3、R4使用Loopback0接口地址作为Router ID。

#配置R2,在Loopback0、GE0/0/2接口上激活OSPF:

</>code

  1. [R2]ospf 1 router-id 10.0.2.2
  2. [R2-ospf-1]area 0
  3. [R2-ospf-1-area-0.0.0.0]network 10.0.2.2 0.0.0.0
  4. [R2-ospf-1-area-0.0.0.0]network 10.0.23.2 0.0.0.0
  5. [R2-ospf-1-area-0.0.0.0]quit
  6. [R2-ospf-1]quit
  7.   
  8. [R3]ospf 1 router-id 10.0.3.3
  9. [R3-ospf-1]area 0
  10. [R3-ospf-1-area-0.0.0.0]network 10.0.23.3 0.0.0.0
  11. [R3-ospf-1-area-0.0.0.0]network 10.0.34.3 0.0.0.0
  12. [R3-ospf-1-area-0.0.0.0]network 10.0.3.3 0.0.0.0
  13. [R3-ospf-1-area-0.0.0.0]quit
  14. [R3-ospf-1]quit
  15.   
  16. [R4]ospf 1 router-id 10.0.4.4
  17. [R4-ospf-1-area-0.0.0.0]network 10.0.34.4 0.0.0.0
  18. [R4-ospf-1-area-0.0.0.0]network 10.0.4.4 0.0.0.0
  19. [R4-ospf-1-area-0.0.0.0]quit
  20. [R4-ospf-1]quit

#在R3上查看OSPF邻居的概要信息:

R3与R2、R4之间已经建立起OSPF邻居关系。

 

#在R3 上查看OSPF路由表:

R3已经学习到R2、R4的 Loopback0接口路由。其中:

Type:是指这条目的路由的类型,有Stub和Transit类型;标志TransitNet的都是直连接口,需要通过这条链路维护邻居的链路信息;TransitNet是需要维护邻居的链路类型,StubNet是指不需要邻居的链路类型。

AdvRouter:指的是谁发布的这条路由,也就是产生相应的LSA的那个路由器的router-id。

 

3、配置AS 64512内的全互联IBGP对等体关系。

在R2、R3、R4之间基于Loopback0接口建立全互联的IBGP对等体关系。

</>code

  1. [R2]bgp 64512
  2. [R2-bgp]router-id 10.0.2.2
  3. [R2-bgp]peer 10.0.3.3 as-number 64512
  4. [R2-bgp]peer 10.0.3.3 connect-interface LoopBack 0
  5. [R2-bgp]peer 10.0.4.4 as-number 64512
  6. [R2-bgp]peer 10.0.4.4 connect-interface LoopBack 0
  7.   
  8. [R3] bgp 64512
  9. [R3-bgp] router-id 10.0.3.3
  10. [R3-bgp] peer 10.0.2.2 as-number 64512
  11. [R3-bgp] peer 10.0.2.2 connect-interface LoopBack0
  12. [R3-bgp] peer 10.0.4.4 as-number 64512
  13. [R3-bgp] peer 10.0.4.4 connect-interface LoopBack0
  14.   
  15. [R4]bgp 64512
  16. [R4-bgp]peer 10.0.2.2 as-number 64512
  17. [R4-bgp]peer 10.0.2.2 connect-interface LoopBack 0
  18. [R4-bgp]peer 10.0.3.3 as-number 64512
  19. [R4-bgp]peer 10.0.3.3 connect-interface LoopBack 0

 

#查看BGP邻居信息:

可以看到R2、R3、R4之间已经相互建立了全互联的IBGP对等体关系。

 

4、配置AS 64512、AS 64513、AS 64514之间的EBGP对等体关系。

在R1与R2、R4与R5之间基于Loopback0接口建立EBGP对等体关系﹐为保证能够正常建立,在R1、R2上配置静态路由使Loopback0之间路由可达(R4、R5同样操作)。

</>code

  1. [R1]ip route-static 10.0.2.2 32 10.0.12.2
  2. [R2]ip route-static 10.0.1.1 32 10.0.12.1
  3.  
  4. [R4]ip route-static 10.0.5.5 32 10.0.45.5
  5. [R5]ip route-static 10.0.4.4 32 10.0.45.4

#配置R1、R2之间的EBGP对等体:

</>code

  1. [R1]bgp 64513
  2. [R1-bgp]router-id 10.0.1.1
  3. [R1-bgp]peer 10.0.2.2 as-number 64512
  4. [R1-bgp]peer 10.0.2.2 ebgp-max-hop 2
  5. [R1-bgp]peer 10.0.2.2 connect-interface LoopBack 0
  6.  
  7. [R2]bgp 64512
  8. [R2-bgp]peer 10.0.1.1 as-number 64513
  9. [R2-bgp]peer 10.0.1.1 ebgp-max-hop 2
  10. [R2-bgp]peer 10.0.1.1 connect-interface LoopBack 0

默认情况下,EBGP连接允许的最大跳数为1,这导致EBGP对等体之间只能使用直连链路建立 EBGP对等体关系,为使用环回口作为更新源需要手动修改EBGP连接允许的最大跳数。

</>code

  1. [R4]bgp 64512
  2. [R4-bgp]peer 10.0.5.5 as-number 64514
  3. [R4-bgp]peer 10.0.5.5 ebgp-max-hop 2
  4. [R4-bgp]peer 10.0.5.5 connect-interface LoopBack 0
  5.  
  6. [R5]bgp 64514
  7. [R5-bgp]router-id 10.0.5.5
  8. [R5-bgp]peer 10.0.4.4 as-number 64512
  9. [R5-bgp]peer 10.0.4.4 ebgp-max-hop 2
  10. [R5-bgp]peer 10.0.4.4 connect-interface LoopBack 0

#查看R1、R5的BGP邻居信息:

R1与R2、R4与R5之间已经成功建立EBGP对等体关系。

 

5、在R1、R5上将Loopback1接口路由发布到BGP,在R2、R4上修改BGP下一跳地址。

#在R1、R5上将Loopback1接口路由发布到BGP,在R1、R5上通过network命今发布路由:

</>code

  1. [R1]int LoopBack 1
  2. [R1-LoopBack1]ip address 10.1.1.1 24
  3. [R1-LoopBack1]quit
  4. [R1]bgp 64513
  5. [R1-bgp]network 10.1.1.1 24
  6.  
  7. [R5]int LoopBack 1
  8. [R5-LoopBack1]ip address 10.1.5.5 24
  9. [R5-LoopBack1]quit
  10. [R5]bgp 64514
  11. [R5-bgp]network 10.1.5.5 24

#在R3上查看BGP路由表:

可以看到此时R3上已经学习到R1、R5上发布的BGP路由,但是都是非有效路由﹐这是因为它们的下一跳在R3上都不可达﹐为此可以在R2、R4 上通过next-hop-local 命宁修落卜一跳地址为R2、R4的更新源地址。

</>code

  1. [R2]bgp 64512
  2. [R2-bgp]peer 10.0.3.3 next-hop-local
  3. [R2-bgp]peer 10.0.4.4 next-hop-local
  4.  
  5. [R4]bgp 64512
  6. [R4-bgp]peer 10.0.2.2 next-hop-local
  7. [R4-bgp]peer 10.0.3.3 next-hop-local

#再次在R3上查看BGP路由表:

此时两条BGP路由都变成了有效、最优的状态。

#测试R1、R5的Loopback 1之间的连通性:

- THE END -
退出移动版