华为配置篇-BGP实验

BGP

一、简述

  • IBGP 水平分割:从一个 IBGP 对等体学到的路由,不会再通告给其他的 IBGP 对等体。在一个 AS 内部,路由器之间通过 IBGP 交换路由信息。如果没有水平分割机制,当多个路由器之间形成全连接的 IBGP 对等关系时,就可能会出现路由在 AS 内不断循环的情况。
  • EBGP 水平分割:从一个 EBGP 对等体学到的路由,不会再通告给这个 EBGP 对等体的同一 AS 内的其他 EBGP 对等体。当一个 AS 与另一个 AS 之间通过 EBGP 连接时,为了防止 AS 间的路由环路,采用了这样的规则。

二、常用命令总结

bash 复制代码
display bgp peer #查看 BGP 对等体
display bgp routing-table	#查看 BGP 路由表

#在R1上通过 network 命令发布路由
[R1]bgp 64513
[R1-bgp] network 10.1.1.1 24

#在R2上将路由的下一跳地址修改为自身
[R2]bgp 64512
[R2-bgp] peer 10.0.3.3 next-hop-local	#向对等体10.0.3.3宣告自己知道的路由时,告诉它将路由的下一跳都改为我R2。
[R2-bgp] peer 10.0.4.4 next-hop-local

三、实验

背景

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

拓扑

配置

R1

bash 复制代码
[V200R003C00]
#
 sysname R1
#
interface GigabitEthernet0/0/0
 ip address 10.0.1.1 255.255.255.0 
#
interface LoopBack0
 ip address 1.1.0.1 255.255.255.255 
#
interface LoopBack1
 ip address 1.1.1.1 255.255.255.0 
#
bgp 64513						#创建区域64513
 router-id 1.1.0.1				#和ospf类似,设置router-id
 peer 2.2.0.2 as-number 64512 	#有个EBGP对等体,在区域64512
 peer 2.2.0.2 ebgp-max-hop 2 	#与这个对等体最大跳数设为2
 peer 2.2.0.2 connect-interface LoopBack0	#与这个对等体连接用LoopBack0接口
 #
 ipv4-family unicast	#默认的
  undo synchronization	#默认的
  network 1.1.1.0 255.255.255.0 
  peer 2.2.0.2 enable	#默认的
#
ip route-static 2.2.0.2 255.255.255.255 10.0.1.2
#
return

R2

bash 复制代码
[V200R003C00]
#
 sysname R2
#
interface GigabitEthernet0/0/0
 ip address 10.0.1.2 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 10.0.2.2 255.255.255.0 
#
interface LoopBack0
 ip address 2.2.0.2 255.255.255.255 
#
bgp 64512
 router-id 2.2.0.2
 peer 1.1.0.1 as-number 64513 
 peer 1.1.0.1 ebgp-max-hop 2 
 peer 1.1.0.1 connect-interface LoopBack0
 peer 3.3.0.3 as-number 64512 
 peer 3.3.0.3 connect-interface LoopBack0
 peer 4.4.0.4 as-number 64512 
 peer 4.4.0.4 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.0.1 enable
  peer 3.3.0.3 enable
  peer 3.3.0.3 next-hop-local 
  peer 4.4.0.4 enable
  peer 4.4.0.4 next-hop-local 
#
ospf 1 router-id 2.2.0.2 
 area 0.0.0.0 
  network 2.2.0.2 0.0.0.0 
  network 10.0.2.2 0.0.0.0 
#
ip route-static 1.1.0.1 255.255.255.255 10.0.1.1
#
return

R3

bash 复制代码
[V200R003C00]
#
 sysname R3
#
interface GigabitEthernet0/0/1
 ip address 10.0.2.3 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 10.0.3.3 255.255.255.0 
#
interface LoopBack0
 ip address 3.3.0.3 255.255.255.255 
#
bgp 64512
 router-id 3.3.0.3
 peer 2.2.0.2 as-number 64512 
 peer 2.2.0.2 connect-interface LoopBack0
 peer 4.4.0.4 as-number 64512 
 peer 4.4.0.4 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 2.2.0.2 enable
  peer 4.4.0.4 enable
#
ospf 1 router-id 3.3.0.3 
 area 0.0.0.0 
  network 3.3.0.3 0.0.0.0 
  network 10.0.2.3 0.0.0.0 
  network 10.0.3.3 0.0.0.0 
#
return

R4

bash 复制代码
[V200R003C00]
#
 sysname R4
