思科CCNP认证BGP的建邻配置与属性详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

思科CCNP认证BGP的建邻配置与属性详解
本⽂讲述了思科CCNP认证BGP的建邻配置与属性。

分享给⼤家供⼤家参考,具体如下:
BGP建邻配置
BGP的宣告是依赖路由表的,宣告需要满⾜:
1:被宣告的路由必须在路由表中。

2:被宣告的路由必须和路由表中的前缀掩码⼀致。

⽆论本地路由表中的条⽬是通过何种⽅式获取的,均可宣告到BGP协议中。

BGP协议宣告时必须和本地路由表中的记录完全⼀致。

宣告:
r1(config-router)#network 100.1.1.1 mask 255.255.255.255
路由表:
IBGP默认使⽤回环建邻,EBGP默认使⽤直连建邻。

r2(config)#router bgp 1
r2(config-router)#bgp router-id 100.2.2.2
r2(config-router)#neighbor 100.5.5.5 remote-as 2
r2(config-router)#neighbor 100.5.5.5 ebgp-multihop
EBGP⾮直连建邻修改跳数:
EBGP建邻没有特殊情况⼀般使⽤直连建邻,如果使⽤⾮直连建邻需要修改跳数,默认情况下跳数为1(不修改跳数直接使⽤⾮直连建邻会失败)。

BGP的路由传递,传递的是BGP路由表中的路由信息。

BGP的路由表在收到路由以后需要检验该路由的下⼀跳是否可达,如果不可达该路由⼀定不优。

使⽤对等体组建邻BGP邻居:(可以减少建邻过程的重复操作步骤)
r1(config)#router bgp 1
r1(config-router)#bgp router-id 100.1.1.1
r1(config-router)#neighbor a peer-group
r1(config-router)#neighbor a remote-as 1
r1(config-router)#neighbor a update-source lo0
r1(config-router)#neighbor 100.2.2.2 peer-group a
r1(config-router)#neighbor 100.3.3.3 peer-group a
BGP属性
1:weight
cisco私有属性,对于离开AS的路由在路由器选择哪⼀条最优,本台路由器产⽣的路由weight值为32768,学习到的路由的weight值为0,不能传递。

适⽤于⼀台路由器在多条路径下的选路,⽆视邻居属性。

修改weight:
1>
r1(config)#router bgp 1
r1(config-router)#bgp router-id 100.1.1.1
r1(config-router)#neighbor 100.1.12.2 remote-as 1
r1(config-router)#neighbor 100.1.12.2 weight 4
//修改该邻居所有传递过来的路由weight值为4.
2>
r1(config)#ip prefix-list b permit 100.5.5.5/32
r1(config)#route-map k permit 10
r1(config-route-map)#match ip address prefix-list b
r1(config-route-map)#set weight 3
r1(config-route-map)#exit
r1(config)#route-map k permit 20
r1(config-route-map)#exit
r1(config)#router bgp 1
r1(config-router)#neighbor 100.5.5.5 route-map k in //只针对某⼀个路由修改weight值
weight的值的修改只能影响本路由器,不能影响到其他路由器,意味着如果AS只有⼀个出⼝,weight的选路是适⽤的,但是⽤多个出⼝路由器的情况下weight就不太适⽤。

2:origin
起源属性,标识该路由的来源⽅式,0表⽰宣告(i),1表⽰EGP学到(E),3表⽰其他⼿段得到(重发布 ? ),⽤ i > E > ? 的⽐较⽅式进⾏选路。

修改⽅式:
r3(config)#ip prefix-list a permit 100.6.6.6/32
r3(config)#route-map org permit 10
r3(config-route-map)#match ip address prefix-list a
r3(config-route-map)#set origin incomplete
r3(config-route-map)#exit
r3(config)#route-map org permit 20
r3(config-route-map)#exit
r3(config)#router bgp 1
r3(config-router)#neighbor 100.6.6.6 route-map org in //⽤in和out⽅向都⾏,适⽤于任何邻居之间。

