03-8 BGP的前缀告警门限/前缀列表

Technorati 标签: CCIE, CCNP, BGP, 前缀列表, 告警

该文档涉及的命令有:

neighbor x.x.x.x maximum-prefix prefix-limit

neighbor x.x.x.x maximum-prefix prefix-limit warning-only

neighbor x.x.x.x maximum-prefix prefix-limit threshold-value

neighbor x.x.x.x maximum-prefix prefix-limit threshold-value warning-only

ip prefix-list 的ge和le的用法.

这几个命令都是关于对路由器的性能保护的命令。

作用就是当路由器接收到了设置的前缀上限的时候,那么就应该停止接收前缀,并且发出告警等一系列的动作,是让邻居down还是其他动作。

官方解释:这些命令是用来限制特定邻居的前缀数量的,一旦达到Threshold-value的时候,便会生成一条路由器告警信息,比如说prefix-limit设置为1000,threshold-value设置为75%,那么到路由器从邻居收到了第751条路由的时候,路由器将产生一条告警信息。要是从邻居那里收到的前缀数目超过了prefix-limit的话,路由器会中断与邻居之间的bgp连接。如果使用了warning-only选项,那么当接收到了超过前缀限制值的时候,路由器会产生一条告警消息,但是邻居的连接是不会中断的。

下面用一个实例来验证一下这几个命令的功能:

clip_image002

在这个拓扑图中,R2会通告给R1一共8条路由。

有四条是R2自己产生的,有4条是R3通告给R2的。R1和R1是EBGP关系,所以R2会将所有的路由都通告给R1.

这个时候假如说R1路由器的性能很有限制。如果接收了8条路由以后,设备的内存,处理器对数据包的转发都供应不过来的时候。那么久需要设置bgp的条目限制了。

现在需要在R1上面设置最多能接收7条路由----如果超过了7条路由就立马告警.

R1#sh run | be router bgp

router bgp 1

no synchronization

bgp log-neighbor-changes

neighbor 10.1.1.2 remote-as 2011

neighbor 10.1.1.2 maximum-prefix 7 warning-only

no auto-summary

首先来解析一下这个命令,

如果光是命令neighbor 10.1.1.2 maximum-prefix 7

就是说,如果当从bgp邻居10.1.1.2收到了多余7条的bgp前缀的话,那么bgp邻居就直接断开。这样是为了保护设备。但是如果后面加入了warning-only的话,就是如果从邻居10.1.1.2学习到超过7条 的bgp路由前缀的时候,只是发送告警,但是bgp邻居不会断连.

clip_image004

还有一个就是告警门限.

neighbor x.x.x.x maximum-prefix prefix-limit threshold-value

neighbor x.x.x.x maximum-prefix prefix-limit threshold-value warning-only

第一条命令是设置告警门限。

如果设置的最大接收bgp前缀的条目是1000,那么默认threshold是75%.

如果超过75%,那么bgp邻居断开连接。

如果加上warning-only的话,就只会提示一条信息。并且记录到日志里,但是不会对邻居造成任何影响。

3-8-1 ip prefix 列表的gele的用法.

clip_image006

拓扑图依旧,在R1上面应该收到9条路由。

因为R2上面做了一条聚合路由。172.16.0.0/22

R1上面如果邻居建立好了以后,应该能收到9条路由,分别如下:

clip_image008

*> 172.16.0.0/24 10.1.1.2 0 0 2011 i

*> 172.16.0.0/22 10.1.1.2 0 0 2011 i

*> 172.16.1.0/24 10.1.1.2 0 0 2011 i

*> 172.16.2.0/24 10.1.1.2 0 0 2011 i

*> 172.16.3.0/24 10.1.1.2 0 0 2011 i

*> 198.16.0.0 10.1.1.2 0 2011 3 i

*> 198.16.1.0 10.1.1.2 0 2011 3 i

*> 198.16.2.0 10.1.1.2 0 2011 3 i

