锐捷BGP【基础二】--尚文网络敏姐

BGP协议

这节主要学习IBGP和IGP之间的区别与联系, BGP 路由信息交互,了解BGP的安全性,BGP协议的基本配置,如何建立IBGP、EBGP对等体,引入与传递路由。

目录

BGP协议

BGP基础概念 

IBGP和IGP的不同

BGP 路由信息交互 

BGP 安全性

BGP基础实验

一,配置IP地址和OSPF内网

二,配置R1到R2的EBGP邻居 

三,配置内网R2和R4之间的IBGP邻居

四,两种BGP的路由信息发布

一,使用 BGP network宣告

​二,使用重分布将OSPF的所有路由通告为BGP

五,BGP路由黑洞问题


BGP基础概念 

IBGP和IGP的不同

 AS内部使用IBGP原因:

  •  IGP处理路由的条目有限,而目前internet上核心路由器的路由表已经超过10万条。  IGP本身 无法处理这样大的路由数量;
  • 路由环路的问题。BGP是靠路由属性来防止路由环路的,例如AS_PATH属性,假如说没有IBGP协议,那么当所有BGP路由重分发到IGP中后,路由属性必然丢失,这就破坏了BGP的路由环路防止机制,产生了路由环路的隐患。

 IBGP能够传送所有的路由前缀,为什么还需要IGP?

  •   IBGP之间是TCP连接,也就意味着IBGP邻居采用的是逻辑连接的方式,两个IBGP连接不一定存在实际的物理链路。所以需要有IGP来提供路由,以完成BGP路由的递归查找。
  •   在AS内部,BGP协议本身实际上并不发现路由,BGP将路由发现的工作全部移交给了IGP协议,它本身着重于路由的控制。因此,如果没有IGP,那么BGP也就毫无用处了。

BGP 路由信息交互
 

BGP本身不会自动产生路由,必须要将IGP的路由引入到BGP路由表中。引入的方式有2种:

BGP可以通过network和重分布方式发布路由

Network方式和ospf的network存在区别,ospf的network是为了告知本地那个接口加入ospf,BGP的network是为了告知本地的那条路由需要通过BGP传递。

因此BGP的network存在两个特点:

  • 1:不需要本地直连只要自己的路由表中存在即可
  • 2:宣告时掩码必须和本地路由表一致。因为不同的掩码表示不同的路由。锐捷BGP【基础二】--尚文网络敏姐_第1张图片

BGP 安全性

BGP 使用认证和 GTSM(Generalized TTL Security Mechanism)两个方法保证 BGP 对等体间的交互安全。

BGP认证

  • BGP 认证分为 MD5 认证和 Keychain认证,对 BGP 对等体关系进行认证是提高安全性的有效手段。MD5 认证只能为 TCP 连接设置认证密码,而 Keychain 认证除了可以为 TCP 连接设置认证密码外,还可以对 BGP 协议报文进行认证。

BGP GTSM

  • BGP GTSM 检测 IP 报文头中的 TTL(time-to-live)值是否在一个预先设置好的特定范围内,并对不符合 TTL 值范围的报文进行允许通过或丢弃的操作,从而实现了保护 IP 层以上业务,增强系统安全性的目的。

BGP基础实验

锐捷BGP【基础二】--尚文网络敏姐_第2张图片

一,配置IP地址和OSPF内网

R1:
R1(config)#interface  gigabitEthernet 0/0  //进入接口G0/0
R1(config-if-GigabitEthernet 0/0)#no switchport   //开启三层功能
R1(config-if-GigabitEthernet 0/0)#ip address 12.1.1.1 24  //配置接口ip地址
 
R1(config)#interface loopback0  //开启接口loopback口 
R1(config-if-Loopback 0)#ip address 1.1.1.1 32 //配置loopback口的IP地址

r2:
R2(config)#interface gigabitEthernet 0/0 //进入接口G0/0
R2(config-if-GigabitEthernet 0/0)#no switchport //开启三层功能
R2(config-if-GigabitEthernet 0/0)#ip address 12.1.1.2  24 //配置接口ip地址
R2(config-if-GigabitEthernet 0/0)#exit //退出接口模式

