BGP路由器协议排错教程:BGP 路由通告的排错

工程师很容易对 BGP 路由通告产生误解,这是本章第一个需要解释清楚的概念。
4.1.1 本地路由通告问题
假设现在有一台路由器,它要把网络 10.1.0.0/16 和 10.0.0.0/8 放到 BGP 中,以便这些前缀
可以被通告给其他路由器。例 4-1 中展示了与此相关的基本配置。


例 4-1 基本的 10.1.0.0/16 网络通告和 10.0.0.0/8 聚合

R1# show run | s router bgp
router bgp 100
no bgp log-neighbor-changes
!
address-family ipv4
network 10.0.0.0
network 10.1.0.0 mask 255.255.0.0
exit-address-family

通过查看 BGP 表,工程师发现没有任何路由被放入 BGP 路由表中,详见例 4-2。


例 4-2 缺失 BGP 路由的配置

R1# show bgp ipv4 unicast
R1#

通过查看路由器的本地路由表,工程师发现路由器上有一条去往 10.1.1.0/24 网络的直连路
由,详见例 4-3。通过在路由器的全局路由表(也就是 RIB[路由信息库])中对这两个配置的网
络执行精确的路由查找,工程师发现这两个网络都不存在于这个表中。


例 4-3 在 RIB 中查找路由

R1# show ip route | b Gateway
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.1.1.0/24 is directly connected, Ethernet0/1
L 10.1.1.1/32 is directly connected, Ethernet0/1
192.168.1.0/32 is subnetted, 1 subnets
C 192.168.1.1 is directly connected, Loopback0
R1# show ip route 10.1.0.0 255.255.0.0
% Subnet not in table
R1# show ip route 10.0.0.0 255.0.0.0
% Subnet not in table

路由器的 RIB(路由表)中必须有明确的路由信息,这条路由才会被放入 BGP 表中,也就
才会被通告给 BGP 邻居。工程师有两种解决方案:更改 BGP 配置,使之与 RIB 中已有的路由
条目相匹配;或者为 BGP 配置中的网络创建静态路由。例 4-4 中展示了新的配置。


例 4-4 R1 上正确的路由通告和聚合配置

R1# show run | section route
router bgp 100
!
address-family ipv4
network 10.0.0.0
network 10.1.1.0 mask 255.255.255.0
exit-address-family
ip route 10.0.0.0 255.0.0.0 Null0

注释 在静态路由中使用 Null 0 接口是能够防止路由环路的安全机制。如果 R1 上有更精
确的路由(更长的匹配),它会按照更精确的路由来转发数据包。如果它没有更精确的路由,
数据包就会被丢弃。

 在做出了适当的更改后,例 4-5 中展示出 10.0.0.0/8 和 10.1.1.0/24 网络已经被放入了 BGP
表中。


例 4-5 查看 R1 上的 BGP 路由

R1# show bgp ipv4 unicast
! Output omitted for brevity
Network Next Hop Metric LocPrf Weight Path
*> 10.0.0.0 0.0.0.0 0 32768 i
*> 10.1.1.0/24 0.0.0.0 0 32768 i

4.1.2 路由聚合问题
另一个常见的问题是与 BGP 路由聚合相关的问题。详见例 4-6,R1 上有多条 RIB 路由都
属于 10.1.0.0/16 这个网络范围,它希望在 BGP 中把这些路由聚合为单条 10.1.0.0/16 地址。注意
这时候工程师已经重新配置了 BGP 配置,只有 10.1.0.0/16 网络被定义为聚合前缀。


例 4-6 R1 的全局 RIB 表

R1# show ip route
! Output omitted for brevity
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
C 10.1.12.0/24 is direct
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BGP(Border Gateway Protocol)是一种用于在互联网中交换路由信息的协议。当出现BGP路由问题时,可以按照以下排错指南进行排查: 1. 确认基本配置:检查BGP邻居关系的配置是否正确,包括对等***ed状态。如果邻居状态不正常,可能是由于配置错误、网络连接问题或者路由策略不匹配等原因引起的。 3. 检查路由表:使用show命令查看BGP路由表,确认是否收到了预期的路由信息。如果没有收到预期的路由,可能是由于过滤策略、路由聚合、路由重分发等原因导致的。 4. 检查路由策略:检查BGP路由策略配置,包括路由过滤、路由映射、路由聚合等。确保策略配置正确,并且与预期的路由行为一致。 5. 检查网络连接:检查BGP邻居之间的物理连接是否正常,包括链路状态、链路带宽、链路延迟等。如果物理连接有问题,可能会导致BGP邻居关系不稳定或者无法建立。 6. 检查路由器资源:检查路由器的CPU、内存、接口等资源利用率,确保没有资源瓶颈导致BGP路由问题。 7. 使用调试命令:根据具体情况,使用调试命令进行排错。例如,可以使用debug命令查看BGP消息的发送和接收情况,或者使用traceroute命令跟踪路由路径。 8. 查阅文档和社区:如果以上方法无法解决问题,可以查阅相关的文档、技术论坛或社区,寻求其他人的帮助和经验分享。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值