*> 198.16.3.0 10.1.1.2 0 2011 3 i

需求一:现在的需求是,在R2上面做过滤,最后只能让R1收到一条汇总路由22位的掩码.

在路由器2上面:

R2#sh run | be router bgp

router bgp 2011

no synchronization

bgp log-neighbor-changes

network 172.16.0.0 mask 255.255.255.0

network 172.16.1.0 mask 255.255.255.0

network 172.16.2.0 mask 255.255.255.0

network 172.16.3.0 mask 255.255.255.0

aggregate-address 172.16.0.0 255.255.252.0

neighbor 10.1.1.1 remote-as 1

neighbor 10.1.1.1 prefix-list aaa out

neighbor 10.1.2.2 remote-as 3

no auto-summary

ip prefix-list aaa seq 5 permit 172.16.0.0/22

这样做的话,那么R2就只会通告一条22位掩码的路由给R1去了,所以最后R1收到的不是9条路由,而是一条明细路由.

clip_image010

需求二:接收明细路由8条,过滤汇总路由一条.

之前我们都看到,如果没有做任何过滤规则的话,那么应该是R1能收到9条bgp路由前缀的,现在的需求是,收8条24位掩码的明细路由,过滤那条汇总路由22位掩码的。

这里不得不说到,ip prefix的语法里面,有一个ge,还有一个le。

当然,有两种方法。一种很笨,一种比较轻松。

*> 172.16.0.0/24 10.1.1.2 0 0 2011 i

*> 172.16.0.0/22 10.1.1.2 0 0 2011 i

*> 172.16.1.0/24 10.1.1.2 0 0 2011 i

*> 172.16.2.0/24 10.1.1.2 0 0 2011 i

*> 172.16.3.0/24 10.1.1.2 0 0 2011 i

*> 198.16.0.0 10.1.1.2 0 2011 3 i

*> 198.16.1.0 10.1.1.2 0 2011 3 i

*> 198.16.2.0 10.1.1.2 0 2011 3 i

*> 198.16.3.0 10.1.1.2 0 2011 3 i

这里如果要允许明细送过来,最笨的方法就是:

ip prefix aaa permit 172.16.0.0/24

ip prefix aaa permit 172.16.1.0/24

ip prefix aaa permit 172.16.2.0/24

ip prefix aaa permit 172.16.3.0/24

ip prefix aaa permit 192.16.0.0/24

ip prefix aaa permit 192.16.1.0/24

ip prefix aaa permit 192.16.2.0/24

ip prefix aaa permit 192.16.3.0/24 然后将这个列表应用到邻居的in或者出方向.

最后都有隐藏了deny any any的语句。这样R1就可以接收到8条明晰路由了。

但是假设路由器送过来的是1000条明晰加100条汇总,还能用这样的方法去写吗?

首先来说明一下参数:

ge :长于或者等于

le : 短于或者等于。

最后,在R2上面的配置为:

router bgp 2011

no synchronization

bgp log-neighbor-changes

network 172.16.0.0 mask 255.255.255.0

network 172.16.1.0 mask 255.255.255.0

network 172.16.2.0 mask 255.255.255.0

network 172.16.3.0 mask 255.255.255.0

aggregate-address 172.16.0.0 255.255.252.0

neighbor 10.1.1.1 remote-as 1

neighbor 10.1.1.1 prefix-list aaa out

neighbor 10.1.2.2 remote-as 3

no auto-summary

!

ip prefix-list aaa seq 5 permit 172.16.0.0/22 ge 24

ip prefix-list aaa seq 10 permit 198.16.0.0/22 ge 24

这两条命令的意思是,匹配172.16.0.0/22的掩码的路由,并且只有长于或者等于24位的掩码的路由才能生效。

最后在R1上面看结果:

clip_image012

刚好8条,那条172.16.0.0的汇总路由没有了。

你可能感兴趣的:(BGP,告警,ccnp,CCIE,前缀列表)