R2(config)#interface  gigabitEthernet 0/1  //进入接口G0/1
R2(config-if-GigabitEthernet 0/1)#no switchport   //开启三层功能
R2(config-if-GigabitEthernet 0/1)#ip address 23.1.1.2 24  //配置接口ip地址
R2(config-if-GigabitEthernet 0/1)# ip ospf  1 area 0  //配置OSPF 1的区域0

R2(config)#interface loopback0  //开启接口loopback口 
R2(config-if-Loopback 0)#ip address 2.2.2.2 32 //配置loopback口的IP地址
R2(config-if-Loopback 0)#ip ospf  1 area 0  //配置OSPF 1的区域0

R3:
R3(config)#interface gigabitEthernet 0/0 //进入接口G0/0
R3(config-if-GigabitEthernet 0/0)#no switchport //开启三层功能
R3(config-if-GigabitEthernet 0/0)#ip address 23.1.1.3  24 //配置接口ip地址

R3(config-if-GigabitEthernet 0/0)# ip ospf  1 area 0  //配置OSPF 1的区域0
R3(config-if-GigabitEthernet 0/0)#exit //退出接口模式

R3(config)#interface  gigabitEthernet 0/1  //进入接口G0/1
R3(config-if-GigabitEthernet 0/1)#no switchport   //开启三层功能
R3(config-if-GigabitEthernet 0/1)#ip address 34.1.1.3 24  //配置接口ip地址
R3(config-if-GigabitEthernet 0/1)# ip ospf  1 area 0  //配置OSPF 1的区域0

R3(config)#interface loopback0  //开启接口loopback口 
R3(config-if-Loopback 0)#ip address 3.3.3.3 32 //配置loopback口的IP地址
R3(config-if-Loopback 0)#ip ospf  1 area 0  //配置OSPF 1的区域0

R4:
R4(config)#interface  gigabitEthernet 0/0  //进入接口G0/0
R4(config-if-GigabitEthernet 0/0)#no switchport   //开启三层功能
R4(config-if-GigabitEthernet 0/0)#ip address 34.1.1.4 24  //配置接口ip地址
R4(config-if-GigabitEthernet 0/0)#ip ospf  1 area 0  //配置OSPF 1的区域0 


R4(config)#interface loopback0  //开启接口loopback口 
R4(config-if-Loopback 0)#ip address 4.4.4.4 32 //配置loopback口的IP地址
R4(config-if-Loopback 0)#ip ospf  1 area 0 //配置OSPF 1的区域0

二,配置R1到R2的EBGP邻居 

EBGP的配置一般情况不涉及跨设备建立邻居

R1:

R1(config)#router bgp  100   //启用BGP协议且本设备的AS号为100,每台设备只能属于一个AS,一旦启用AS,再加入其他AS会报错

R1(config-router)#neighbor  12.1.1.2 remote-as  200  //手工和12.1.1.2建立邻居关系,对端的AS为200

R2:

R2(config)#router  bgp  200  //启用BGP协议AS号为200

R2(config-router)#neighbor  12.1.1.1 remote-as  100 //手工配置和12.1.1.1的邻居 ,对端AS为100

EBGP配置完成,查看BGP邻居表

锐捷BGP【基础二】--尚文网络敏姐_第3张图片

当发现EBGP邻居建立失败,排错方式:

1.查看双方AS号是否写反,或者写错,遇到这个问题会报:

2.查看邻居ip地址是否配置有误,查看邻居表,会发现邻居在connect状态

锐捷BGP【基础二】--尚文网络敏姐_第4张图片

三,配置内网R2和R4之间的IBGP邻居

IBGP邻居通常使用Loopback接口建立邻居关系,使用loopback建立更加稳定,但需要注意配置update-source命令 用于强制修改源地址。

此时可以看到R2和R4之间配置了OSPF是互通的

锐捷BGP【基础二】--尚文网络敏姐_第5张图片

配置R2和R4的IBGP邻居

R4

R4(config)#router bgp  200   // 启用BGP协议AS号为200

R4(config-router)#neighbor  2.2.2.2 remote-as  200  //手工和2.2.2.2建立邻居关系,对端的AS为200