#
interface GigabitEthernet0/0/0
 ip address 10.0.4.4 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 10.0.3.4 255.255.255.0 
#
interface LoopBack0
 ip address 4.4.0.4 255.255.255.255 
#
bgp 64512
 router-id 4.4.0.4
 peer 2.2.0.2 as-number 64512 
 peer 2.2.0.2 connect-interface LoopBack0
 peer 3.3.0.3 as-number 64512 
 peer 3.3.0.3 connect-interface LoopBack0
 peer 5.5.0.5 as-number 64514 
 peer 5.5.0.5 ebgp-max-hop 2 
 peer 5.5.0.5 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 2.2.0.2 enable
  peer 2.2.0.2 next-hop-local 
  peer 3.3.0.3 enable
  peer 3.3.0.3 next-hop-local 
  peer 5.5.0.5 enable
#
ospf 1 router-id 4.4.0.4 
 area 0.0.0.0 
  network 4.4.0.4 0.0.0.0 
  network 10.0.3.4 0.0.0.0 
#
ip route-static 5.5.0.5 255.255.255.255 10.0.4.5
#
return

R5

bash 复制代码
[V200R003C00]
#
 sysname R5
#
interface GigabitEthernet0/0/0
 ip address 10.0.4.5 255.255.255.0 
#
interface LoopBack0
 ip address 5.5.0.5 255.255.255.255 
#
interface LoopBack1
 ip address 5.5.1.5 255.255.255.0 
#
bgp 64514
 router-id 5.5.0.5
 peer 4.4.0.4 as-number 64512 
 peer 4.4.0.4 ebgp-max-hop 2 
 peer 4.4.0.4 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  network 5.5.1.0 255.255.255.0 
  peer 4.4.0.4 enable
#
ip route-static 4.4.0.4 255.255.255.255 10.0.4.4
#
return

总结

  • R2、 R3、 R4 之间基于 Loopback0 接口建立全互联的 IBGP 对等体关系:R2与R3、R2与R4;R3与R2、R3与R4;R4与R2、R4与R3。
  • 默认情况下, EBGP 连接允许的最大跳数为 1,这导致 EBGP 对等体之间只能使用直连链路建立 EBGP 对等体关系, 为使用环回口作为更新源需要手动修改 EBGP 连接允许的最大跳数(直连1个、环回口1个,共2个EBGP对等体连接)。
  • R3 上已经学习到 R1、 R5 上发布的 BGP 路由, 但是都是非有效路由 , 这是因为它们的下一跳在 R3 上都不可达, 为此可以在 R2、 R4 上通过 next-hop-local 命令修改下一跳地址为 R2、 R4 的更新源地址。(R2告诉R3,将自己发给它的BGP路由的下一跳都改为R2自己,R4同理
  • 通过本次实验,有了更多理解,EBGP和IBGP之间通过对等体有一个大框架的路由 ,可以使用networkimport-route将本AS内路由导入bgp路由 ,进而在某一路由器下,ip路由表获得了bgp提供的一些路由。
    例如,本实验,在R1上通过bgp路由表导入ip路由的只有R5的loopback1,只有这两个的loopback1之间能ping通,而R1的ip路由表中没有到R3、R4的路由,所以无法ping通。
相关推荐
cui_ruicheng3 小时前
Python从入门到实战(八):封装、多态与抽象类
开发语言·python
apihz3 小时前
台风实时与历史详情查询免费 API 接口完整教程
android·开发语言·tcp/ip·dubbo·台风·天气预报
qq_422152573 小时前
PDF内容复用的几种实用方法:转PPT、转图片、转长图
pdf·php·powerpoint
知无不研3 小时前
c语言和c++中的静态关键字
开发语言·c++·静态关键字
国服第二切图仔3 小时前
HarmonyOS APP《画伴梦工厂》开发第63篇-网络通信升级——QUIC长连接与冷启预建链
华为·harmonyos
bksczm3 小时前
Linux之信号量(POSIX标准)
java·开发语言
吠品3 小时前
PHP里取月份最后一天的几种方式
java·开发语言·eureka
CallmeFoureyes3 小时前
使用 C# 提取 Word 文档中的表格数据
开发语言·c#·word
xd1855785553 小时前
标题炼金术-电商标题优化的HarmonyOS开发实践
人工智能·华为·harmonyos·鸿蒙
gugucoding4 小时前
2. 【Java】搭建Java开发环境
java·开发语言