BGP管理距离和后门路由、条件注入及属性

网络 网络管理
在两个AS间可以存在一条单独链路交换相互间的数据量,但并不通告给其他AS,此时对于这条链路两端路由器可以加入network192.1.12.2backdoor即可,如下我们向大家介绍BGP管理距离和后门路由、条件注入及属性的相关知识。

一)、管理距离和后门路由

distancebgpexternalinternallocal修改EBGPIBGPlocalbgp的AD从而对选路产生影响;

在两个AS间可以存在一条单独链路交换相互间的数据量,但并不通告给其他AS,此时对于这条链路两端路由器可以加入network192.1.12.2backdoor即可,称为"后门路由":backdoor属性是使router优选从IGP学过来的路由而不是优选从IBGP邻居学过来的路由,因为缺省情况下EBGP邻居的AD为20,会始终优先选择,而不会选择其他AD的IGP路由协议传过来的路由。

后门路由用于一些特殊的情况将IGP路由的优先级调高于EBGP,下面看一种比较特殊的情况

例如如上拓扑结构,BB2中的199.172.0.0网段,通过重分布进入OSPF路由。在R5和R3上将会学到来自R4的IGP路由,同时R5做为R4的IBGP邻居将会学到一条IBGP的路由,由于IBGP路由管理距离大,在R5上对于选路没有影响,但对于R3而言,它将学到一条来自R5的EBGP路由,同时收到R4的IGP路由,此时,R3将把199.172.0.0的下一跳定义为R5,此时就产生了环路了。解决此问题的方法就是在R5和R3上的neighbor后挂接backdoor参数:neiip-addressbackdoor

产生这种现象的原因无非是BGP学习条目时候next-hop属性,默认的下一跳规则如下,自己产生的路由的下一跳为0.0.0.0,收到来自EBGP路由将下一跳改为EBGP对端的IP,对IBGP通告时不修改下一跳的值。但是可以通过next-hop-self修改此规则,将对IBGP也通告下一跳地址为自己。另可以采用next-hop-unchanged,防止收到EBGP路由后,修改下一跳的值,例如如上环路问题,也可通过在R5和R4上宣告Next-hop-unchanged来解决对于下一跳属性,还可以使用route-map来更改。

二)、条件路由注入

Bgpinject-maproutemap-nameexist-maproutemap-name[copy-attributes]

对于如上的拓扑结构,AS100遵循***出口原则,即172.16.1.0走R2->R4172.16.2.0走R3->R5

有如下配置方法:

1.MED,在AS200上设置MED,使AS100识别

2.AS-PathPrepend,R4通告给R2的2.0路由,加长AS-path,同理R5

3.使用条件路由注入

首先左边as300,有更为细化的172.16.1.0/24的路由

那么,在as100内收到172.16.0.0/16的路由,正常可能不是走r2-4的***路径,可能是从r3-5ebgp走的

那么条件路由注入(bgpinject-maproute-mapnameexist-maproute-mapname)的含义就是:

当r2bgp表中出现了172.16.0.0/16bgp路由,并且下一跳的路由更新源为192.168.24.4(r4)的时候,强行插入一个172.16.1.0/24的更为细化的bgp路由进入你的as100IBGP

这样,你的r1的ibgp路由选择就会发生变化,他会从r2r3同时受到172.16.0.0/16和172.16.1.0/24,但是根据路由的最长匹配原则,他会选择r2宣告的172.16.1.0/24去往as300。配置如下:

R2:

routerbgp100