R2:

R2(config)#router  bgp  200  //启用BGP协议AS号为200

R2(config-router)#neighbor  4.4.4.4 remote-as  200 //手工配置和4.4.4.4的邻居 ,对端AS为200

此时查看BGP邻居表,发现邻居状态为active

锐捷BGP【基础二】--尚文网络敏姐_第6张图片

此时IBGP未配置完成,需要配置update-source

R2(config-router)#neighbor  4.4.4.4 update-source loopback 0 //和邻居4.4.4.4进行信息发送时使用loopback0的地址作为源地址,

R4(config-router)#neighbor  2.2.2.2 update-source loopback 0  //和邻居2.2.2.2进行信息发送时使用loopback0的地址作为源地址,两边只需要配置一边即可建立邻居,但是推荐都配置。

此时查看邻居表可以发现邻居建立成功

锐捷BGP【基础二】--尚文网络敏姐_第7张图片

四,两种BGP的路由信息发布

一,使用 BGP network宣告

在R2上做network宣告

查看R2的路由表,路由表存在的才可以network宣告【注意掩码一致】

锐捷BGP【基础二】--尚文网络敏姐_第8张图片

R2(config)#router  bgp 200 //启用BGP协议AS号为200

R2(config-router)#network 4.4.4.4 mask  255.255.255.255  //宣告4.4.4.4/32条目

R2(config-router)#network  3.3.3.0 mask  255.255.255.0   //宣告3.3.3.0/24条目,注意这条路由信息的掩码不对

此时发现R1学习到的BGP表里只有4.4.4.4/32,因为3.3.3.0/24不在路由表里所以就算写 它的network在BGP表里不会出现

锐捷BGP【基础二】--尚文网络敏姐_第9张图片二,使用重分布将OSPF的所有路由通告为BGP

R2(config)#router  bgp 200 //启用BGP协议AS号为200

R2(config-router)#redistribute ospf  1   //重分布OSPF1的路由进入BGP

配置完成后发现所有OSPF的路由全部进入BGP被R1学习

重分布配置完成,查看BGP路由表

锐捷BGP【基础二】--尚文网络敏姐_第10张图片

在R1上network自身的loopback接口

R1(config)#router  bgp  100  //启用BGP协议AS号为100

R1(config-router)#network  1.1.1.1 mask  255.255.255.255  //宣告1.1.1.1/32条目

此时查看 R2和R4可以看到到达R1的路由,可以看到R2到R4的IBGP传递下一跳不变,R4的下一跳不可达,路由不可用

锐捷BGP【基础二】--尚文网络敏姐_第11张图片

锐捷BGP【基础二】--尚文网络敏姐_第12张图片

R4需要通过手工的方式强制修改下一跳。

R2(config)#router  bgp  200 //启用BGP协议AS号为200

R2(config-router)#neighbor  4.4.4.4 next-hop-self   //向4.4.4.4发送路由时将下一跳修改自身的地址。

配置完成查看 BGP的路由信息

锐捷BGP【基础二】--尚文网络敏姐_第13张图片此时R1和R4仍然不可通信

五,BGP路由黑洞问题

在数据发送的过程中R4需要先将数据发送给R3,R3由于没有路由不知道怎么转发,所以直接丢弃。造成了路由黑洞。因此路由黑洞产生是因为BGP跨越多跳路由器建立邻居,中间设备没有学习BGP的相关路由,但是转发仍然需要经过这些设备造成的丢包现象。

解决方法:

同步规则【不建议】:将BGP和IGP路由信息同步,双向引入,将BGP重分布进OSPF里面

R2(config)#router  ospf 1 //进入OPSF 1

R2(config-router)#redistribute  bgp  subnets   //将BGP路由重分布到OSPF

此时 ,R1和R4之间可以进行通信

锐捷BGP【基础二】--尚文网络敏姐_第14张图片

有问题大家可以留言讨论,关注IT其他方面的小伙伴们可以参考尚文网络其他老师文章,也可以微信搜索尚文网络公众号,有详细资讯发布,认准尚文网络成为一名优秀的IT人。

你可能感兴趣的:(网络)