r3(config-router)#exit
3:as path
⼀条路由在传输过程中经历了哪些AS(不算⾃⼰),顺序是最近经过的AS排前⾯,⼀个AS拒绝接收携带有⾃⼰AS号的路由,可⽤来防环,也可⽤于选路,as path短的优先。

修改⽅式:
r3(config)#ip prefix-list o permit 100.5.5.5/32
r3(config)#route-map as permit 10
r3(config-route-map)#match ip address prefix-list o
r3(config-route-map)#set as-path prepend ?
<1-4294967295> AS number
<1.0-XX.YY> AS number
last-as Prepend last AS to the as-path
r3(config-route-map)#set as-path prepend 2
r3(config-route-map)#exit
r3(config)#route-map as permit 20
r3(config-route-map)#exit
我们⼀般在选路当中添加AS会重复添加已经历的AS,⼀般不会添加没有经历的AS。

适⽤于任何邻居之间,in和out⽅向都⾏。

neighbor x.x.x.x allows-in 允许和具有⾃⼰相同的AS路由进⼊本AS。

//打破防环,在本路由器上使⽤。

neighbor x.x.x.x as-override 把具有和其他相同AS号的路由放⼊这个AS。

//邻居路由器上使⽤。

4:next-hop
到达路由的下⼀跳路由器ip地址,IBGP之间传路由next-hop不变,为0的时候会修改为更新源地址,EBGP之间传路由next-hop修改为更新源地址。

下⼀跳为0的优于其他路径。

修改⽅式:
r3(config)#ip prefix-list e permit 100.8.8.8/32
r3(config)#route-map p permit 10
r3(config-route-map)#match ip address prefix-list e
r3(config-route-map)#set ip next-hop 10.1.23.3
r3(config-route-map)#exit
r3(config)#route-map p permit 20
r3(config-route-map)#exit
修改下⼀跳的⽅向⽆所谓,邻居⽆所谓均可。

5:local_pref
与weight相同也是选路属性。

不能在EBGP邻居之间传递,可以在IBGP邻居之间传递,值越⾼越优先(默认100),常⽤于当本AS有多个出⼝路由器时,选择拥有local 值⼤的路由器作为出⼝路由器。

也可以是到达⼀个⽹段有多个出⼝路径时,选择local值⼤的路径。

修改路由器的默认local-pref值,该路由器通过给IBGP邻居的路由都会携带修改后的local值。

r3(config)#router bgp 1
r3(config-router)#bgp default local-preference 100
r3(config-router)#exit
2> 通过route-map 修改某路由的local-pref值,EBGP只能在in⽅向。

IBGP可以是in,也可以是out⽅向。

r3(config)#ip prefix-list t permit 100.9.9.9/32
r3(config)#route-map i permit 10
r3(config-route-map)#match ip address prefix-list t
r3(config-route-map)#set local-preference 120
r3(config-route-map)#exit
r3(config)#route-map i permit 20
r3(config-route-map)#exit
r3(config)#router bgp 1
r3(config-router)#neighbor 100.9.9.9 route-map i in
r3(config-router)#exit
6:MED
选路属性,本质就是metric,默认为0,⼀般只能⽤于⾃同⼀个AS发出路由的不同路径med值⽐较。

⽤于选择流⼊AS的⼊⼝路由器,可以在两个AS之间传递,不能传给第三个AS,越低越好。

⼀般⽤于影响对⽅AS,如果在本AS使⽤和local等同(注意med不能在路由器上修改默认值)。

修改⽅式:
r3(config)#ip prefix-list y permit 100.1.12.1/32
r3(config)#route-map r permit 10
r3(config-route-map)#match ip address prefix-list y
r3(config-route-map)#set metric 10
r3(config-route-map)#exit
r3(config)#route-map r permit 20
r3(config-route-map)#exit
r3(config)#router bgp 1
r3(config-router)#neighbor 10.1.12.1 route-map r in
r3(config-router)#exit
bgp always-compare-med //开启⽐较不同AS的med
ip bgp-community new-format //开启扩展格式匹配
7:atomic-aggregate
⽤来警告下游路由器路由聚合后产⽣的路由路径丢失。

