首先,我们需要对网络中的各个路由器进行基本配置。以R1路由器为例,首先进入系统配置模式,设置路由器名称为R1,然后配置接口和对应的ip地址。类似地,其他路由器如R2、R3、R4、R5和R6也需要进行相同的配置,但使用不同的IP地址和接口。
接下来,我们建立BGP邻居关系。在BGP协议中,邻居之间的路由信息交换是通过建立邻居关系来实现的。例如,R1与R2和R3建立邻居关系,R2与R1和R4建立邻居关系,以此类推。每个路由器都需要指定一个唯一的router-id,以及与邻居之间的AS号码。
在配置BGP邻居关系时,需要注意下一跳的设置。当路由从一个外部BGP邻居(EBGP)传递给一个内部BGP邻居(IBGP)时,需要修改下一跳地址,以确保路由信息能够正确传递。
然后是路由聚合的配置。路由聚合是减少路由表大小,提高路由效率的有效手段。这里有两种聚合方法:静态聚合和手动聚合。
静态聚合是通过路由策略实现的,它将多个明细路由聚合成一个总的聚合路由。在r5路由器上,我们可以使用`ip route-static`命令来配置静态聚合。然后,通过BGP的`network`命令宣告聚合路由。但这种方法有一个缺点,就是明细路由仍然会出现在路由表中,这可能会引起一些问题。
为了解决这一问题,我们可以使用手动聚合。手动聚合提供了更多的灵活性,它有几种不同的方式来处理明细路由。例如,可以使用`detail-suppressed`选项来抑制所有明细路由,或者使用`suppress-policy`来抑制特定的明细路由。此外,还可以通过`attribute-policy`来修改聚合路由的属性,或者使用`origin-policy`来根据特定的规则产生聚合路由。
在手动聚合中,还可以使用AS-set来包含原始的明细路由的AS号码,这有助于避免环路问题,并使得聚合路由能够继承明细路由的路径属性。此外,还可以设置Preference_Value,这是一个本地路由器优先考虑的私有属性,数值越大,优先级越高。
最后,需要验证聚合路由是否正确配置。在R1、R2、R3、R4上使用`display bgp routing-table`命令查看路由表,确保聚合路由已经正确应用,而明细路由已经被正确抑制或修改。
通过上述步骤,我们可以有效地配置BGP路由和实现路由聚合,从而提高网络的稳定性和效率。这些配置虽然复杂,但通过逐步理解和实践,可以更好地管理和优化网络环境。
2的3次方=8 聚合后是 24-3=21掩码 255.255.248.0
1.基本配置 1、基本配置 R1: sys sysnameR1 intloop0 ipadd1.1.1.132 intg0/0/0 iPadd192.168.12.124 intg0/0/1 ipadd192.168.13.124 q R2: sys sysnameR2 intloop0 ipadd2.2.2.232 intg0/0/0 ipadd192.168.12.224 intg0/0/1 ipadd192.168.24.224 q R3: sys sysnameR3 intloop0 ipadd3.3.3.332 intg0/0/1 ipadd192.168.13.324 intg0/0/0 ipadd192.168.34.324 intg0/0/2 ipadd192.168.35.324 q R4: sys sysnameR4 intloop0 ipadd4.4.4.432 intg0/0/1 ipadd192.168.24.424 intg0/0/0 ipadd192.168.34.424 intg0/0/2 ipadd192.168.46.424 q R5: sys sysnameR5 intloop0 ipadd5.5.5.532 intloop1 ipadd172.16.1.124 intloop2 ipadd172.16.2.124 intloop3 ipadd172.16.3.124 intloop4 ipadd172.16.4.124 intloop5 ipadd172.16.5.124 intloop6 ipadd172.16.6.124 intloop7 ipadd172.16.7.124 intg0/0/0 ipadd192.168.56.524 intg0/0/1 ipadd192.168.35.524 q R6: sys sysnameR6 intloop0 ipadd6.6.6.632 intloop1 ipadd192.168.1.124 intloop2 ipadd192.168.2.124 intloop3 ipadd192.168.3.124 intloop4 ipadd192.168.4.124 intloop5 ipadd192.168.5.124 intloop6 ipadd192.168.6.124 intloop7 ipadd192.168.7.124 intg0/0/0 ipadd192.168.56.624 intg0/0/1 ipadd192.168.46.624 q 2.建立BGP邻居 R1: [R1]bgp100 [R1-bgp]router-id1.1.1.1 [R1-bgp]peer192.168.12.2as-n200 [R1-bgp]peer192.168.13.3as-n300 R2: [R2]bgp200 [R2-bgp]router-id2.2.2.2 [R2-bgp]peer192.168.12.1as-n100 [R2-bgp]peer192.168.24.4as-n300 R3: [R3]bgp300 [R3-bgp]router-id3.3.3.3 [R3-bgp]peer192.168.13.1as-n100 [R3-bgp]peer192.168.35.5as-n400 [R3-bgp]peer192.168.34.4as-n300 [R3-bgp]peer192.168.34.4next-hop-local 当把R1的路由条目转给R4的时候,要改变下一跳,从R5学到的路由条目转给R4的时候也要改变下一跳为自己 R4: [R4]bgp300 [R4-bgp]router-id4.4.4.4 [R4-bgp]peer192.168.24.2as-n200 [R4-bgp]peer192.168.46.6as-n400 [R4-bgp]peer192.168.34.3as-n300 [R4-bgp]peer192.168.34.3next-hop-local 从EBGP邻居收到的路由,发给IBGP邻居的时候,改变下一跳 但从IBGP邻居收到的路由,发给EBGP邻居的时候,不需要使用 R5: [R5]BGP400 [R5-bgp]router-id5.5.5.5 [R5-bgp]peer192.168.35.3as-n300 [R5-bgp]peer192.168.56.6as-n400 [R5-bgp]peer192.168.56.6next-hop-local [R5-bgp]network172.16.1.024先宣告再聚合 [R5-bgp]network172.16.2.024 [R5-bgp]net172.16.3.024 [R5-bgp]net172.16.4.024 [R5-bgp]net172.16.5.024 [R5-bgp]net172.16.6.024 [R5-bgp]net172.16.7.024 R6: [R6]bgp400 [R6-bgp]router-id6.6.6.6 [R6-bgp]peer192.168.46.4as-n300 [R6-bgp]peer192.168.56.5as-n400 [R6-bgp]peer192.168.56.5next-hop-local [R6-bgp]net192.168.1.024 [R6-bgp]net192.168.2.024 [R6-bgp]net192.168.3.024 [R6-bgp]net192.168.4.024 [R6-bgp]net192.168.5.024 [R6-bgp]net192.168.6.024 [R6-bgp]net192.168.7.024
3.路由聚合 (1)静态聚合(可以选择跳过,直接看第二种方法,手工聚合。) [R5]iproute-static172.16.0.0255.255.248.0NULL0 [R5]bgp400 [R5-bgp]network172.16.0.021 [R6]bgp400 [R6-bgp]aggregatE192.168.0.021 验证: [R1]disbgprouting-table 虽然聚合到了,但还可以看到172.16.0.0/21的同时还有7条明细 现在想把明细给拒绝掉,采取团体属性。匹配后再发送给相应的邻居。——————前缀列表 [R5]ipip-prefixnoadpermit172.16.1.024 [R5]ipip-prefixnoadpermit172.16.2.024 [R5]ipip-prefixnoadpermit172.16.3.024 [R5]ipip-prefixnoadpermit172.16.4.024 [R5]ipip-prefixnoadpermit172.16.5.024 [R5]ipip-prefixnoadpermit172.16.6.024 [R5]ipip-prefixnoadpermit172.16.7.024 [R5]ipip-prefixnoadpermit192.168.1.024 [R5]ipip-prefixnoadpermit192.168.2.024 [R5]ipip-prefixnoadpermit192.168.3.024 [R5]ipip-prefixnoadpermit192.168.4.024 [R5]ipip-prefixnoadpermit192.168.5.024 [R5]ipip-prefixnoadpermit192.168.6.024 [R5]ipip-prefixnoadpermit192.168.7.024 [R5]route-policynoadpermitnode10 [R5-route-policy]if-matchip-prefixnoad [R5-route-policy]applycommunityno-advertise 不要广播 如果没匹配到就正常发送 [R5]route-policynoadpermitnode20 R5调用: [R5]bgp400 [R5-bgp]peer192.168.35.3route-policynoadexport有的就export过去 [R5-bgp]peer192.168.35.3adverise-commuity确保可选的过渡属性能被对等体识别到 [R5]discu|inip-pre 把列出来的粘贴到R6上,粘贴好后 [R6]route-policynoadpermitnode10 [R6-route-policy]if-matchip-prefixnoad [R6-route-policy]applycommunityno-advertise [R6]route-policynoadpermitnode20 R6调用 [R6]bgp400 [R6-bgp]peer192.168.46.4route-policynoadexport有的都export过去 [R6-bgp]peer192.168.46.4adverise-commuity确保可选的过渡属性能被对等体识别到 静态聚合R1R2查看路由表没问题,但R3R4一查看,还是有明细。导致部分聚合成功。静态弊端 (2)手动聚合,aggravate聚合的方式 第一种:detail-suppressed抑制全部明细路由 [R5]bgp400 [R5-bgp]aggregate172.16.0.021detail-suppressed抑制全部明细路由 [R6]bgp400 [R6-bgp]aggregate192.168.0.021detail-suppressed抑制全部明细路由 这种方法便捷 在R1R2R3R4查看disbgprouting-tableOK 第二种:suppress-policy抑制部分明细 对BGP来讲,可以发总的,也可以发指定明细+总 [R5]acl2000 [R5-acl-bASIC-2000]rulepermitsource172.16.1.00.0.0.255 [R5-acl-basic-2000]rulepermitsource172.16.2.00.0.0.255 [R5-acl-basic-2000]rulepermitsource172.16.3.00.0.0.255 [R5]route-policy10permitnode10 [R5-route-policy]if-matchacl2000 [R5]bgp400 [R5-bgp]aggregate172.16.0.021suppress-policy10抑制部分明细 第三种:attribute-policy修改路由属性 [R5]route-policyatpermitnode10 [R5-route-policy]applyoriginincomplete 改为引入进来的 直接应用,默认代表是所有 [R5]bgp400 [R5-bgp]aggregate172.16.0.021suppress-policy10attribute-policyat
第四种:origin-policy 通过符合route-policy的具体路由来产生聚合路由,不符合时不会聚合。 需求:汇总的路由是以某一条明细路由为出发点,明细路由消失,则不会通告该条汇总路由 [R6]acl2000 [R6-acl-basic-2000]rrulepermitsource 192.168.7.00.0.0.255 [R6]route-policyorpermitnode10 [R6-route-policy]if-matchacl2000 [R6]bgp400 [R6-bgp]aggregate192.168.0.021origin-policyoror是origin-policy的策略名称 R4上disbgprouting-table [R6]undointloop7关掉之后再查看路由表,前后对比 第五种:as-set 把起始的明细挂上去 AS号加在上面。防止环路产生 产生的这条汇总路由就可以继承明细路由的某些路径属性,从而规避一些问题 第六种:Preference_Value——首选值 首先考虑的BGP的私有属性,仅在本地路由器生效。越大越优先。s 审核编辑:黄飞