bgpinject-mapAS200-specificexist-mapAS200-aggregate/*调用路由图

neighbor192.168.12.1remot-as100

nei192.168.12.1send-community

nei192.168.23.3remot-as100

nei192.168.23.3send-community

nei192.168.24.4remot-as200

nei192.168.24.4send-community

ipbgp-communitynex-format/*支持BGP新的团体属性格式

ipprefix-listAS200-R4permit192.168.24.4/32/*做路由器接口地址的前缀列表

ippreAggregatepre172.16.0.0/16/*做类的汇总条目的前缀列表

ippreSpecificper172.16.1.0/24/*做明细条目的前缀列表

route-mapAS200-specficper10/*做路由图AS200-specfic并匹配所有

setipaddpreSpecific/*设置ip地址为Specific的前缀条目

setcommunity100:200no-export/*设置团体属性为no-export(不宣告给下一跳as以外的其他as)

route-mapAS200-aggregateper10/*做路由图AS200-aggregate

matipaddpreAggregate/*匹配Aggregate前缀的路由条目

matiproute-sourceAS200-R4/*匹配路由源是AS200-R4的邻居学到的路由条目

总体调用过程理解为:匹配第二个路由图所匹配的条目(172.16.0.0/16和192.168.24.4/32),将其设置成***个路由图的属性(172.16.1.0/24并且no-export)

达到的效果就是:当r2bgp表中出现了172.16.0.0/16bgp路由,并且下一跳的路由更新源为192.168.24.4(r4)的时候,强行插入一个172.16.1.0/24的更为细化的bgp路由进入你的as100IBGP

这样,你的r1的ibgp路由选择就会发生变化,他会从r2r3同时受到172.16.0.0/16和172.16.1.0/24,但是根据路由的最长匹配原则,他会选择r2宣告的172.16.1.0/24去往as300

关于试验,偶没做出来效果,网络搜索也没查证到相关试验资料,有高手路过看到跪求指点。

三)、local_as属性:

如果AS8的路由器Day将进行迁移,假设为Day和Night合并为AS9,而不修改AS141~AS143的路由器(他们依旧认为Day属于AS8),这种迁移需要加入一个loca-as参数,即将Day的BGP进程改为9后,对指向的邻居做如下修改:neighbor192.1.12.2remot-as200

neighbor192.1.12.2local-as8

但是8上的AS-Path将会为89…..在做As_path过滤时需要添加这个local-as可以在local-as后加入no-prepend参数修改这个属性。

R6--R2--R4连接,R6为BGP6,R2为BGP12,R4为BGP345,将R2迁移至BGP6内,以下配置:

R2(config)#norouterb12

R2(config)#routerb6

R2(config-router)#bro2.2.2.2

R2(config-router)#noau

R2(config-router)#nosy

R2(config-router)#nei192.1.24.4remot345

R2(config-router)#nei192.1.26.6remot6

*Mar102:25:01.939:%BGP-3-NOTIFICATION:receivedfromneighbor192.1.24.42/2(peerinwrongAS)2bytes0006

R2(config-router)#nei192.1.24.4local-as?

<1-65535>ASnumberusedaslocalAS

<cr>

R2(config-router)#nei192.1.24.4local-as12

查看BGP邻居建立情况:

R2#showipbsu

NeighborVASMsgRcvdMsgSentTblVerInQOutQUp/DownState/PfxRcd

1.1.1.141200000neverIdle

192.1.24.443458710000:02:140

192.1.26.64688000neverActive

可以发现,没有配置nei192.1.24.4local-as12前,R4上关于R2的邻居关系还是BGP12的EBGP邻居,但是R2已经改变了BGP的AS号,所以邻居关系报错,(peerinwrongAS)

配置nei192.1.24.4local-as12之后,R2就成功的过渡到AS6内,在AS6内成功的与R4建立邻居关系。

【编辑推荐】

  1. 简述BGP知识点
  2. 路由器故障:BGP邻居无法建立
  3. 路由器故障:应用BGP协议VSI状态关闭
  4. 网络支架BGP协议详解
责任编辑:于爽 来源: 分享
相关推荐

2013-03-12 09:28:53

后门路由链路路由器路由器连接

2010-06-25 15:07:10

BGP路由协议

2010-06-18 14:18:44

BGP路由协议

2015-02-10 09:32:20

BGP路由器

2014-11-18 09:09:39

路由器路由算法跳数

2009-12-23 16:10:14

2014-01-07 09:18:35

路由器后门后门Netgear路由器

2009-12-22 14:22:14

BGP路由

2010-07-09 10:28:48

距离向量路由协议

2010-07-05 16:28:18

BGP路由协议

2010-07-12 16:07:14

BGP路由协议

2011-03-14 17:26:29

BGP

2009-06-15 17:48:32

Spring注解注入属性

2009-06-09 10:44:45

思科BGP后门链路验证过程

2009-11-12 14:32:00

BGP路由协议

2011-08-23 09:54:26

路由BGP

2011-05-17 10:15:02

BGPIS-IS

2010-06-10 16:16:42

BGP路由协议

2011-10-14 10:44:01

MPLSVPNMP-BGP

2010-06-18 15:03:12

BGP路由协议
点赞
收藏

51CTO技术栈公众号