BGP⽀持向BGP邻居传送重叠路由,可以选择多种⽅式。

as-set命令会使得该属性消失。

1> 明细和粗略都公布
aggregate-address 10.0.0.0 255.0.0.0
2> 只公布明细
aggregate-address 10.0.0.0 255.0.0.0 suppress-map
3> 只公布没有重叠的as-path
aggregate-address 10.0.0.0 255.0.0.0 summary-only as-set
4> 聚合后公布聚合后的路由
aggregate-address 10.0.0.0 255.0.0.0 summary-only
5> 明细和粗略都不公布
8:aggregator
⽤来通告汇总路由的汇聚路由器 BPR-ID(cisco),⽅便寻找汇总者。

9:community——团体属性
⽬的是为了更好地表⽰是BGP路由,标识格式为x : y
团体值的设置不能在EBGP之间(IBGP之间可以)。

它的传递可以在IBGP之间也可以在EBGP之间。

standard(做路由标识) extended(MPLS VPN),可读性好。

设置必须在IBGP之间可以⽤in也可以⽤out。

neighbor x.x.x.x send-community both/standard/extended
//团体属性如果需要传递必须开启该指令。

查看:
show ip bgp 10.1.1.1 //查看路由详情,可以看到团体值
show ip bgp community //该命令可以查看所有具有团体值的路由
show ip bgp community //查看某团体值的所有路由
匹配设置:
使⽤正则表达式进⾏匹配。

ip community-list ? //专⽤的community匹配⼯具
ip community-list expanded k permit 111
⽤community匹配完成后route-map 调⽤即可。

⼦属性:
1> internet 默认属性,可以给任何BGP发送 //不对携带团体值的路由做任何限制。

2> no_export 只能在⼀个AS内传递,可以在联盟内传递,该属性就是限制携带团体值的路由传递给EBGP邻居,联盟的EBGP除外。

场景:
正常情况下,a去b的流量⾛电信和联通之间的线路。

但当该条线路故障时,会⾛AS这条线路,影响AS内部的⽹路。

在AS上设置
no_export后,a去b的流量即使经过AS,但AS会将其丢弃,保证AS内部的正常流量通信。

3> no_advertise 不在IBGP、EBGP邻居间传递,禁⽌传递给任何邻居。

4> local_as 不向任何EBGP邻居发送包括联盟的EBGP邻居。

10:originator-id
路由反射使⽤,是路由发起者产⽣的⼀个32⽐特的值,该值是本地路由器发起者的RID,如果路由发起者从属性上看到⾃⼰的RID,说明有环路就忽略。

场景:
RR为反射器。

当有⼀条路由从a发出到RR上时,a会给该条路由标记⼀个32⽐特的值,当这条路由再次回到a上时,若发现该值,即⾃⼰的RID,则表⽰出现环路了,a会⾃动将该条路由丢弃以达到防环的⽬的。

11:cluster-list
路由反射使⽤,是路由经过反射器簇ID的⼀个序号,如果反射器在属性⾥看到⾃⼰的簇ID,就说明有环路就忽略。

场景:
当a路由从RR 1中发出时,会给a的属性中添加上RR1的簇ID,经过RR2、3上会添加上RR2、3的簇ID,再次回到RR1时,RR1发现属性中存在⾃⼰的簇ID,就表⽰出现了环路,会将a这条路由丢弃。

并且采⽤originator-id不能解决该场景的环路问题。

反射器:
反射器可以反射客户端之间,客户端与⾮客户端之间的路由,但是不能反射⾮客户端之间的路由。

只需在服务器端定义谁是客户端,未定义的即为⾮客户端。

neighbor 10.3.3.3 route-reflector-client
//在反射服务端上指定反射客户端,未指定的就是⾮客户端
反射器的缺点:
反射器收到两个或两个以上到达同⼀⽬标的路径时需要判断出最优的路由,然后反射给客户端,这样会导致这些设备丧失多条路径判断最优路径的权利。

场景:。

相关文档
最新文档