软件:Visio2003CorelDRAW12WPS2005
说明:一般情况下三台路由器。顺序:R1的s0接R2的s0,R2的s1接R3的R1。R2提供时钟。在这里用lookback接口来模拟不同网段。路由器都为最小配置cisco2501.IOS是12.0以上。提醒一下:现在可以用Dynamips软件完全模拟所有的实验。为了使实验更有价值,所写实验均在真实路由器上完成。
BGP学习心得
学习也是一种历程,有酸甜也有苦辣。不管是否成功,只知道风雨兼程。
我自己比较喜欢写心得,记录自己在学习中的失败与成功付出与回报。成功是属于那些曾经和正在努力的朋友。
只有加倍努力,才能超越自我。
经过26天不间断的努力,BGP完全实验手册终于写完。
我想,我在学习CCIEr/s时,遇到最大的问题就是BGP。当然,BGP还不是最难的,最难的我个为认为是集成is-is。因为:就算你想去学好这一协议,也是很难找得到像这方面的资料的。我在开始学习BGP时遇到很多问题,特别是在IGP学习时间长了,刚开始不能马上用另外一种思想去理解BGP。学习起来是十分艰难。不过,通过不断的努力。还有不断的实验,现在我只能说,BGP我算是入了门,能给不懂的朋友讲解BGP基础知识。我个人是想彻底征服BGP。BGP这种协议确实功能非常强大,能精确的控制路由条目的进与出。IGP没有一种协议能与之相提并论。这本实验手册是我在对照< 我在初学习BGP时,学的很辛苦,也学的很苦恼。开始老师在讲课时,坐在教室里,完全听不懂他在讲什么。不管原来有没有基础,我在听其它的内容时,绝没有像BGP这样一点也听不懂。当时分析有两种原因,一是深度很大,CCIE的深度,难度是CCIP的难度。如果没相当的基础和经验的话,要听懂还是要有相当的努力了。如果你认为是这样就不去学习这种协议或是放弃,那就很遗憾了。CCNP的难度是很小的,只要知道有这种协议和基础配置就行了。连BGP的门都没有进了。 当时全班有近三十名同学,第一天坐了三十名,第二天的时候中,就只有三名了,讲的时候大部分完全不能理解,我坐在那里也听不懂在讲什么。但是我一直坚持,一直坚信:一遍听不懂,听二遍,二遍听不懂听三遍,直到听懂为止。其它的同学都去自已看书去了。我一直反对这种看书的行为,因为听别人讲解要比你自己看书效果好的多了。就算是听不懂,也要去听,因为首先会给你的思想中留下一些概念,当自己在看书时,会对这些概念有相当 的熟悉。当然,并不是说同学们不认真或是不努力,而是大家的目标不一样。座在教室里,听不懂老师讲课的心情可想而知:非常苦闷。只看到老师在滔滔不绝的讲而自己完全听不懂老师讲的内容。自己交了钱来培训,但是完全听不懂老师在讲什么。那种心情的大家应该能感觉到。 后来我换了一种学习方法,那就是先看视频,然后在去看书。视频看了很多次,很多概念一个一个慢慢的理解,终于慢慢上路,第二次在来听课时,好了很多,基本上能听懂老师的课程。一分努力,一分收获。对实验的收获也算是最大的,我基本上是用实验去验证老师的讲解,特别是像同步等等,我直接去做实验去验证,当通过实验以后,真的很好理解,事实胜于雄辩。自己做过的实验,很难忘记。当然,BGP中的难点很多,在工程中,像社区,正则表达式等等,用的都是特别多的。在学习的时候也要特别注意这一方面。学习不能停在书上面,做实验是用来验证我们所学是不是正解的,而不是去学习几个命令就自以为大功告成。我一直认为BGP都是很难的,从开始学习到最后能给别人讲BGP实验。因为它的难度不是在BGP的十个必需要理解的属性,而是要在工程中灵活运用,将这些属性都能用到炉火纯青,如果将BGP与VPN,BGP与MPLS还有IPV6等等接合起来,那难度就是相当的大所以我们现在所学习的BGP是相对简单多了。而这些属性本身都有一些难度,比如,当有多出口时用那些属性,多入口时用那些属性,多出口在路由重分发时应当注意些什么。在设计BGP时又要怎样设计才能做到滴水不漏等等,BGP博大精深,值得喜欢的朋友多多研究。 这个实验手册总共收集了四十个实验,如果能完全将所有的实验都能熟练的完成和理解,那么你离高手也就不远了。 今天的成功是由于昨天的积累,明天的成功有耐于今天的努力. 手册中可能会有不当的地方,希望朋友能真诚的指出。也希望下个版本中能完善更多的实验。<<2008OSPF完全实验手册NPIE版>>也已完成,有兴趣的朋友可以参考。 BGP绝对是一门上乘武功,我也还在不断的努力学习中,能与志同道合的朋友探讨技术也是一件快事,希望真正的高手能不吝赐教。 2007年8月于杭州 BGP常用命令 下面的命令是在实验中经常用到的Showipbgp查看bgp路由表 Clearipbgp*清空bgp所有的邻居重健邻居表。Debugipbgp调试bgp邻居关系。 Debugipbgpneighbor-ip-addressupdates调试从邻居来的所有的 更新。 Debugipbgpneighbor-ip-addressupdatesaccess-list-number调试来自特定的bgp邻居更新。 Debugipevents调试与bgp邻居相关的事件。 Debugipbgpkeepalives调试在bgp邻居间发送的存活时间。 BGP选路顺序 Bgp属性分为:强制与任意必选与可选属性 起源(origin)路径(as-path)下一跳(next-hop)为强制必选属性。也以是不论那种路由器在运行bgp情况下必需要识别这三种属性。1忽略下一跳不可达的路由2忽略不同步的ibgp路由 3最大权重优先,思科私有权重属性4最大本地优先级优先。5起始于本地的路由优先6最短的as路径优先 7起源最小的路由优先。IGP>EGP>Incomplete8med值越小越优先。9ebgp路由优先于ibgp路由10最近的IGP邻居路由优先 11最老的路由优先注意现在这一条基本上不用了12最小id的路由器路由优先。 记忆时总结为六个字权本始短起M也以是权重本地起始最短 as起源MED 实验1 说明:BGP的同步 同步是BGP中一个重点也是难点,虽然这个特性是很早。但在配置时还是经常遇到,并且开始学习BGP时,理解难度很大。在这里通过实验来验证同步 一:不学习或宣告从IBGP学习到的路由信息给EBGP的邻居,除非从IGP路由信息中有这条路由信息。 二:如果不是通过IGP得到的路由,或者是下一跳不可达。就不能将IBGP学习到的路由安装在路由表中.原因,如果一台ibgp路由器后面在接一个as,那么就满足第一bgp同步定义,所以像这第二种意思,是同步更深一步的理解。千万注意。设备需求:Cisco2501路由器三台配置实例: r1#conft r1(config)#inte0 r1(config-if)#ipadd172.16.1.1255.255.255.0r1(config-if)#noshr1(config-if)#intlo0 r1(config-if)#ipadd1.1.1.1255.255.255.0r1(config-if)#end r2#conft r2(config)#inte0 r2(config-if)#ipadd172.16.1.2255.255.255.0r2(config-if)#noshr2(config-if)#ints1 r2(config-if)#ipadd10.1.1.1255.255.255.252r2(config-if)#nosh r2(config-if)#clra000r2(config-if)#end r3#conft r3(config)#ints1 r3(config-if)#ipadd10.1.1.2255.255.255.252r3(config-if)#noshr3(config)#intlo0 r3(config-if)#ipadd3.3.3.3255.255.255.0r3(config-if)#end r1#conft r1(config)#routerbgp1 r1(config-router)#nei172.16.1.2remote2 r1(config-router)#net1.1.1.0mask255.255.255.0r1(config-router)#end r2#conft r2(config)#routerbgp2 r2(config-router)#nei172.16.1.1remote1r2(config-router)#nei10.1.1.2remote2r2(config-router)#end r3#conft r3(config)#routerbgp2 r3(config-router)#nei10.1.1.1remote2 r3(config-router)#net3.3.3.0mask255.255.255.0r3(config-router)#end 现在看一下BGP表中r1#shipb BGPtableversionis2,localrouterIDis1.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*>1.1.1.0/240.0.0.0032768ir2#shipb BGPtableversionis2,localrouterIDis172.16.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork NextHop MetricLocPrfWeightPath *>1.1.1.0/24172.16.1.1001i*i3.3.3.0/2410.1.1.201000ir3#shipb BGPtableversionis2,localrouterIDis10.1.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork*i1.1.1.0/24*>3.3.3.0/24 NextHop172.16.1.10.0.0.0 MetricLocPrfWeightPath010001i032768i 先验证第一条:不学习或宣告从IBGP学习到的路由信息给EBGP的邻居,除非从IGP 路由信息中有这条路由信息。 可以看到在r1上面没有3.3.3.0/24这条路由条目,原因就是由于同步,r2不会传给r1。现在在R2上关闭同步。看一下效果。r2#conft r2(config)#routerbgp2r2(config-router)#nosyr2(config-router)#endr2#cleipb*r1#shipb BGPtableversionis3,localrouterIDis1.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*>1.1.1.0/240.0.0.0032768i*>3.3.3.0/24172.16.1.202i现在可以看到R1上面有了3.3.3.0/24这个条目,这个条目是R3上面的,但是PING不通。因为没有IGP路由信息。r1#ping3.3.3.3 Typeescapesequencetoabort. Sending5,100-byteICMPEchosto3.3.3.3,timeoutis2seconds:..... Successrateis0percent(0/5)r1#shiproub 3.0.0.0/24issubnetted,1subnetsB3.3.3.0[20/0]via172.16.1.2,00:02:43 如果要想到过R3的话,那么必需有IGP路由。现在来验证第二条: 如果不是通过IGP得到的路由,或者是下一跳不可达。就不能将IBGP学习到的路由安装在路由表中. r3#shipb BGPtableversionis2,localrouterIDis10.1.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*i1.1.1.0/24172.16.1.1010001i*>3.3.3.0/240.0.0.0032768ir3#shiprou Codes:C-connected,S-static,I-IGRP,R-RIP,M-mobile,B-BGP D-EIGRP,EX-EIGRPexternal,O-OSPF,IA-OSPFinterareaN1-OSPFNSSAexternaltype1,N2-OSPFNSSAexternaltype2E1-OSPFexternaltype1,E2-OSPFexternaltype2,E-EGP i-IS-IS,L1-IS-ISlevel-1,L2-IS-ISlevel-2,ia-IS-ISinterarea*-candidatedefault,U-per-userstaticroute,o-ODRP-periodicdownloadedstaticrouteGatewayoflastresortisnotset 3.0.0.0/24issubnetted,1subnetsC3.3.3.0isdirectlyconnected,Loopback0 10.0.0.0/30issubnetted,1subnetsC10.1.1.0isdirectlyconnected,Serial1现在R3中没有R1的路由条目。先关闭R3的同步看一下效果。r3#conft r3(config)#routerbgp2r3(config-router)#nosyr3(config-router)#endr3# r3#cleipb*r3#shiprou Codes:C-connected,S-static,I-IGRP,R-RIP,M-mobile,B-BGP D-EIGRP,EX-EIGRPexternal,O-OSPF,IA-OSPFinterareaN1-OSPFNSSAexternaltype1,N2-OSPFNSSAexternaltype2E1-OSPFexternaltype1,E2-OSPFexternaltype2,E-EGP i-IS-IS,L1-IS-ISlevel-1,L2-IS-ISlevel-2,ia-IS-ISinterarea*-candidatedefault,U-per-userstaticroute,o-ODRP-periodicdownloadedstaticrouteGatewayoflastresortisnotset 3.0.0.0/24issubnetted,1subnets C 3.3.3.0isdirectlyconnected,Loopback010.0.0.0/30issubnetted,1subnetsC10.1.1.0isdirectlyconnected,Serial1 R3路由表中还是没有了。现在看到。因为下一跳不可达。r3#ping172.16.1.1 Typeescapesequencetoabort. Sending5,100-byteICMPEchosto172.16.1.1,timeoutis2seconds:..... Successrateis0percent(0/5) 现在通过IGP来学习路由信息。注意这一情况下是在实验环境中,而不是在真实的工程中。r1#conft r1(config)#routerei1 r1(config-router)#net1.0.0.0r1(config-router)#net172.16.0.0r1(config-router)#noaur1(config-router)#end r2#conft r2(config)#routerei1 r2(config-router)#net10.0.0.0r2(config-router)#net172.16.0.0r2(config-router)#noaur2(config-router)#endr3#conft r3(config)#routerei1 r3(config-router)#net10.0.0.0r3(config-router)#net3.0.0.0r3(config-router)#noautr3(config-router)#end r1#shiprouei 10.0.0.0/30issubnetted,1subnetsD10.1.1.0[90/21956]via172.16.1.2,00:01:08,Ethernet0r1#shiproub 3.0.0.0/24issubnetted,1subnetsB3.3.3.0[20/0]via172.16.1.2,00:06:22r1#ping3.3.3.3 Typeescapesequencetoabort. Sending5,100-byteICMPEchosto3.3.3.3,timeoutis2seconds:!!!!! Successrateis100percent(5/5),round-tripmin/avg/max=32/33/36msr3#shiproub 1.0.0.0/24issubnetted,1subnetsB1.1.1.0[200/0]via172.16.1.1,00:01:57r3#ping1.1.1.1 Typeescapesequencetoabort. Sending5,100-byteICMPEchosto1.1.1.1,timeoutis2seconds:!!!!! Successrateis100percent(5/5),round-tripmin/avg/max=32/32/36ms现在通过IGP学习到路由。所有全部PING通。第二种情况。 现在只让R2R3运行IGP. r1#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.r1(config)#norouterei1r1(config)#endr3#ping1.1.1.1 Typeescapesequencetoabort. Sending5,100-byteICMPEchosto1.1.1.1,timeoutis2seconds:..... Successrateis0percent(0/5) 将R1的IGP去了以后,马上R3不能在PING通R1r3#shiproub 1.0.0.0/24issubnetted,1subnets B1.1.1.0[200/0]via172.16.1.1,00:05:09r3#shipb BGPtableversionis5,localrouterIDis3.3.3.3 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*>i1.1.1.0/24172.16.1.1010001i*>3.3.3.0/240.0.0.0032768i现在只能在BGP表中看到路由条目,但是路由表中没有。原因:无法到达下一跳r3#ping172.16.1.1 Typeescapesequencetoabort. Sending5,100-byteICMPEchosto172.16.1.1,timeoutis2seconds:..... Successrateis0percent(0/5)现在在R2中宣告到达10.1.1.0。 r2#conft r2(config)#routerbgp2 r2(config-router)#net10.1.1.0mask255.255.255.252r2(config-router)#end现在看一下效果 r3#shiproub 1.0.0.0/24issubnetted,1subnetsB1.1.1.0[200/0]via172.16.1.1,00:02:11 172.16.0.0/16isvariablysubnetted,2subnets,2masksB172.16.0.0/16[200/0]via10.1.1.1,00:02:07r3#ping172.16.1.1 Typeescapesequencetoabort. Sending5,100-byteICMPEchosto172.16.1.1,timeoutis2seconds:!!!!! Successrateis100percent(5/5),round-tripmin/avg/max=32/33/36msr3#ping172.16.1.2 Typeescapesequencetoabort. Sending5,100-byteICMPEchosto172.16.1.2,timeoutis2seconds:!!!!! Successrateis100percent(5/5),round-tripmin/avg/max=28/31/32msr3#ping1.1.1.1 Typeescapesequencetoabort. Sending5,100-byteICMPEchosto1.1.1.1,timeoutis2seconds:!!!!! Successrateis100percent(5/5),round-tripmin/avg/max=32/32/36ms全部ping通。所以在同步时,一定要注意下一跳是否可达。实验2 BGP环回接口实验 语法:Neighboripaddress/peer-grouup-nameupdate-sourceinterface-name说明:用环回接口做为邻居时比用物理接口稳定.指定用环回接口时,一定用指定源IP地址。update-sourceinterface-name 注意:建立邻居关系的首要条件是能够通ping对端。设备需求:Cisco2501路由器三台配置实例 现在A与C相连。可以用两种方法来建邻居通过环回接口,也可以通过直连接口来建立.现在用环回接口来建立ra#conft ra(config)#intlo0 ra(config-if)#ipadd1.1.1.1255.255.255.255ra(config-if)#inte0 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#end rc#conft rc(config)#intlo0 rc(config-if)#ipadd2.2.2.2255.255.255.255rc(config-if)#inte0rc(config-if)#nosh rc(config-if)#ipadd10.1.1.2255.255.255.252rc(config-if)#noshrc(config-if)#end ra#conft ra(config)#routerbgp1 ra(config-router)#nei2.2.2.2remote1 ra(config-router)#nei2.2.2.2update-sourcelo0ra(config-router)#end rc#conft rc(config)#routerbgp1 rc(config-router)#nei1.1.1.1remote1 rc(config-router)#nei1.1.1.1update-sourcelo0rc(config-router)#end验证: ra#shipbs BGProuteridentifier1.1.1.1,localASnumber1BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd2.2.2.2 4 V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 100000neverActive rc#shipbs BGProuteridentifier2.2.2.2,localASnumber1BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 1.1.1.14100000neverIdle邻居没有建立成功。如果要建立成功。必须能ping通对方。现在设静态路由。ra#conft ra(config)#iproute2.2.2.2255.255.255.25510.1.1.2ra(config)#endrc#conft rc(config)#iproute1.1.1.1255.255.255.25510.1.1.1rc(config)#end ra#shipbs BGProuteridentifier1.1.1.1,localASnumber1BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 2.2.2.241441rc#shipbs BGProuteridentifier2.2.2.2,localASnumber1BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd V ASMsgRcvdMsgSent 0000:00:460 TblVerInQOutQUp/Down 1.1.1.1414410000:00:52现在邻居关系建立起来。建立邻居关系的首要条件是通够ping对端。实验二: 建立IBGP邻居关系,中间经过路由器B。用环回接口 0 ra#conft ra(config)#intlo0 ra(config-if)#ipadd1.1.1.1255.255.255.255ra(config-if)#ints0 ra(config-if)#ipadd192.168.1.1255.255.255.0ra(config-if)#nosh ra(config-if)#end rb#conft rb(config)#ints0 rb(config-if)#ipadd192.168.1.2255.255.255.0rb(config-if)#nosh rb(config-if)#clr000rb(config-if)#ints1 rb(config-if)#ipadd192.168.2.1255.255.255.0rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end rc#conft rc(config)#intlo0 rc(config-if)#ipadd3.3.3.3255.255.255.255rc(config-if)#ints1 rc(config-if)#ipadd192.168.2.2255.255.255.0rc(config-if)#noshrc(config-if)#end ra#conft ra(config)#iproute192.168.2.0255.255.255.0s0ra(config)#iproute3.3.3.3255.255.255.255s0ra(config)#end rb#conft rb(config)#iproute1.1.1.1255.255.255.255s0rb(config)#iproute3.3.3.3255.255.255.255s1rb(config)#end rc#conft rc(config)#iproute192.168.1.0255.255.255.0s1rc(config)#iproute1.1.1.1255.255.255.255s1rc(config)#end ra#conft ra(config)#routerbgp1 ra(config-router)#nei3.3.3.3remote1ra(config-router)#nei3.3.3.3uplo0ra(config-router)#endrc#conft rc(config)#routerbgp1 rc(config-router)#nei1.1.1.1remote1rc(config-router)#nei1.1.1.1uplo0rc(config-router)#end ra#shipbs BGProuteridentifier1.1.1.1,localASnumber1BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd3.3.3.3 4 V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 14410000:00:060 rc#shipbs 00:08:05:%BGP-5-ADJCHANGE:neighbor1.1.1.1UpBGProuteridentifier3.3.3.3,localASnumber1BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd1.1.1.1 4 V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 14410000:00:020 现在邻居关系健立起来。在次强调,邻居关系的健立必须能ping通对方,在这里经过路由器b。那么必须有到达对方的静态路由。所以设置两条静态路由.当然也证明ibgp可以不必直接相连。 实验三。通过路由协议来建立邻居关系。 ra#conft ra(config)#routerei1 ra(config-router)#net1.0.0.0ra(config-router)#net10.0.0.0ra(config-router)#noaura(config-router)#endrb#conft rb(config)#routerei1 rb(config-router)#net10.0.0.0rb(config-router)#noaurb(config-router)#endrc#conft rc(config)#routerei1 rc(config-router)#net10.0.0.0rc(config-router)#net3.0.0.0rc(config-router)#noaurc(config-router)#end 当运行路由协议时,邻居关系就建立起来了。ra#shipbs BGProuteridentifier1.1.1.1,localASnumber1BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd3.3.3.3 4 V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 1212510000:00:380 rc#shipbs BGProuteridentifier3.3.3.3,localASnumber1BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd1.1.1.1 4 V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 1222610000:01:350 邻居关系健立的关健是看能不能到达对方。也就是能不能ping通对方。还有下一跳可不可达. 实验3 语法:Neighboripaddress/peer-grouup-nametimerskeepaliveholdtime 作用:用来修改bgp的存活时间与保持时间,默认为60秒与180秒。一般情况下不用修改。 注意:如果两边路由器都改,则以最小的值为标准设备需求:Cisco2501路由器二台配置实例: 实验一: 两台路由器都改自己的存活时间与保持时间ra#conft ra(config)#ints1 ra(config-if)#ipadd10.1.2.1255.255.255.252ra(config-if)#nosh ra(config-if)#clra000ra(config-if)#end rb#conft rb(config)#ints1 rb(config-if)#ipadd10.1.2.2255.255.255.252rb(config-if)#noshrb(config-if)#end ra(config)#routerbgp1 ra(config-router)#nei10.1.2.2remote2ra(config-router)#nei10.1.2.2timers2060ra(config-router)#end rb#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.rb(config)#routerbgp2 rb(config-router)#nei10.1.2.1remote1rb(config-router)#nei10.1.2.1timers3090rb(config-router)#end ra#shipbs BGProuteridentifier172.16.3.1,localASnumber1BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd10.1.2.2 4 V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 24410000:00:040 当两台路由器都改时间时,以最小的为标准rb#shipbnei BGPneighboris10.1.2.1,remoteAS1,externallinkBGPversion4,remoterouterID172.16.3.1BGPstate=Established,upfor00:01:11 Lastread00:00:11,holdtimeis60,keepaliveintervalis20secondsConfiguredholdtimeis90,keepaliveintervalis30secondsNeighborcapabilities: Routerefresh:advertisedandreceived(new) AddressfamilyIPv4Unicast:advertisedandreceivedReceived7messages,0notifications,0inqueueSent7messages,0notifications,0inqueueRouterefreshrequest:received0,sent0 Defaultminimumtimebetweenadvertisementrunsis30secondsForaddressfamily:IPv4Unicast BGPtableversion1,neighborversion1Index1,Offset0,Mask0x2 0acceptedprefixesconsume0bytes Prefixadvertised0,suppressed0,withdrawn0NumberofNLRIsintheupdatesent:max0,min0Connectionsestablished1;dropped0 说明:可以看到两台路由器修改的时间不一样,但是路由器将以时间的最小值为标准。实验4 语法:Bgpfast-external-fallover 作用:默认情况下,这个命令是打开的,意思是当邻居down了,bgp会话也立即关闭。可以用no掉,这样邻居连结关闭时,邻居关系仍存在,当然超过bgp配置时间,连结也会关闭. 设备需求:Cisco2501路由器二台配置实例: ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config)#inte0 ra(config-if)#ipadd172.17.1.1255.255.255.0ra(config-if)#noshra(config-if)#end rb#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.rb(config)#inte0 rb(config-if)#ipadd172.17.1.2255.255.255.0rb(config-if)#nosh ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config)#routerbgp1 ra(config-router)#nei172.17.1.2remote2ra(config-router)#end rb#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.rb(config)#routerbgp2 rb(config-router)#nei172.17.1.1remote1rb(config-router)#end 现在邻居关系建立起来。ra#shipbs BGProuteridentifier172.17.1.1,localASnumber1BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd172.17.1.2 4 V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 24410000:00:160 现在关闭ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config)#inte0ra(config-if)#sh 邻居关系马上就down。现在noBgpfast-external-fallover这样在保持时间内邻居关系不会关闭。不管邻居是不是关闭状态 现在关闭rb#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.rb(config)#routerbgp2 rb(config-router)#nobgpfast-external-falloverrb(config-router)#end 当在次关闭路由器a时,邻居关系没有马上切断。会一直保持连结,除非超过保持时间才会切断。rb#shipbs BGProuteridentifier172.17.1.2,localASnumber2BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd172.17.1.1 4 V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 1151910000:03:030 ra#shipbs BGProuteridentifier172.17.1.1,localASnumber1BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 172.17.1.242151500000:01:48Idle 总结:Bgpfast-external-fallover默认是打开的,意思是如果邻居关闭,就会切断邻居关系。如果no掉,那么在保时间内会一直保持邻居关系,而不管是对方是不是down了。实验5 语法:Bgprouter-idip-address 作用:主要用来设置路由器的id。路由器的id顺序:手工配置,环回接口最高,最后是物理接口最高的ip地址。 注意:设置路由器id最大的好处就是可以人为的控制路由器id号。一般情况下建议设置路由器id 设备需求:Cisco2501路由器二台配置实例: ra#conft ra(config)#ints1 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#clra000ra(config-if)#noshra(config-if)#intlo0 ra(config-if)#ipadd1.1.1.1255.255.255.255ra(config-if)#end rb#conft rb(config)#ints1 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#noshrb(config-if)#exit rb(config)#routerbgp2 rb(config-router)#nei10.1.1.1remote1rb(config-router)#end ra#conft ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2remote2ra(config-router)#end 邻居关系建立起来,查看一下路由器idra#shipbnei BGPneighboris10.1.1.2,remoteAS2,externallinkBGPversion4,remoterouterID10.1.1.1BGPstate=Established,upfor00:00:47 Lastread00:00:47,holdtimeis180,keepaliveintervalis60secondsrb#shipbnei BGPneighboris10.1.1.1,remoteAS1,externallinkBGPversion4,remoterouterID1.1.1.1BGPstate=Established,upfor00:01:42 Lastread00:00:42,holdtimeis180,keepaliveintervalis60seconds现在通过命令来改变路由器idra#conft ra(config)#routerbgp1 ra(config-router)#bgprouter-id2.2.2.2ra(config-router)#end ra#shipbs BGProuteridentifier2.2.2.2,localASnumber1BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 10.1.1.2427路由器id改变后,邻居关系重新建立。 700000:00:10Idle 路由器id马上就改变了。设置路由器id最大的好处就是可以人为的控制路由器id号。一般情况下建议设置路由器id 实验6 语法:Neighboripaddress/peer-group-nameadvertisementintervalseconds 作用:修改bgp触发时间。如果邻居是ibgp则修改ibgp时间,如果是ebgp则会修改ebgp时间了。默认情况下,ibgp为5秒,ebgp为30秒。这是路由更新的最少时间。原因,就是:当路由条目在一定时间闪动多次时,也只有到了最少触发时间才会发出触发更新。一般情况下,不必要修改。但是注意这个时间是可以修改的以行。设备需求:Cisco2501路由器三台配置实例: rb(config)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#endrb#conft rb(config)#ints1 rb(config-if)#ipadd10.2.1.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end ra#conft ra(config)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#end rc#conft rc(config)#ints1 rc(config-if)#ipadd10.2.1.2255.255.255.252 rc(config-if)#noshrc(config-if)#end ra#conft ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2remote1ra(config-router)#end rb#conft rb(config)#routerbgp1 rb(config-router)#nei10.1.1.1remote1rb(config-router)#nei10.2.1.2remote2rb(config-router)#end rc#conft rc(config)#routerbgp2 rc(config-router)#nei10.2.1.1remote1rc(config-router)#end rb#shipbs BGProuteridentifier10.2.1.1,localASnumber1BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd10.1.1.110.2.1.2 44 V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 121100000:01:09000:00:2900 邻居关系起来了。查看一下触发时间rb#shipbnei BGPneighboris10.1.1.1,remoteAS1,internallinkBGPversion4,remoterouterID10.1.1.1BGPstate=Established,upfor00:03:10 Lastread00:00:10,holdtimeis180,keepaliveintervalis60secondsNeighborcapabilities: Routerefresh:advertisedandreceived(new) AddressfamilyIPv4Unicast:advertisedandreceivedReceived7messages,0notifications,0inqueueSent7messages,0notifications,0inqueueRouterefreshrequest:received0,sent0 Defaultminimumtimebetweenadvertisementrunsis5seconds BGPneighboris10.2.1.2,remoteAS2,externallinkBGPversion4,remoterouterID10.2.1.2BGPstate=Established,upfor00:02:58 Lastread00:00:58,holdtimeis180,keepaliveintervalis60secondsNeighborcapabilities: Routerefresh:advertisedandreceived(new) AddressfamilyIPv4Unicast:advertisedandreceivedReceived6messages,0notifications,0inqueueSent6messages,0notifications,0inqueueRouterefreshrequest:received0,sent0 Defaultminimumtimebetweenadvertisementrunsis30seconds 实验一修改触发时间 rb#conft rb(config)#routerbgp1 rb(config-router)#nei10.1.1.1advertisement-interval15rb(config-router)#nei10.2.1.2advertisement-interval45rb(config-router)#end 注意,如果邻居是ibgp则修改ibgp触发时间,如果是ebgp邻居则修改ebgp触发时间rb#shipbnei BGPneighboris10.1.1.1,remoteAS1,internallinkBGPversion4,remoterouterID10.1.1.1BGPstate=Established,upfor00:03:49 Lastread00:00:48,holdtimeis180,keepaliveintervalis60secondsNeighborcapabilities: Routerefresh:advertisedandreceived(new) AddressfamilyIPv4Unicast:advertisedandreceivedReceived18messages,0notifications,0inqueueSent18messages,0notifications,0inqueueRouterefreshrequest:received0,sent0 Defaultminimumtimebetweenadvertisementrunsis5secondsForaddressfamily:IPv4Unicast BGPtableversion1,neighborversion1Index1,Offset0,Mask0x2 0acceptedprefixesconsume0bytes Prefixadvertised0,suppressed0,withdrawn0NumberofNLRIsintheupdatesent:max0,min0 Minimumtimebetweenadvertisementrunsis15seconds BGPneighboris10.2.1.2,remoteAS2,externallinkBGPversion4,remoterouterID10.2.1.2BGPstate=Established,upfor00:03:48 Lastread00:00:48,holdtimeis180,keepaliveintervalis60secondsNeighborcapabilities: Routerefresh:advertisedandreceived(new) AddressfamilyIPv4Unicast:advertisedandreceivedReceived17messages,0notifications,0inqueueSent17messages,0notifications,0inqueueRouterefreshrequest:received0,sent0 Defaultminimumtimebetweenadvertisementrunsis30secondsForaddressfamily:IPv4Unicast BGPtableversion1,neighborversion1Index2,Offset0,Mask0x4 0acceptedprefixesconsume0bytes Prefixadvertised0,suppressed0,withdrawn0NumberofNLRIsintheupdatesent:max0,min0 Minimumtimebetweenadvertisementrunsis45seconds实验7 语法:Neighboripaddress/peer-group-nameebgp-multihop 作用:Ebgp邻居一般情况下直连,如果不是直连,可通过这个命令来修改。值为1-255如果不指定,默认为255 注意:如果要用多跳,一定要注意下一跳可达。设备需求:Cisco2501路由器二台配置实例: rb(config)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#ints1 rb(config-if)#ipadd10.1.2.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end ra(config)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#end rc#conft rc(config)#ints1 rc(config-if)#ipadd10.1.2.2255.255.255.252rc(config-if)#noshrc(config-if)#endrc# ra#conft ra(config)#routerbgp1 ra(config-router)#nei10.1.2.2remote2 ra(config-router)#nei10.1.2.2ebgp-multihop255ra(config-router)#exitra(config)# rc#conft rc(config)#routerbgp2 rc(config-router)#nei10.1.1.1remote1 rc(config-router)#nei10.1.1.1ebgp-multihop255rc(config-router)#exitrc(config)# 现在通过静态路由到达对端 rc(config)#iproute10.1.1.0255.255.255.0s1ra(config)#iproute10.1.2.0255.255.255.0s0要与邻居建立邻居关系,必有到达对方的路由 ra#shipbs BGProuteridentifier10.1.1.1,localASnumber1BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd10.1.2.2 4 V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 24410000:00:590 rc#shipbs BGProuteridentifier10.1.2.2,localASnumber2BGPtableversionis1,mainroutingtableversion1NeighborState/PfxRcd10.1.1.14邻居关系建立好了。 V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 15510000:01:110 实验8 语法:BGP实验1路由汇总Aggregate-address+addressmaskAggregate-address+上需要汇总的地址和掩码 作用:bgp支持手动汇总,将多条精细路由汇总为一个汇总路由。既可以用始发路由器的汇合,也可以用于接收路由器的汇合。 注意:如果一个路由表中精细路由都没有了,那么汇总路由也就撤消了。汇总路由依赖于精细路由。 设备需求:Cisco2501路由器二台配置实例: r1#conft r1(config)#ints0 r1(config-if)#ipadd10.1.1.1255.255.255.0r1(config-if)#clra000r1(config-if)#noshr1#conft r1(config)#routerbgp1 r1(config-router)#nei10.1.1.2remote2r1(config-router)#end r2#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.r2(config)#intlo0 r2(config-if)#ipadd172.16.1.1255.255.255.0r2(config-if)#intlo1 r2(config-if)#ipadd172.16.2.1255.255.255.0r2(config-if)#intlo3 r2(config-if)#ipadd172.16.3.1255.255.255.0r2(config-if)#intlo4 r2(config-if)#ipadd172.16.4.1255.255.255.0r2(config-if)#ints0 r2(config-if)#ipadd10.1.1.2255.255.255.0r2(config-if)#noshr2(config-if)#end r2#conft r2(config)#routerbgp2 r2(config-router)#nei10.1.1.1remote1 r2(config-router)#net172.16.1.0mask255.255.255.0r2(config-router)#net172.16.2.0mask255.255.255.0r2(config-router)#net172.16.3.0mask255.255.255.0r2(config-router)#net172.16.4.0mask255.255.255.0r2(config-router)#end 现在有bgp路由条目r2#shipb 00:16:42:%SYS-5-CONFIG_I:Configuredfromconsolebyconsoler2#shipbgp BGPtableversionis5,localrouterIDis182.16.4.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.1.0/24172.16.2.0/24172.16.3.0/24172.16.4.0/24 NextHop0.0.0.00.0.0.00.0.0.00.0.0.0 MetricLocPrfWeightPath 032768i032768i032768i032768i *> *>*>*> r1#shipbgp BGPtableversionis5,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.1.0/24172.16.2.0/24172.16.3.0/24172.16.4.0/24 NextHop10.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 002i002i002i002i *> *>*>*> 现在汇总路由r2#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.r2(config)#routerbgp2 r2(config-router)#aggregate-address172.16.0.0255.255.252.0r2(config-router)#endr2# r2#shipbgp BGPtableversionis6,localrouterIDis182.16.4.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/22172.16.1.0/24172.16.2.0/24172.16.3.0/24172.16.4.0/24 NextHop0.0.0.00.0.0.00.0.0.00.0.0.00.0.0.0 MetricLocPrfWeightPath 32768i 032768i032768i032768i032768i *> *>*>*>*> r2#shiprou Codes:C-connected,S-static,I-IGRP,R-RIP,M-mobile,B-BGP D-EIGRP,EX-EIGRPexternal,O-OSPF,IA-OSPFinterareaN1-OSPFNSSAexternaltype1,N2-OSPFNSSAexternaltype2E1-OSPFexternaltype1,E2-OSPFexternaltype2,E-EGP i-IS-IS,L1-IS-ISlevel-1,L2-IS-ISlevel-2,ia-IS-ISinterarea*-candidatedefault,U-per-userstaticroute,o-ODRP-periodicdownloadedstaticrouteGatewayoflastresortisnotset 172.16.0.0/16isvariablysubnetted,5subnets,2masks 172.16.4.0/24isdirectlyconnected,Loopback4172.16.0.0/22[200/0]via0.0.0.0,00:00:49,Null0172.16.1.0/24isdirectlyconnected,Loopback0172.16.2.0/24isdirectlyconnected,Loopback1172.16.3.0/24isdirectlyconnected,Loopback310.0.0.0/24issubnetted,1subnets 10.1.1.0isdirectlyconnected,Serial0 CBCCCC 当然也可以汇总成主类网络路由。但是,一般情况下不建议这样做,因为这样可能汇总后有不属于自己的路由。 r2(config)#routerbgp2r2(config-router)#noaggr r2(config-router)#noaggregate-address172.16.0.0255.255.252.0r2(config-router)#aggregate-address172.16.0.0255.255.0..0r2(config-router)#end r2#clearipbgp* r2#shipbgp BGPtableversionis8,localrouterIDis172.16.4.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork172.16.0.0172.16.1.0/24172.16.2.0/24172.16.3.0/24172.16.4.0/24 NextHop0.0.0.00.0.0.00.0.0.00.0.0.00.0.0.0 MetricLocPrfWeightPath 32768i 032768i032768i032768i032768i *> *>*>*>*> r2#shiprou Codes:C-connected,S-static,I-IGRP,R-RIP,M-mobile,B-BGP D-EIGRP,EX-EIGRPexternal,O-OSPF,IA-OSPFinterareaN1-OSPFNSSAexternaltype1,N2-OSPFNSSAexternaltype2E1-OSPFexternaltype1,E2-OSPFexternaltype2,E-EGP i-IS-IS,L1-IS-ISlevel-1,L2-IS-ISlevel-2,ia-IS-ISinterarea*-candidatedefault,U-per-userstaticroute,o-ODRP-periodicdownloadedstaticrouteGatewayoflastresortisnotset 172.16.0.0/16isvariablysubnetted,5subnets,2masks 172.16.4.0/24isdirectlyconnected,Loopback4172.16.0.0/16[200/0]via0.0.0.0,00:02:33,Null0172.16.1.0/24isdirectlyconnected,Loopback0172.16.2.0/24isdirectlyconnected,Loopback1172.16.3.0/24isdirectlyconnected,Loopback310.0.0.0/24issubnetted,1subnets 10.1.1.0isdirectlyconnected,Serial0 CBCCCC 总结:在这里当路由汇总会总有一个指向null0的路由条目。主要做用是防环。当其中一个精细路由down后。如果现在r2有一条指向r1的默认路由。现在r1要到达一个精细路由r2。此时r2将通过指向r1的默认路由指向r1。这样就发生了环路。现在有了指到null0的路由,一但精细路由没有了,则会匹配指向null0的路由条目。实验二 Aggregate-address+addressmask也可以用于接收路由器进行汇合。 实验二r1#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.r1(config)#inte0 r1(config-if)#ipadd172.17.1.2255.255.255.0r1(config-if)#noshr1(config-if)#end r1(config)#routerbgp65530 r1(config-router)#nei172.17.1.1remote1r1(config-router)#end r2#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.r2(config)#inte0 r2(config-if)#ipadd172.17.1.1255.255.255.0r2(config-if)#noshr2(config-if)#endr2(config)#ints1 r2(config-if)#ipadd10.1.1.1255.255.255.0r2(config-if)#nosh r2(config-if)#clra000r2(config-if)#enderbgp1 r2(config-router)#aggregate-address172.16.0.0255.255.252.0r2(config-router)#nei10.1.1.2remote2 r2(config-router)#nei172.17.1.2remote65530r2(config-router)#end R3#conft r3(config)#ints1 r3(config-if)#ipadd10.1.1.2255.255.255.0r3(config-if)#noshr3(config-if)#endR3(config)#intlo0 R3(config-if)#ipadd172.16.0.1255.255.255.0R3config-if)#intlo1 R3(config-if)#ipadd172.16.1.1255.255.255.0R3(config-if)#intlo2 R3(config-if)#ipadd172.16.2.1255.255.255.0R3(config-if)#intlo3 R3(config-if)#ipadd172.16.3.1255.255.255.0R3(config-if)#routerbgp2 R3(config-router)#net172.16.0.0mask255.255.255.0R3(config-router)#net172.16.1.0mask255.255.255.0R3(config-router)#net172.16.2.0mask255.255.255.0R3(config-router)#net172.16.3.0mask255.255.255.0 R3(config-router)#nei10.1.1.1remote1R3(config-router)#end r3#shipbgp BGPtableversionis6,localrouterIDis172.16.3.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.0.0/22172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop0.0.0.010.1.1.10.0.0.00.0.0.00.0.0.0 MetricLocPrfWeightPath 032768i 01i 032768i032768i032768i *> *>*>*>*> r2#shipbgp BGPtableversionis6,localrouterIDis172.17.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.0.0/22172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop10.1.1.20.0.0.010.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 002i 32768i 002i002i002i *> *>*>*>*> r1#shipbgp BGPtableversionis6,localrouterIDis172.17.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.0.0/22172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop172.17.1.1172.17.1.1172.17.1.1172.17.1.1172.17.1.1 MetricLocPrfWeightPath 012i01i012i012i012i *>*>*>*>*> 注意在这里path不一样了,在r2上面是i.认为是自己的。而r3是1i,r1上面也是1i证明是由r2汇合的。这点要注意。 实验三 Aggregate-address+addressmask+as-set 作用:来明确路由信息的as路径。实验环境与上面一样。所有的配置与上面一样了。 r2#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.r2(config)#routerbgp1 r2(config-router)#noaggregate-address172.16.0.0255.255.252.0r2(config-router)#aggregate-address172.16.0.0255.255.252.0as-setr2(config-router)#end r1#shipbgp BGPtableversionis28,localrouterIDis172.17.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.0.0/22172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop172.17.1.1172.17.1.1172.17.1.1172.17.1.1172.17.1.1 MetricLocPrfWeightPath 012i012i012i012i012i *>*>*>*>*> r2#shipbgp BGPtableversionis16,localrouterIDis172.17.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.0.0/22172.16.1.0/24172.16.2.0/24 NextHop10.1.1.20.0.0.010.1.1.210.1.1.2 MetricLocPrfWeightPath 002i 327682i 002i002i *> *>*>*> *>172.16.3.0/2410.1.1.2002i r3#shipbgp BGPtableversionis7,localrouterIDis172.16.3.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop0.0.0.00.0.0.00.0.0.00.0.0.0 MetricLocPrfWeightPath 032768i032768i032768i032768i *> *>*>*> 在这里r3里面没有汇合的路由。R1与r2都保持原来的路径消息不变。为什么r3的汇合路由没有了,我也不清楚了。但是当我在次不加as-set时,r3汇合路由又有了。在这里大家注意一下了。 实验9 语法:Aggregate-addressaddressmasksummary-only作用:只广播一条聚合路由,而抑制明确路由。设备需求:Cisco2501路由器二台配置实例 ra#conft ra(config-if)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#en rb#conft rb(config)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra00rb(config-if)#end rb#conft rb(config)#intlo0 rb(config-if)#ipadd172.16.0.1255.255.255.0rb(config-if)#intlo1 rb(config-if)#ipadd172.16.1.1255.255.255.0rb(config-if)#intlo2 rb(config-if)#ipadd172.16.2.1255.255.255.0rb(config-if)#intlo3 rb(config-if)#ipadd172.16.3.1255.255.255.0rb(config-if)#exit rb(config)#routerbgp2 rb(config-router)#net172.16.0.0mask255.255.255.0rb(config-router)#net172.16.1.0mask255.255.255.0rb(config-router)#net172.16.2.0mask255.255.255.0rb(config-router)#net172.16.3.0mask255.255.255.0rb(config-router)#nei10.1.1.1remote1rb(config-router)#end ra#conft ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2remote2ra(config-router)#end 现在路由条目广播到路由器a上面ra#shipb BGPtableversionis5,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop10.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 002i002i002i002i *> *>*>*> rb#conft rb(config)#routerbgp2 rb(config-router)#aggregate-address172.16.0.0255.255.252.0summary-onlyrb(config-router)#end 通过命令过将只广播聚合的路由,而抑制明确路由。ra#shipb BGPtableversionis12,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *>172.16.0.0/22 NextHop10.1.1.2 MetricLocPrfWeightPath 02i rb#shipb BGPtableversionis10,localrouterIDis172.16.3.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.0.0/22172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop0.0.0.00.0.0.00.0.0.00.0.0.00.0.0.0 MetricLocPrfWeightPath 032768i 32768i 032768i032768i032768i s> *>s>s>s> 说明:通过命令summary-only将只广播一条聚合路由,而抑制明确路由. 实验10 语法:Neighboripaddress/peer-group-nameroute-maproute-map-nameout作用:使用标准访问列表基本路由过滤设备需求:Cisco2501路由器二台配置实例 ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config-if)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#end rb#conft rb(config)#intlo0 rb(config-if)#ipadd172.16.0.1255.255.255.0rb(config-if)#intlo1 rb(config-if)#ipadd172.16.1.1255.255.255.0rb(config-if)#intlo2 rb(config-if)#ipadd172.16.2.1255.255.255.0rb(config-if)#intlo3 rb(config-if)#ipadd172.16.3.1255.255.255.0rb(config-if)#endrb(config)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#endrb#conft rb(config)#routerbgp2 rb(config-router)#nei10.1.1.1remote1 rb(config-router)#net172.16.0.0mask255.255.255.0rb(config-router)#net172.16.1.0mask255.255.255.0rb(config-router)#net172.16.2.0mask255.255.255.0rb(config-router)#net172.16.3.0mask255.255.255.0rb(config-router)#end ra#conft ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2remote2ra(config-router)#end 现在通过route-map来过滤172.16.1.0/24。 rb#conft rb(config)#access-list1permit172.16.1.00.0.0.255rb(config)#access-list1perany rb(config)#route-mapccnapermit10rb(config-route-map)#matchipadd1 rb(config-route-map)#exitrb(config)#routerbgp2 rb(config-router)#nei10.1.1.1route-maccnaoutrb(config-router)#endrb# 上面的route-map的意思是:拒绝向邻居发送172.16.1.0/24实验二 先删除上面的route-map配置 操作AS路径信息 通过route-map来改变经过的路径,可以虚拟出路由器经过的路径。Setas-pathprependx假设经过的AS路径下面set意思是首先经过asx这个路径 rb#conft rb(config)#route-mapccnapermit10 rb(config-route-map)#setas-pathprepend6rb(config-route-map)#exit rb(config)#route-mapccnapermit20rb(config-route-map)#end ra#shipb BGPtableversionis13,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *>172.16.0.0/24*>172.16.1.0/24*>172.16.2.0/24*>172.16.3.0/24现在可以看到始发as NextHop10.1.1.210.1.1.210.1.1.210.1.1.2为6 MetricLocPrfWeightPath 0026i0026i0026i0026i 实验三: 指定特定的as路由信息 先删除上面的route-map配置 rb#conft rb(config)#noroute-mapccnapermit10rb(config)#noroute-mapccnapermit20 rb(config)#access-list1permit172.16.1.00.0.0.255rb(config)#route-mapccnapermit10rb(config-route-map)#matchipadd1 rb(config-route-map)#setaspre7rb(config-route-map)#exit rb(config)#route-mapccnapermit20rb(config-route-map)#end ra#shipb BGPtableversionis21,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop10.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 002i0027i002i002i *> *>*>*> 上面实验证明as路径改变了。 实验四 通过修改社区属性community 首先一定要使用neighborsend-communit来广播设置,不然是学习不到的先删除上面的配置 rb#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.rb(config)#access-list1permit172.16.0.00.0.0.255rb(config)#access-list2permit172.16.1.00.0.0.255rb(config)#access-list3permit172.16.2.00.0.0.255rb(config)#access-list4permit172.16.3.00.0.0.255rb(config)#route-mapccnaper10rb(config-route-map)#matchipadd1rb(config-route-map)#setcommunity1rb(config-route-map)#exit rb(config)#route-mapccnapermit20rb(config-route-map)#matipadd2rb(config-route-map)#setcommu2rb(config-route-map)#exit rb(config)#route-mapccnaper30rb(config-route-map)#matchipadd3rb(config-route-map)#setcommu3rb(config-route-map)#exit rb(config)#route-mapccnaper40rb(config-route-map)#matchipadd4 rb(config-route-map)#setcommu4rb(config-route-map)#exit rb(config)#route-mapccnaper50rb(config-route-map)#end 上面的意思是如果满足上面的地址条件,那么它的属性就设为社团属性一后面的同样意思最后一项是许可别的通过。应用在与路由映射的不匹配的所有的更新上面下面的命令不要忘记,不然邻居学习不了。rb(config)#routerbgp2 rb(config-router)#nei10.1.1.1send-communityrb(config-router)#end 说明:send-community如果设置了社团属性一定要使用这个命令让接收的路由器来识别。不然,别的路由器将不能识别这个属性。 ra#shipbcommunity1 BGPtableversionis5,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*>172.16.0.0/2410.1.1.2002ira#shipbcommunity2 BGPtableversionis5,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *>172.16.1.0/24 NextHop10.1.1.2 MetricLocPrfWeightPath 002i ra#shipbcommunity3 BGPtableversionis5,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*>172.16.2.0/2410.1.1.2002ira#shipbcommunity4 BGPtableversionis5,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *>172.16.3.0/24 NextHop10.1.1.2 MetricLocPrfWeightPath 002i ra#实验成功。 实验11 语法:Neighboripaddress/peer-group-nameroute-maproute-map-namein说明:使用标准访访问列表过滤设备需求:Cisco2501路由器二台配置实例 可以过用route-map来精确的控制进与出的路由条目b#conft rb(config)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#intlo0 rb(config-if)#ipadd172.16.0.1255.255.255.0rb(config-if)#intlo1 rb(config-if)#ipadd172.16.1.1255.255.255.0rb(config-if)#intlo2 rb(config-if)#ipadd172.16.2.1255.255.255.0rb(config-if)#intlo3 rb(config-if)#ipadd172.16.3.1255.255.255.0rb(config-if)#end ra(config)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.252 ra(config-if)#noshra(config-if)#end ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2remote2ra(config-router)#end rb#conft rb(config)#routerbgp2 rb(config-router)#nei10.1.1.1remote1 rb(config-router)#net172.16.0.0mask255.255.255.0rb(config-router)#net172.16.1.0mask255.255.255.0rb(config-router)#net172.16.2.0mask255.255.255.0rb(config-router)#net172.16.3.0mask255.255.255.0rb(config-router)#end 现在在ABbgp表中都可以看到了 现在通过route-map来过滤172.16.2.0/24这条路由条目ra#conft ra(config)#access-list1deny172.16.2.00.0.0.255ra(config)#access-list1permitanyra(config)#route-mapccnapermit10ra(config-route-map)#matchipadd1ra(config-route-map)#exitra(config)#routerbgp1 ra(config-router)#nei10.1.1.2route-mapccnainra(config-router)#end ra#shipb BGPtableversionis4,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*>172.16.0.0/2410.1.1.2002i*>172.16.1.0/2410.1.1.2002i*>172.16.3.0/2410.1.1.2002i通过bgp表可以看到阻止了收到172.16.2.0/24 实验二 在B上配置一个聚合路由。配置一个ip扩展访问列表来过滤。 ra(config)#access-list100denyip172.16.2.00.0.3.255255.255.252.00.0.0.0ra(config)#access-list100permitipanyany ra(config)#route-mapccnapermit10ra(config-route-map)#matchipadd100ra(config-route-map)#end 如果没有上面的过滤,那么下面的聚合路由将传给路由a。现在将上面route-map运用到a中。那么聚合路由将学习不了。rb#conft rb(config)#routerbgp2 rb(config-router)#aggregate-address172.16.0.0255.255.252.0rb(config-router)#end rb#shipb BGPtableversionis6,localrouterIDis172.16.3.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.0.0/22172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop0.0.0.00.0.0.00.0.0.00.0.0.00.0.0.0 MetricLocPrfWeightPath 032768i 32768i 032768i032768i032768i *> *>*>*>*> ra#shipb BGPtableversionis11,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*>172.16.0.0/2410.1.1.2002i*>172.16.1.0/2410.1.1.2002i*>172.16.2.0/2410.1.1.2002i*>172.16.3.0/2410.1.1.2002i实验三 基本的bgp属性配置。先将上面的配置删除ra#conft ra(config)#route-mapccnapermit10ra(config-route-map)#setweight100ra(config-route-map)#end 上面的route-map的意思是将所有的接收到的条目权重全部都设置成100现验证ra#shipb BGPtableversionis20,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.0.0/22172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop10.1.1.210.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 01002i 1002i 01002i01002i01002i *> *>*>*>*> 实验四 有选择的属性操作 ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config)#acc ra(config)#access-list1permit172.16.2.00.0.0.255ra(config)#route-mapccnaper10ra(config-route-map)#matchipadd1ra(config-route-map)#setwei100ra(config-route-map)#exit ra(config)#route-mapccnapermit20ra(config-route-map)#setwei126ra(config-route-map)#end 上面的意思是,将172.16.2.0/24的权重设为100剩下的全部设置为126本地默认为32768 验证 ra#shipb BGPtableversionis6,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.0.0/22172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop10.1.1.210.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 01262i 1262i 01262i01002i01262i *> *>*>*>*> 基于as路径信息的过滤器 在这里也可以用邻居的as号做过过滤条件,这里要用到正则表达式ra#conft ra(config)#ipas-pathaccess-list1permit^2$ra(config)#route-mapccnaper10 ra(config-route-map)#matchas-path1ra(config-route-map)#setwei190ra(config-route-map)#exit ra(config)#route-mapccnapermit20ra(config-route-map)#end 上面的意思是:当收到相邻的as2传来的路由条目时设置权重为190其它的允许通过ra#shipb BGPtableversionis6,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetworkNextHop*>172.16.0.0/2410.1.1.2*>172.16.0.0/2210.1.1.2*>172.16.1.0/2410.1.1.2*>172.16.2.0/2410.1.1.2*>172.16.3.0/2410.1.1.2实验证明所收到权重全部变成190 MetricLocPrfWeightPath 01902i 1902i 01902i01902i01902i 实验12 语法:Aggregate-addressaddressmasksuppress-maproute-map-name作用:通过route-map将能在抑制明确路由条目下广播聚合路由设备需求:Cisco2501路由器二台配置实例: ra#conft ra(config-if)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#en rb#conft rb(config)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra00rb(config-if)#end rb#conft rb(config)#intlo0 rb(config-if)#ipadd172.16.0.1255.255.255.0rb(config-if)#intlo1 rb(config-if)#ipadd172.16.1.1255.255.255.0rb(config-if)#intlo2 rb(config-if)#ipadd172.16.2.1255.255.255.0rb(config-if)#intlo3 rb(config-if)#ipadd172.16.3.1255.255.255.0rb(config-if)#exit rb(config)#routerbgp2 rb(config-router)#net172.16.0.0mask255.255.255.0rb(config-router)#net172.16.1.0mask255.255.255.0rb(config-router)#net172.16.2.0mask255.255.255.0rb(config-router)#net172.16.3.0mask255.255.255.0rb(config-router)#nei10.1.1.1remote1rb(config-router)#end ra#conft ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2remote2ra(config-router)#end 在路由器b上面配置,在抑制比较明确路由172.16.2.0/24时,将启动对聚合的广播rb#conft rb(config)#routerbgp2 rb(config-router)#aggregate-address172.16.0.0255.255.252.0supprb(config-router)#$ddress172.16.0.0255.255.252.0suppress-mapccnarb(config-router)#exit rb(config)#access-list1permit172.16.2.00.0.0.255rb(config)#route-mapccnapermit10rb(config-route-map)#matipadd1rb(config-route-map)#end rb#shipb BGPtableversionis7,localrouterIDis172.16.3.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.0.0/22172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop0.0.0.00.0.0.00.0.0.00.0.0.00.0.0.0 MetricLocPrfWeightPath 032768i 32768i 032768i032768i032768i *> *>*>s>*> ra#shipb BGPtableversionis35,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*>172.16.0.0/2410.1.1.2002i*>172.16.0.0/2210.1.1.202i*>172.16.1.0/2410.1.1.2002i*>172.16.3.0/2410.1.1.2002i说明:通过route-map将能在抑制明确路由条目下广播聚合路由实验十三 语法:Autosummary 作用:因为bgp是高级路径矢量路由协议。所以会在边界进行自动汇总。 设备需求:Cisco2501路由器三台配置实例: ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config)#intlo0 ra(config-if)#ipadd144.223.1.1255.255.255.0ra(config-if)#inte0 ra(config-if)#ipadd172.17.1.2255.255.255.0ra(config-if)#noshra(config-if)#end rb#conft rb(config)#inte0 rb(config-if)#ipadd172.17.1.1255.255.255.0rb(config-if)#noshrb(config-if)#ints1 rb(config-if)#ipadd10.1.1.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end rc#conft rc(config)#ints1 rc(config-if)#ipadd10.1.1.2255.255.255.252 rc(config-if)#noshrc(config-if)#endrc(config)#intlo0 rc(config-if)#ipadd205.40.30.129255.255.255.192rc(config-if)#end rb#conft rb(config)#routerbgp2 rb(config-router)#redospf1rb(config-router)#redstatrb(config-router)#redcon rb(config-router)#nei172.17.1.2remote1rb(config-router)#exit rb(config)#iproute198.8.4.128255.255.255.128s1rb(config)#end rb#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.rb(config)#routerospf1 rb(config-router)#net10.0.0.00.255.255.255ar0rb(config-router)#end rc#conft rc(config)#routerospf1 rc(config-router)#net10.0.0.00.255.255.255ar0rc(config-router)#net205.0.0.00.255.255.255ar50rc(config-router)#end 因为使用了net命令,所在不会自动汇总144.223.1.0ra#shipb BGPtableversionis14,localrouterIDis144.223.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork10.0.0.0 144.223.1.0/24172.17.0.0198.8.4.0205.40.30.0 NextHop172.17.1.10.0.0.0172.17.1.1172.17.1.1172.17.1.1 MetricLocPrfWeightPath 002?032768i002?002?002? *> *>*>*>*> 由于自动汇总的原因,rb#shiprou Codes:C-connected,S-static,I-IGRP,R-RIP,M-mobile,B-BGP D-EIGRP,EX-EIGRPexternal,O-OSPF,IA-OSPFinterareaN1-OSPFNSSAexternaltype1,N2-OSPFNSSAexternaltype2E1-OSPFexternaltype1,E2-OSPFexternaltype2,E-EGP i-IS-IS,L1-IS-ISlevel-1,L2-IS-ISlevel-2,ia-IS-ISinterarea*-candidatedefault,U-per-userstaticroute,o-ODRP-periodicdownloadedstaticrouteGatewayoflastresortisnotset 172.17.0.0/24issubnetted,1subnetsC172.17.1.0isdirectlyconnected,Ethernet0 144.223.0.0/24issubnetted,1subnetsB144.223.1.0[20/0]via172.17.1.2,00:03:36 10.0.0.0/30issubnetted,1subnetsC10.1.1.0isdirectlyconnected,Serial1 205.40.30.0/32issubnetted,1subnetsOIA205.40.30.129[110/65]via10.1.1.2,00:05:14,Serial1 198.8.4.0/25issubnetted,1subnetsS198.8.4.128isdirectlyconnected,Serial1现在关闭自动汇总 rb#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.rb(config)#routerbgp2rb(config-router)#noautorb(config-router)#end现在没有自动汇总路由rb#shipb BGPtableversionis6,localrouterIDis172.17.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetworkNextHop10.1.1.0/300.0.0.0144.223.1.0/24172.17.1.2172.17.1.0/240.0.0.0198.8.4.128/250.0.0.0205.40.30.129/3210.1.1.2 MetricLocPrfWeightPath 032768?001i032768?032768?6532768? *> *>*>*>*> 实验14 语法:Neighboripaddress/peer-group-nameweightdefault-weight 作用:默认情况下,权重限于本地有效,当收到对方的广播时,它的权重为0.可以通过命令来修改收到的权重值,权重用在多出口选路时属性。越大越优先。注意:权重是CISCO私有的属性。别的路由器不一定识别。设备需求:Cisco2501路由器二台配置实例: r1#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.r1(config)#ints0 r1(config-if)#ipadd10.1.1.1255.255.255.252r1(config-if)#noshr1(config-if)#end r2#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.r2(config)#ints0 r2(config-if)#ipadd10.1.1.2255.255.255.252r2(config-if)#nosh r2(config-if)#clra000r2(config-if)#endr2(config)#intlo0 r2(config-if)#ipadd172.16.0.1255.255.255.0r2(config-if)#intlo1 r2(config-if)#ipadd172.16.1.1255.255.255.0r2(config-if)#intlo2 r2(config-if)#ipadd172.16.2.1255.255.255.0r2(config-if)#intlo3 r2(config-if)#ipadd172.16.3.1255.255.255.0r2(config-if)#end r1#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.r1(config)#routerbgp1 r1(config-router)#nei10.1.1.2remote2r1(config-router)#nei10.1.1.2weight500r1(config-router)#end r2#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.r2(config)#routerbgp2 r2(config-router)#nei10.1.1.1remote1 r2(config-router)#net172.16.0.0mask255.255.255.0r2(config-router)#net172.16.1.0mask255.255.255.0r2(config-router)#net172.16.2.0mask255.255.255.0r2(config-router)#net172.16.3.0mask255.255.255.0r2(config-router)#end 现在权重发生变化全部变成500,默认情况下收到的权重值为0.r1#shipb BGPtableversionis5,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop10.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 05002i05002i05002i05002i *> *>*>*> 实验15 语法:Neighboripaddress/peer-group-namefilter-listas-path-list-numberout作用:通过filter-list来精确过滤路由条目设备需求:Cisco2501路由器二台配置实例: 初始化配置ra#conft ra(config)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#nosh rb(config)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#ints1 rb(config-if)#ipadd10.1.2.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end rc#conft rc(config)#ints1 rc(config-if)#ipadd10.1.2.2255.255.255.252rc(config-if)#noshrc(config-if)#endrb#conft rb(config)#intlo0rb(config-if)#ipaddrb(config-if)#intlo1rb(config-if)#ipaddrb(config-if)#intlo2rb(config-if)#ipaddrb(config-if)#intlo3rb(config-if)#ipadd 172.16.0.1255.255.255.0172.16.1.1255.255.255.0172.16.2.1255.255.255.0172.16.3.1255.255.255.0 rb(config-if)#enrc#conft rc(config)#intlo0rc(config-if)#ipaddrc(config-if)#intlo1rc(config-if)#ipaddrc(config-if)#intlo2rc(config-if)#ipaddrc(config-if)#intlo3rc(config-if)#ipaddrc(config-if)#end 198.16.0.1255.255.255.0198.16.1.1255.255.255.0198.16.2.1255.255.255.0198.16.3.1255.255.255.0 ra#conft ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2remote2ra(config-router)#end rb#conft rb(config)#routerbgp2 rb(config-router)#nei10.1.1.1remote1 rb(config-router)#net172.16.0.0mask255.255.255.0rb(config-router)#net172.16.1.0mask255.255.255.0rb(config-router)#net172.16.2.0mask255.255.255.0rb(config-router)#net172.16.3.0mask255.255.255.0rb(config-router)#nei10.1.2.2remote3rb(config-router)#end rc#conft rc(config)#routerbgp3 rc(config-router)#nei10.1.2.1remote2rc(config-router)#net198.16.0.0rc(config-router)#net198.16.1.0rc(config-router)#net198.16.2.0rc(config-router)#net198.16.3.0rc(config-router)#end rb#shipbs BGProuteridentifier172.16.3.1,localASnumber2BGPtableversionis9,mainroutingtableversion9 8networkentriesand8pathsusing10bytesofmemory2BGPpathattributeentriesusing120bytesofmemory1BGPAS-PATHentriesusing24bytesofmemory 0BGProute-mapcacheentriesusing0bytesofmemory 0BGPfilter-listcacheentriesusing0bytesofmemory BGPactivity12/20prefixes,12/4paths,scaninterval60secsNeighborState/PfxRcd10.1.1.110.1.2.2 44 V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 13101013119900000:01:34000:01:3004 邻居关系健立起来。 实验一:过滤起始于as3的路由条目 正则表达式_3$的意思是起始于as3而不管as路径长度rb#conf rb(config)#ipas-pathaccess-list1deny_3$rb(config)#ipas-pathaccess-list1permit.*rb(config)#routerbgp2 rb(config-router)#nei10.1.1.1filter-list1outrb(config-router)#end 上面的意思是在出的方向上过滤起始于as3的路由条目ra#shipb BGPtableversionis29,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop10.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 002i002i002i002i *> *>*>*> 现在路由器a上面没有起始于as3的条目 实验二 允许经过as3的路由条目,拒绝始发于as3的条目,先将上面的配置删除。更改一部分网络路径,看上去像是始发于其它的as rc(config)# rc(config)#access-list1permit198.16.0.00.0.1.255rc(config)#route-mapccnapermit10rc(config-route-map)#matipadd1 rc(config-route-map)#setas-pathpre4rc(config-route-map)#exit rc(config)#route-mapccnapermit20 rc(config-route-map)#exit rc(config)#routerbgp3 rc(config-router)#nei10.1.2.1route-mapccnaoutrc(config-router)#end rb#conft rb(config)#ipas-pathaccess-list1deny_3$rb(config)#ipas-pathaccess-list1permit.*rb(config)#end当然不要忘记 rb(config-router)#nei10.1.1.1filter-list1out ra#shipb BGPtableversionis7,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24198.16.0.0198.16.1.0 NextHop10.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 002i002i002i002i 0234i0234i *>*>*>*>*>*> rb#shipb BGPtableversionis9,localrouterIDis172.16.3.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24198.16.0.0198.16.1.0198.16.2.0198.16.3.0 NextHop0.0.0.00.0.0.00.0.0.00.0.0.010.1.2.210.1.2.210.1.2.210.1.2.2 MetricLocPrfWeightPath 032768i032768i032768i032768i0034i0034i003i003i *> *>*>*>*>*>*>*> 实验三 拒绝所有含有as3的路由条目,先删除原来的配置,正则表达式_3_表过所有含有as3的路径ra#shipb BGPtableversionis21,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24198.16.0.0198.16.1.0198.16.2.0198.16.3.0 NextHop10.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 002i002i002i002i 0234i0234i023i023i *>*>*>*>*>*>*>*> 更改配置rb#conft rb(config)#ipas-pathaccess-list1deny_3_rb(config)#ipas-pathaccess-list1permit.*rb(config)#end 当然要在b上面运用,并且要注意方向。rb#conft rb(config-router)#nei10.1.1.1filter-list1outrb(config-router)#end ra#shipb BGPtableversionis49,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop10.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 002i002i002i002i *> *>*>*> 实验四 拒绝所有起始于直接相连的ebgp邻居的所有的路由,正则表过式^2$表示直接相连的as2的路径 先删除上面的所有的配置 rb#conft rb(config)#ipas-pathaccess-list1deny^2$rb(config)#ipas-pathaccess-list1permit.*rb(config)#end 上面的意思是拒绝直接相连的ebgp中含有as2的路由条目 下面有两种方法注意一下区别,在不同的路由器上配置可以达到同样的结果,但是对自身的效果却是不一样了。rb#conft rb(config)#routerbgp2 rb(config-router)#nonei10.1.1.1filter-list1outrb(config-router)#nei10.1.1.1filter-list1inrb(config-router)#end 第一种配置:rb(config-router)#nei10.1.1.1filter-list1in 如果在进的方向上做的话,那么b也就过滤了自己的as所有广播,当然了,对于a来说,效果是一样的。 第二种配置:rb(config-router)#nei10.1.1.1filter-list1out是无法过滤的,没有任何作用 rb#shipb BGPtableversionis5,localrouterIDis172.16.3.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork198.16.0.0198.16.1.0198.16.2.0198.16.3.0 NextHop10.1.2.210.1.2.210.1.2.210.1.2.2 MetricLocPrfWeightPath 0034i0034i003i003i *> *>*>*> ra#shipb BGPtableversionis,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork198.16.0.0198.16.1.0198.16.2.0198.16.3.0 NextHop10.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 0234i0234i023i023i *>*>*>*> 下面的两种配置:方向错误邻居错误没有任何效果rb(config)#routerbgp2 rb(config-router)#nonei10.1.1.1filter-list1outrb(config-router)#nei10.1.2.2filter-list1inrb(config-router)#end rb#conft rb(config)#routerbgp2 rb(config-router)#nonei10.1.2.2filter-list1inrb(config-router)#nei10.1.2.2filter-list1outrb(config-router)#end正确的配置 ra#conft ra(config)#ipas-pathaccess-list1deny^2$ra(config)#ipas-pathaccess-list1permit.*ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2filter-list1inra(config-router)#end ra#shipb BGPtableversionis201,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork198.16.0.0198.16.1.0198.16.2.0198.16.3.0 NextHop10.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 0234i0234i023i023i *>*>*>*> 注意: 通过上面的实验证明过滤路径,在不同的方向不同的路由器上配置,会产生两种不同的结果,可能最后的结果是一样,但是对路由器的影响却是两种结果。实验16 语法:Neighboripaddress/peer-group-namenext-hot-self 作用:在非广播多路访问时,有时有必要将下一跳改为自己.在下面的实验中,将从a传过来的路由条目改为自己 设备需求:Cisco2501路由器三台 配置实例: ra#conft ra(config)#intlo0 ra(config-if)#ipadd172.16.1.1255.255.255.0ra(config-if)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#end rb(config)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#ints1 rb(config-if)#ipadd10.1.2.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end rc#conft rc(config)#ints1 rc(config-if)#ipadd10.1.2.2255.255.255.252rc(config-if)#noshrc(config-if)#end ra#conft ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2remote2 ra(config-router)#net172.16.1.0mask255.255.255.0ra(config-router)#end rb#conft rb(config)#routerbgp2 rb(config-router)#nei10.1.1.1remote1rb(config-router)#nei10.1.2.2remote2rb(config-router)#end rc#conft rc(config)#routerbgp2 rc(config-router)#nei10.1.2.1remote2rc(config-router)#end rb#shipb BGPtableversionis2,localrouterIDis10.1.2.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *>172.16.1.0/24 NextHop10.1.1.1 MetricLocPrfWeightPath 001i 由于同步的原因,在c上面将学习到a的路由条目但是不会放到路由表中 rc#shipb BGPtableversionis1,localrouterIDis10.1.2.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*i172.16.1.0/2410.1.1.1010001i由于下一跳不可达,所以不会放到路由表中。现在更改下一跳为自己,rb#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.rb(config)#routerbgp2 rb(config-router)#nei10.1.2.2next-hop-selfrb(config-router)#end现正下一跳改为b rc#shipb BGPtableversionis1,localrouterIDis10.1.2.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *i172.16.1.0/24 NextHop10.1.2.1 MetricLocPrfWeightPath010001i 在c路由器上面关了同步c#conft rc(config)#routerbgp2rc(config-router)#nosyrc(config-router)#end 现在路由表中有了。rc#shipb BGPtableversionis2,localrouterIDis10.1.2.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*>i172.16.1.0/2410.1.2.1010001irc#shiproub 172.16.0.0/24issubnetted,1subnetsB172.16.1.0[200/0]via10.1.2.1,00:00:45 同步:第二层意思:如果不是从IGP学到的路由,或者下一跳不可达,那么也不把从ibgp学到的路由放到路由表中。所以,在这里要在路由器c上面关掉同步.实验二 Neighboripaddresspeer-group-namepasswordpassword作用:在两个bgp对等体上启动md5认证上面的配置保持不变增加md5认证 ra#conf ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2passwordcciera(config-router)#end 邻居关系断掉,且收到对方没有md5加密信息ra# 01:13:25:%TCP-6-BADAUTH:NoMD5digestfrom10.1.1.2:179to10.1.1.1:1100401:13:25:%TCP-6-BADAUTH:NoMD5digestfrom10.1.1.2:179to10.1.1.1:11004现在在邻居上面也增加密码当在bc上面设置不同密码时将收到如下信息rb#conft rb(config)#routerbgp2 rb(config-router)#nei10.1.1.1passwordccierb(config-router)#nei10.1.2.2passwordccnprb(config-router)#end rc#conft rc(config)#routerbgp2 rc(config-router)#nei10.1.2.1passwordccierc(config-router)#erc# 01:17:59:%TCP-6-BADAUTH:InvalidMD510.1.2.2:17 所有的邻居关系起来,现在改正密码rb#conft rb(config)#routerbgp2 rb(config-router)#nei10.1.2.2passccierb(config-router)#endrb# 总结:Bgp的md5认证可以只用在两个邻居之间,其它的路由器可以不用认证,两路由器之间的认证密码一样就行了。实验17 语法:Bgpdampening路由惩罚 作用:主要用在ebgp之间ibgp不适用.意思是:当路由条目发生抖动时,会给一个值为1000的惩罚值,当达到默认情况下的2000时,会产生抑制条目。在半衰期时间内,惩罚值会变为原来的一半,也就是如果原来是3000惩罚值,当过去半衰期时间,也就是会变成1500.成数学指数递减的。重新启用值默认情况下为750。也就是值少于750时,这个条目在次被启用。注意,这一命令在实际工程中没有什么大的用处。设备需求:Cisco2501路由器二台配置实例: digestfrom10.1.2.1:11012to ra#conft ra(config)#intlo0 ra(config-if)#ipadd172.16.1.1255.255.255.0ra(config-if)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#end rb#conf rb(config)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end ra#conft ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2remote2 ra(config-router)#net172.16.1.0mask255.255.255.0ra(config-router)#end rb#conft rb(config)#routerbgp2 rb(config-router)#nei10.1.1.1remote1rb(config-router)#end 正常的bgp表ra#shipb BGPtableversionis2,localrouterIDis172.16.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete Network *>172.16.1.0/24NextHop0.0.0.0MetricLocPrfWeightPath 032768i 现在起用路由惩罚 rb#conft rb(config)#routerbgp2 rb(config-router)#bgpdampeningrb(config-router)#end 现在关闭a的前缀查看一下:ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config)#intlo0ra(config-if)#sh 现在查看b的bgp表中rb# 00:13:48:%SYS-5-CONFIG_I:Configuredfromconsolebyconsolerb#shipb BGPtableversionis3,localrouterIDis10.1.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork h172.16.1.0/24 NextHop10.1.1.1 MetricLocPrfWeightPath 001i 在bgp表中,出现了抑制路由条目h。现在通过命令来查看历史 rb#shipb172.16.1.0/24 BGProutingtableentryfor172.16.1.0/24,version3Paths:(1available,nobestpath)Notadvertisedtoanypeer1(historyentry) 10.1.1.1from10.1.1.1(172.16.1.1) OriginIGP,metric0,localpref100,external Dampinfo:penalty928,flapped1timesin00:01:42rb# 可以看到路由衰减值为928重新起用环回接口ra(config-if)#nosh rb#shipb BGPtableversionis4,localrouterIDis10.1.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *>172.16.1.0/24 NextHop10.1.1.1 MetricLocPrfWeightPath 001i rb#shipb172.16.1.0/24 BGProutingtableentryfor172.16.1.0/24,version4 Paths:(1available,best#1,tableDefault-IP-Routing-Table)Notadvertisedtoanypeer1 10.1.1.1from10.1.1.1(172.16.1.1) OriginIGP,metric0,localpref100,valid,external,bestDampinfo:penalty834,flapped1timesin00:04:05 因为还没有达到抑制的上限2000,所以重新广播这条路由,现在重新关闭环回接口来查看一下效果 ra(config-if)#sh rb#shipb172.16.1.0/24 BGProutingtableentryfor172.16.1.0/24,version5Paths:(1available,nobestpath)Flag:0x208 Notadvertisedtoanypeer1(historyentry) 10.1.1.1from10.1.1.1(172.16.1.1) OriginIGP,metric0,localpref100,external Dampinfo:penalty1762,flapped2timesin00:06:03rb#shipb BGPtableversionis5,localrouterIDis10.1.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork h172.16.1.0/24 NextHop10.1.1.1 MetricLocPrfWeightPath 001i 将保持历史记录,重新打开环回接口 ra(config-if)#noshrb#shipb BGPtableversionis6,localrouterIDis10.1.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork NextHop MetricLocPrfWeightPath *>172.16.1.0/2410.1.1.1001i 因为没有达到上限所以允许广播,重新关闭rb#shipb BGPtableversionis7,localrouterIDis10.1.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPathh172.16.1.0/2410.1.1.1001irb#shipb172.16.1.0/24 BGProutingtableentryfor172.16.1.0/24,version7Paths:(1available,nobestpath)Notadvertisedtoanypeer1(historyentry) 10.1.1.1from10.1.1.1(172.16.1.1) OriginIGP,metric0,localpref100,external Dampinfo:penalty2521,flapped3timesin00:09:27现在达到上限2000所以被抑制了。ra(config-if)#nosh rb#shipbdampened-paths BGPtableversionis7,localrouterIDis10.1.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *d172.16.1.0/24 From10.1.1.1 ReusePath00:23:201i 通过命令查看路由衰减,可以看到路径和时间,也就是在00:23:20里,路由不发生变化,那么这个时间到了,就会重新广播这条路由条目 rb#shipb172.16.1.0/24 BGProutingtableentryfor172.16.1.0/24,version8 Paths:(1available,best#1,tableDefault-IP-Routing-Table)Flag:0x208 Notadvertisedtoanypeer1 10.1.1.1from10.1.1.1(172.16.1.1) OriginIGP,metric0,localpref100,valid,external,bestDampinfo:penalty750,flapped3timesin00:36:23 rb#shipb BGPtableversionis8,localrouterIDis10.1.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *>172.16.1.0/24 NextHop10.1.1.1 MetricLocPrfWeightPath 001i 验证总结:当在一个半衰期,惩罚值将变成原来的一半。比如,你在最后一次惩罚值为2522 默认的半衰期15分种之内,将变成1261这个值,只有当达到在次起用的值为750时候,才能重新使用这个路由实验二。 Bgpdampeninghalf-lifereusesuppressmax-suppress-time 默认情况下值为:关衰期15分钟抑制值为2000重用为750最大抑制时间为半衰期的四倍。 Bgpdampeningroute-maproute-map-name 作用:通过route-map来调用设置 ra(config)#ints0 ra(config-if)#ipad10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#endra(config)#intlo0 ra(config-if)#ipadd172.16.1.1255.255.255.0ra(config-if)#intlo1 ra(config-if)#ipadd172.16.2.1255.255.255.0ra(config)#routerbgp1 ra(config-router)#net172.16.1.0mask255.255.255.0ra(config-router)#net172.16.2.0mask255.255.255.0 ra(config-router)#nei10.1.1.2remote2ra(config-router)#end rb#conft rb(config)#ints0 rb(config-if)#ipad10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#ints1 rb(config-if)#ipadd192.168.1.1255.255.255.0rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#exit rb(config)#routerbgp2 rb(config-router)#nei10.1.1.1remote1rb(config-router)#nei192.168.1.2remote3rb(config-router)#endrc#conft rc(config)#ints1 rc(config-if)#ipadd192.168.1.2255.255.255.0rc(config-if)#noshrc(config-if)#exit rc(config)#routerbgp3 rc(config-router)#nei192.168.1.1remote2rc(config-router)#end rb#shipbs BGProuteridentifier192.168.1.1,localASnumber2BGPtableversionis3,mainroutingtableversion3 2networkentriesand2pathsusing266bytesofmemory1BGPpathattributeentriesusing60bytesofmemory1BGPAS-PATHentriesusing24bytesofmemory 0BGProute-mapcacheentriesusing0bytesofmemory0BGPfilter-listcacheentriesusing0bytesofmemoryBGPactivity2/4prefixes,2/0paths,scaninterval60secsNeighborState/PfxRcd10.1.1.1192.168.1.2 44 V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 1384753300000:03:33000:00:4320 邻居关系起来了 实验一,通过route-map来设置变量rb#conft rb(config)#access-list1permit172.16.1.00.0.0.255rb(config)#access-list2permit172.16.2.00.0.0.255rb(config)#route-mapccnapermit10rb(config-route-map)#matipadd1 rb(config-route-map)#setdampening15750200060rb(config-route-map)#exit rb(config)#route-mapccnapermit20rb(config-route-map)#matipadd2 rb(config-route-map)#setdam20800220080rb(config-route-map)#endrb#conft rb(config)#routerbgp2 rb(config-router)#bgpdampeningroute-mapccnarb(config-router)#end 现在设置好了。验证ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config)#intlo0ra(config-if)#shra(config-if)#end rb#shipb172.16.1.0/24 BGProutingtableentryfor172.16.1.0/24,version4Paths:(1available,nobestpath)Notadvertisedtoanypeer1(historyentry) 10.1.1.1from10.1.1.1(10.1.1.1) OriginIGP,metric0,localpref100,external Dampinfo:penalty973,flapped1timesin00:00:40可以看到路由器b上面启用抑制功能。 ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config)#intlo1ra(config-if)#shra(config-if)#end rb#shipb172.16.2.0/24 BGProutingtableentryfor172.16.2.0/24,version6Paths:(1available,nobestpath)Flag:0x208 Notadvertisedtoanypeer1(historyentry) 10.1.1.1from10.1.1.1(10.1.1.1) OriginIGP,metric0,localpref100,external Dampinfo:penalty991,flapped1timesin00:00:16可以看到当路由条目发生闪动时,将产生抑制功能实验二 将不同的变量用在不同的as上面rb#conft rb(config)#ipas-pathaccess-list1permit^1$rb(config)#ipas-pathaccess-list2permit^3$rb(config-router)#bgpdampeningroute-mapccnarb(config-router)#end rb(config)#route-mapccnapermit10rb(config-route-map)#matas-path1 rb(config-route-map)#setdampening15750200060rb(config-route-map)#exit rb(config)#route-mapccnapermit20rb(config-route-map)#matchas-path2 rb(config-route-map)#setdampening20800220080以上是对不同的as进和的路由惩罚的配置。 可以通过rb#shipbflap-statistics命令来查看。 实验18 语法:Networkipaddressbackdoor 作用:当有更好的路径,用这个命令可以修改管理距离,忽略ebgp的管理距离设备需求:Cisco2501路由器二台配置实例 ra#conft ra(config)#ints0 ra(config-if)#ipadd172.17.1.1255.255.255.0ra(config-if)#noshra(config-if)#ints1 ra(config-if)#ipadd10.1.1.1255.255.255.0ra(config-if)#clra000ra(config-if)#noshra(config-if)#ints1 ra(config-if)#ipadd10.1.1.1255.255.255.0ra(config-if)#end rb#conft rb(config)#ints0 rb(config-if)#ipadd172.17.1.2255.255.255.0rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#ints1 rb(config-if)#ipadd10.1.2.2255.255.255.0rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#intlo0 rb(config-if)#ipadd172.17.2.1255.255.255.0rb(config-if)#end rc#conft rc(config)#ints1 rc(config-if)#ipadd10.1.2.1255.255.255.0rc(config-if)#noshrc(config-if)#intrc(config-if)#ints0 rc(config-if)#ipadd10.1.1.2255.255.255.0 rc(config-if)#clra000rc(config-if)#noshrc(config-if)#end AB之间运行有eigrp。ra#conft ra(config)#routerei1 ra(config-router)#net172.17.0.0ra(config-router)#noaura(config)#exit ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2remote3ra(config-router)#end rb#conft rb(config)#routerei1 rb(config-router)#net172.17.0.0rb(config-router)#noaurb(config-router)#endrb#conft rb(config)#routerbgp2 rb(config-router)#net172.17.2.0mask255.255.255.0rb(config-router)#nei10.1.2.1remote3rb(config-router)#end rc#conft rc(config)#routerbgp3 rc(config-router)#nei10.1.1.1remote1rc(config-router)#nei10.1.2.2remote2 rc(config-router)#net10.1.1.0mask255.255.255.0rc(config-router)#net10.1.2.0mask255.255.255.0rc(config-router)#end ra#shiprou Codes:C-connected,S-static,I-IGRP,R-RIP,M-mobile,B-BGP D-EIGRP,EX-EIGRPexternal,O-OSPF,IA-OSPFinterareaN1-OSPFNSSAexternaltype1,N2-OSPFNSSAexternaltype2E1-OSPFexternaltype1,E2-OSPFexternaltype2,E-EGP i-IS-IS,L1-IS-ISlevel-1,L2-IS-ISlevel-2,ia-IS-ISinterarea*-candidatedefault,U-per-userstaticroute,o-ODRP-periodicdownloadedstaticrouteGatewayoflastresortisnotset CBBC 172.17.0.0/24issubnetted,2subnets 172.17.1.0isdirectlyconnected,Serial0172.17.2.0[20/0]via10.1.1.2,00:03:0110.0.0.0/24issubnetted,2subnets 10.1.2.0[20/0]via10.1.1.2,00:03:0110.1.1.0isdirectlyconnected,Serial1 ra#conft ra(config)#routerbgp1 ra(config-router)#net172.17.2.0mask255.255.255.0backdoorra(config-router)#end ra#shiprou Codes:C-connected,S-static,I-IGRP,R-RIP,M-mobile,B-BGP D-EIGRP,EX-EIGRPexternal,O-OSPF,IA-OSPFinterareaN1-OSPFNSSAexternaltype1,N2-OSPFNSSAexternaltype2E1-OSPFexternaltype1,E2-OSPFexternaltype2,E-EGP i-IS-IS,L1-IS-ISlevel-1,L2-IS-ISlevel-2,ia-IS-ISinterarea*-candidatedefault,U-per-userstaticroute,o-ODRP-periodicdownloadedstaticrouteGatewayoflastresortisnotset 172.17.0.0/24issubnetted,2subnets 172.17.1.0isdirectlyconnected,Serial0 172.17.2.0[90/2297856]via172.17.1.2,00:01:50,Serial010.0.0.0/24issubnetted,2subnets 10.1.2.0[20/0]via10.1.1.2,00:00:4410.1.1.0isdirectlyconnected,Serial1 CDBC 如果要修改管理距离,首先要确定有一个bgp条目在路由表中。 实验19 语法:Default-informationoriginate作用:允许邻居广播默认路由Bgp广播默认路由需要三个条件一创建静态路由二将静态路由重分配 三使用Default-informationoriginate 设备需求:Cisco2501路由器三台配置实例 ra#conft ra(config)#inte0 ra(config-if)#ipadd172.16.1.1255.255.255.0ra(config-if)#noshra(config-if)#end rb#conft rb(config)#inte0 rb(config-if)#ipadd172.16.1.2255.255.255.0rb(config-if)#noshrb(config-if)#endrb#conft rb(config)#ints1 rb(config-if)#ipadd10.1.1.1255.255.255.0rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end rc#conft rc(config)#ints1 rc(config-if)#ipadd10.1.1.2255.255.255.252rc(config-if)#noshrc(config)#intlo0 rc(config-if)#ipadd3.3.3.3255.255.255.255rc(config-if)#endra#conft ra(config)#routerbgp1 ra(config-router)#nei172.16.1.2remote2ra(config-router)#exitra(config)# rb#conft rb(config)#routerbgp2 rb(config-router)#nei172.16.1.1remote1rb(config-router)#end 现在验证如何通过默认路由让a到达3.3.3.3这个目标。Bgp广播默认路由需要三个条件一创建静态路由二将静态路由重分配 三使用Default-informationoriginate 配置如下rb#conft rb(config)#iproute3.3.3.3255.255.255.255s1rb(config)#routerbgp2rb(config-router)#redstat rb(config-router)#default-informationoriginaterb(config-router)#end rb#shipb BGPtableversionis2,localrouterIDis172.16.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork*>3.0.0.0 rb#ping3.3.3.3 NextHop0.0.0.0 MetricLocPrfWeightPath032768? Typeescapesequencetoabort. Sending5,100-byteICMPEchosto3.3.3.3,timeoutis2seconds:!!!!! Successrateis100percent(5/5),round-tripmin/avg/max=32/32/32ms实验成功。 实验20 语法:Neighboripaddress/peer-group-namedefault-originateroute-maproute-map-name 作用:通过route-map来有条件的广播默认路由.如果静态路由接口down了,那么也不会广播路由了。没有route-map,不论在什么时候都会广播路由。 设备需求:Cisco2501路由器二台配置实例: ra#conft ra(config)#ints0 ra(config-if)#ipad10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#end ra(config)#routerbgp1ra(config-router)#nosy ra(config-router)#nei10.1.1.2remote1ra(config-router)#end rb#conft rb(config)#ints0 rb(config-if)#ipad10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#en rb#conft rb(config)#ints1 rb(config-if)#ipadd10.1.2.1255.255.255.0rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#endrc#conft rc(config)#ints1 rc(config-if)#ipadd10.1.2.2255.255.255.0rc(config-if)#noshrc(config-if)#end rb#conft rb(config)#routerbgp1 rb(config-router)#nei10.1.1.1remote1 rb(config-router)#nei10.1.1.1default-originateroute-mapccnarb(config-router)#exit rb(config)#iproute0.0.0.00.0.0.0s1 rb(config)#access-list1per10.1.2.00.0.0.255rb(config)#route-mapccnapermit10rb(config-route-map)#matchipadd1rb(config-route-map)#end 现在路由器a学习到静态路由ra#shipb BGPtableversionis4,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork*>i0.0.0.0 NextHop10.1.1.2 MetricLocPrfWeightPath 1000i ra#shiproub B*0.0.0.0/0[200/0]via10.1.1.2,00:01:13 说明:如果静态路由的接口down了,那么也不会广播路由了。没有route-map,不论在什么时候都会广播路由。 实验21 语法:Distancebgpextermalintermallocal 作用:修改Extermaebgp的管理距离,Intermalibg的管理距离,local聚合得到的管理距离 设备需求:Cisco2501路由器三台配置实例: ra#conft ra(config)#intlo0 ra(config-if)#ipadd144.223.1.1255.255.255.0ra(config-if)#intlo1 ra(config-if)#ipadd144.223.2.1255.255.255.0ra(config-if)#inte0 ra(config-if)#ipadd172.17.1.2255.255.255.0ra(config-if)#noshra(config-if)#end rb(config)#inte0 rb(config-if)#ipadd172.17.1.1255.255.255.0rb(config-if)#noshrb(config-if)#ints1 rb(config-if)#ipadd10.1.1.1255.255.255.0rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end rc#conft rc(config)#ints1 rc(config-if)#ipadd10.1.1.2255.255.255.252rc(config-if)#noshrc(config-if)#intlo0 rc(config-if)#ipadd205.40.30.1255.255.255.0rc(config-if)#endra#conft ra(config)#routerbgp1 ra(config-router)#net144.223.1.0mask255.255.255.0ra(config-router)#net144.223.2.0mask255.255.255.0ra(config-router)#nei172.17.1.1remote2ra(config-router)#end rb#conft rb(config)#routerbgp2 rb(config-router)#nei172.17.1.2remote1rb(config-router)#nosy rb(config-router)#aggregate-address144.223.0.0255.255.0.0summary-onlyrb(config-router)#nei10.1.1.2remote2rb(config-router)#end rc#conft rc(config)#routerbgp2 rc(config-router)#nei10.1.1.1remote2rc(config-router)#net205.40.30.0rc(config-router)#end rb#shiproub 144.223.0.0/16isvariablysubnetted,3subnets,2masksB144.223.2.0/24[20/0]via172.17.1.2,00:00:03B144.223.1.0/24[20/0]via172.17.1.2,00:00:03B144.223.0.0/16[200/0]via0.0.0.0,00:00:03,Null0B205.40.30.0/24[200/0]via10.1.1.2,00:00:03上面四条路由中,下面两条是外部路由B144.223.2.0/24[20/0]via172.17.1.2,00:00:03B144.223.1.0/24[20/0]via172.17.1.2,00:00:03下面一条是内部路由B205.40.30.0/24[200/0]via10.1.1.2,00:00:03下面的一条是本地路由B144.223.0.0/16[200/0]via0.0.0.0,00:00:03,Null0上面管理距离是,外部为20内部为200聚合后的为200现在通过命令来修改rb#conf rb(config)#routerbgp2 rb(config-router)#distancebgp153955rb(config-router)#endrb#cleipb* 修改时顺序为外部,内部,本地 rb#shiproub 144.223.0.0/16isvariablysubnetted,3subnets,2masksB144.223.2.0/24[15/0]via172.17.1.2,00:00:19B144.223.1.0/24[15/0]via172.17.1.2,00:00:19B144.223.0.0/16[55/0]via0.0.0.0,00:00:19,Null0B205.40.30.0/24[39/0]via10.1.1.2,00:00:19实验成功 实验22 语法:Distanceadmin-distanceip-source-addressip-address-mask Distanceadmin-distanceip-source-addressip-address-maskip-access-list-number 说明:Distance指定修改后的管理距离,而后面跟修改那里学过来的地址。也就是说,如果要修改从那一个邻居那里学到的管理距离,就跟在后面。当然,后来也可以是一个范围。说明二:也可以通过调用访问控制列表来修改不同的地址的管理距离 注意:通过访问控制列表distance管理距离后面跟邻居的地址最后是列表的序列号。设备需求:Cisco2501路由器二台配置实例: ra#conft ra(config)#intlo0 ra(config-if)#ipadd144.223.1.1255.255.255.0ra(config-if)#intlo1 ra(config-if)#ipadd144.223.2.1255.255.255.0ra(config-if)#inte0 ra(config-if)#ipadd172.17.1.2255.255.255.0ra(config-if)#noshra(config-if)#end rb(config)#inte0 rb(config-if)#ipadd172.17.1.1255.255.255.0rb(config-if)#noshrb(config-if)#ints1 rb(config-if)#ipadd10.1.1.1255.255.255.0rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end rc#conft rc(config)#ints1 rc(config-if)#ipadd10.1.1.2255.255.255.252rc(config-if)#noshrc(config-if)#intlo0 rc(config-if)#ipadd205.40.30.1255.255.255.0rc(config-if)#endra#conft ra(config)#routerbgp1 ra(config-router)#net144.223.1.0mask255.255.255.0ra(config-router)#net144.223.2.0mask255.255.255.0ra(config-router)#nei172.17.1.1remote2ra(config-router)#end rb#conft rb(config)#routerbgp2rb(config-router)#nosy rb(config-router)#nei10.1.1.2remote2rb(config-router)#nei172.17.1.2remote1rb(config-router)#end rc#conft rc(config)#routerbgp2 rc(config-router)#nei10.1.1.1remote2rc(config-router)#net205.40.30.0rc(config-router)#endrc# 邻居关系起来了 rb#shipb BGPtableversionis4,localrouterIDis172.17.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*>144.223.1.0/24172.17.1.2001i*>144.223.2.0/24172.17.1.2001i*>i205.40.30.010.1.1.201000irb#shiproub 144.223.0.0/24issubnetted,2subnetsB144.223.2.0[20/0]via172.17.1.2,00:01:28B144.223.1.0[20/0]via172.17.1.2,00:01:28B205.40.30.0/24[200/0]via10.1.1.2,00:03:43 从上面可以看到ibgp管理距离是200ebgp是20.通过命令来改修从ibgp学到的管理距离。rb#conft rb(config)#routerbgp2 rb(config-router)#distance5010.1.1.20.0.0.0rb(config-router)#end 说明:Distance指定修改后的管理距离,而后面跟修改那里学过来的邻居。也就是说,如果要修改从那一个邻居那里学到的管理距离,就跟在后面。当然,后来也可以是一个范围。rb#shiproub 144.223.0.0/24issubnetted,2subnetsB144.223.2.0[20/0]via172.17.1.2,00:03:29B144.223.1.0[20/0]via172.17.1.2,00:03:29B205.40.30.0/24[50/0]via10.1.1.2,00:03:29实验二,通过调用访问控制列表来修改不同的管理距离 rb#conft rb(config)#access-list1permit144.223.1.00.0.0.255rb(config)#access-list2permit144.223.2.00.0.0.255rb(config)#routerbgp2 rb(config-router)#distance133172.17.1.20.0.0.01rb(config-router)#distance188172.17.1.20.0.0.02rb(config-router)#end说明 Distance后面加修改后的管理距离邻居的地址最后是访问列表的序列号实验23 语法:Default-metricmetric 作用:指定重新分配路由的一个度量或是med值。大于为1-4294967295.第一种方法,当把路由重新分配到bgp时,不指定度量,那么重新分配的度量为0。第二种,当重新分配度量时,指定一个值。第三种,使用default-metric命令指定度量或med值。例如: Redistributeospf1给ospf一个度量为0的值 Redistributeospf1metric5给ospf一个度量为5的值Redistributeospf1metric5Redistributestatic Default-metric10给ospf一个度量为5的值而静态路由给一个10的度量值设备需求:Cisco2501路由器三台配置实例: ra#conft ra(config)#intlo0 ra(config-if)#ipadd144.223.1.1255.255.255.255ra(config-if)#ints0ra(config-if)#inte0 ra(config-if)#ipadd172.17.1.2255.255.255.0ra(config-if)#noshra(config-if)#end rb#conft rb(config)#inte0 rb(config-if)#ipadd172.17.1.1255.255.255.0rb(config-if)#noshrb(config-if)#end rb(config)# rb(config)#ints1 rb(config-if)#ipadd10.1.1.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end rc#conft rc(config)#ints1 rc(config-if)#ipadd10.1.1.2255.255.255.252rc(config-if)#noshrc(config-if)#endrc(config)#intlo0 rc(config-if)#ipadd205.40.30.129255.255.255.192rc(config-if)#end ra#conft ra(config)#routerbgp1 ra(config-router)#nei172.17.1.1remote2ra(config-router)#end 先指定一条静态路由到e0rb#conft rb(config)#iproute144.223.1.1255.255.255.255e0rb(config)#routerospf1 rb(config-router)#net10.0.0.00.255.255.255ar0rb(config-router)#exitrb(config)#routerbgp2 rb(config-router)#nei172.17.1.2remote1rb(config-router)#redstat rb(config-router)#redospf1met5rb(config-router)#noautorb(config-router)#end rc#conft rc(config)#routerospf1 rc(config-router)#net10.0.0.00.255.255.255ar0rc(config-router)#net205.0.0.00.255.255.255ar2 rc(config-router)#end rb#shipb BGPtableversionis4,localrouterIDis172.17.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*>10.1.1.0/300.0.0.0032768?*>144.223.1.1/320.0.0.0032768?*>205.40.30.129/3210.1.1.2532768? 在这里因为没有使用default-metric这个命令,所以给静态路由指定一个为0的度量。现在使用这一命令。如果用redistribute这一命令时,而后面没有metric时,使用default-metric这一命令意思是剩下的所有重分布给相同的度量值。rb#conft rb(config)#routerbgp2 rb(config-router)#default-metric10rb(config-router)#endrb# 上面的意思是给静态路由一个度量为10的值 rb#shipb BGPtableversionis4,localrouterIDis172.17.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetworkNextHop*>10.1.1.0/300.0.0.0*>144.223.1.1/320.0.0.0*>205.40.30.129/3210.1.1.2 MetricLocPrfWeightPath 032768?1032768?532768? 现在度量改成10了。Default-metric这一命令指定度量。实验24 语法:Bgpalways-compare-med 作用:默认情况下,路由器将不比较来自不同as的med值,通过这个命令,将会比较来自所有as的med值, 设备需求:Cisco2501路由器三台配置实例: ra#conft ra(config)#intlo0 ra(config-if)#ipadd5.5.5.5255.255.255.255ra(config-if)#inte0 ra(config-if)#ipadd172.17.1.2255.255.255.0ra(config-if)#noshra(config-if)#exit ra(config)#routerbgp1 ra(config-router)#nei172.17.1.1remote2 ra(config-router)#nei172.17.1.1route-mapccnpoutra(config-router)#redistributestaticroute-mapccnara(config-router)#end ra(config)#iproute193.16.1.0255.255.255.0lo0ra(config)#route-mapccnapermit10ra(config-route-map)#setmet200ra(config-route-map)#exit ra(config)#route-mapccnppermit10ra(config-route-map)#setaspre4ra(config-route-map)#end rb#conft rb(config)#inte0 rb(config-if)#ipadd172.17.1.1255.255.255.0rb(config-if)#noshrb(config-if)#ints1 rb(config-if)#ipad10.1.1.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#exit rb(config)#routerbgp2 rb(config-router)#nei10.1.1.2remote3 rb(config-router)#nei172.17.1.2remote1rb(config-router)#exit rc#conft rc(config)#intlo0 rc(config-if)#ipadd6.6.6.6255.255.255.255rc(config-if)#ints1 rc(config-if)#ipadd10.1.1.2255.255.255.252rc(config-if)#noshrc(config-if)#exi rc(config)#routerbgp3 rc(config-router)#redstatroute-mapccnarc(config-router)#nei10.1.1.1remote2 rc(config-router)#nei10.1.1.1route-mapccnpoutrc(config-router)#noaurc(config-router)#exit rc(config)#route-mapccnapermit10rc(config-route-map)#setme100rc(config-route-map)#exit rc(config)#route-mapccnpper10rc(config-route-map)#setaspre4rc(config-route-map)#exit rc(config)#iproute193.16.1.0255.255.255.0lo0rc(config)#end 上面的意思是将静态路由的med改为100始发为as4。因为路由器b收到来自不同的as的med值默认情况下将不会比较,所以会根据将最小的route-id值选最佳路径.,会将路由器a广播的路由放到路由表中。 rb#shipb BGPtableversionis2,localrouterIDis172.17.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork*193.16.1.0*> NextHop10.1.1.2172.17.1.2 MetricLocPrfWeightPath100034?200014? 通过命令将不同的as的med进行比较 rb#conft rb(config)#routerbgp2 rb(config-router)#bgpalways-compare-medrb(config-router)#end 现在修改过来,放到路由表中是另外一个条目。rb#shipb BGPtableversionis2,localrouterIDis172.17.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork*193.16.1.0*> NextHop172.17.1.210.1.1.2 MetricLocPrfWeightPath200014?100034? 实验25 语法:Bgpdefaultlocal-preferencelocal-preference 说明:本地优先级的作用主要是在多出口之间进行选路,值越大越优先。 作用:设置本地的优先级。默认为100。这个值的大小为1-4294967295通过命令可以设置本的广播的路由本地优先级。本地优先级的大小只能用在本自己治系统中。通过ibgp传播。 设备需求:Cisco2501路由器三台配置实例: ra(config)#inte0 ra(config-if)#ipadd172.17.1.2255.255.255.0ra(config-if)#noshra(config-if)#exit ra(config)#routerbgp1 ra(config-router)#nei172.17.1.1remote2ra(config-router)#end rb#conft rb(config)#inte0 rb(config-if)#ipadd172.17.1.1255.255.255.0rb(config-if)#noshrb(config)#intlo0 rb(config-if)#ipadd172.17.2.1255.255.255.0rb(config-if)#ints1 rb(config-if)#ipadd10.1.1.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end rb#conft rb(config)#routerbgp2 rb(config-router)#nei172.17.1.2remote1rb(config-router)#nei10.1.1.2remote2 rb(config-router)#net172.17.2.0mask255.255.255.0rb(config-router)#end rc(config)#ints1 rc(config-if)#ipadd10.1.1.2255.255.255.252rc(config-if)#noshrc(config-if)#exit rc(config)#routerbgp2 rc(config-router)#nei10.1.1.1remote2rc(config-router)#end 邻居关系建立起来了rb#shipbs BGProuteridentifier172.17.1.1,localASnumber2BGPtableversionis2,mainroutingtableversion2 1networkentriesand1pathsusing133bytesofmemory1BGPpathattributeentriesusing60bytesofmemory0BGProute-mapcacheentriesusing0bytesofmemory0BGPfilter-listcacheentriesusing0bytesofmemoryBGPactivity1/2prefixes,1/0paths,scaninterval60secsNeighborState/PfxRcd10.1.1.2 4 V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 25620000:01:580 172.17.1.2414520000:00:160 ra#shipb172.17.2.0 BGProutingtableentryfor172.17.2.0/24,version6 Paths:(1available,best#1,tableDefault-IP-Routing-Table)Notadvertisedtoanypeer2 172.17.1.1from172.17.1.1(172.17.2.1) OriginIGP,metric0,localpref100,valid,external,best rb#shipbgp172.17.2.0 BGProutingtableentryfor172.17.2.0/24,version2 Paths:(1available,best#1,tableDefault-IP-Routing-Table)Advertisedtononpeer-grouppeers:10.1.1.2172.17.1.2Local 0.0.0.0from0.0.0.0(172.17.2.1) OriginIGP,metric0,localpref100,weight32768,valid,sourced,local,rc#shipb172.17.2.0 BGProutingtableentryfor172.17.2.0/24,version0Paths:(1available,nobestpath)NotadvertisedtoanypeerLocal 10.1.1.1from10.1.1.1(172.17.2.1) OriginIGP,metric0,localpref100,valid,internal,notsynchronized 总结一:如果广播是由路由器本身发出的,那么在bgp表中只有权重值为32768,med为0path为i本地优先级为空。在广播给自己的ibgp时,本地优先级为100。权重为0其它的不变 实验一: 改变广播权重的大小 rb#conft rb(config)#routerbgp2 rb(config-router)#bgpdefault?ipv4-unicastActivateipv4-unicastforapeerbydefaultlocal-preferencelocalpreference(higher=morepreferred)rb(config-router)#bgpdefaultlocal-preference88rb(config-router)#endrb#cleipb*softout rb#shipb172.17.2.0 BGProutingtableentryfor172.17.2.0/24,version2 Paths:(1available,best#1,tableDefault-IP-Routing-Table)Advertisedtononpeer-grouppeers:10.1.1.2172.17.1.2Local 0.0.0.0from0.0.0.0(172.17.2.1) OriginIGP,metric0,localpref88,weight32768,valid,sourced,local,bEst ra#shipb172.17.2.0 BGProutingtableentryfor172.17.2.0/24,version8 Paths:(1available,best#1,tableDefault-IP-Routing-Table)Flag:0x208 Notadvertisedtoanypeer2 172.17.1.1from172.17.1.1(172.17.2.1) OriginIGP,metric0,localpref100,valid,external,best rc#shipb172.17.2.0 BGProutingtableentryfor172.17.2.0/24,version0Paths:(1available,nobestpath)NotadvertisedtoanypeerLocal 10.1.1.1from10.1.1.1(172.17.2.1) OriginIGP,metric0,localpref88,valid,internal,notsynchronized 总结: 路由器c的权重改变了,但是始发路由器b没有变。Ebgp邻居也没有效果了。也就是说这条命令只能改变广播给自己ibgp邻居的路由条目中权重的变化,对自己与ebgp没有影响. 实验26 语法:Maximum-pathsnumber-of-paths 作用:Bgp在ip路由表中只安装最好的路径,但是通过这一命令可以修改。最多能修到达同一目地为六条的等价路径。设备需求:Cisco2501路由器三台配置实例: ra#conft ra(config)#inte0 ra(config-if)#ipadd172.17.1.1255.255.255.0ra(config-if)#noshra(config-if)#ints0 ra(config-if)#ipadd10.1.1.2255.255.255.252ra(config-if)#noshra(config-if)#end rb(config)# rb(config)#ints0 rb(config-if)#ipadd10.1.1.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#ints1 rb(config-if)#ipadd10.1.2.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end rc#conft rc(config)#inte0 rc(config-if)#ipadd172.17.1.2255.255.255.0rc(config-if)#noshrc(config-if)#ints1 rc(config-if)#ipadd10.1.2.2255.255.255.252rc(config-if)#noshrc(config-if)#endra#conft ra(config)#routerbgp1 ra(config-router)#nei10.1.1.1remote2ra(config-router)#nei172.17.1.2remote1ra(config-router)#nosy ra(config-router)#net172.17.1.0mask255.255.255.0ra(config-router)#net10.1.1.0mask255.255.255.252ra(config-router)#end rb(config)#routerbgp2 rb(config-router)#nei10.1.1.2remote1rb(config-router)#nei10.1.2.2remote1rb(config-router)#end rc#conft rc(config)#routerbgp1 rc(config-router)#nei172.17.1.1remote1rc(config-router)#nei10.1.2.1remote2 rc(config-router)#net172.17.1.0mask255.255.255.0rc(config-router)#net10.1.2.0mask255.255.255.252rc(config-router)#nosyrc(config-router)#end 查看路由表rb#shipb BGPtableversionis4,localrouterIDis10.1.2.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork*10.1.1.0/30*> *10.1.2.0/30*> *172.17.1.0/24*> NextHop10.1.2.210.1.1.210.1.2.210.1.1.210.1.2.210.1.1.2 MetricLocPrfWeightPath 01i 001i001i 01i 001i001i 可以看到到过172.17.1.0/24有两条路径。因为10.1.1.2的id比较小所以放到最佳路径 中。 rb#shiproub 172.17.0.0/24issubnetted,1subnetsB172.17.1.0[20/0]via10.1.1.2,00:07:35现在通过命令来修来使两条路径都放到路由表中rb#conft rb(config)#routerbgp2 rb(config-router)#maximum-paths2rb(config-router)#end rb#shiproub 172.17.0.0/24issubnetted,1subnetsB172.17.1.0[20/0]via10.1.2.2,00:00:29 [20/0]via10.1.1.2,00:00:29现在路由表中有两条到达同一目标的条目。 注意:Maximum-path最多可以有六条相同的条目。实验二。在ebgp环境中。 rb#conft rb(config)#ints0 rb(config-if)#ipadd10.1.1.1255.255.255.0rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#ints1 rb(config-if)#ipadd10.1.2.1255.255.255.0rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end ra#conft ra(config)#inte0 ra(config-if)#ipadd172.17.1.1255.255.255.0ra(config-if)#noshra(config-if)#ints0 ra(config-if)#ipad10.1.1.2255.255.255.0 ra(config-if)#noshra(config-if)#end rc#conft rc(config)#inte0 rc(config-if)#ipadd172.17.1.2255.255.255.0rc(config-if)#noshrc(config-if)#ints1 rc(config-if)#ipadd10.1.2.2255.255.255.0rc(config-if)#noshrc(config-if)#end ra#conft ra(config)#routerbgp1 ra(config-router)#nei172.17.1.2remote3ra(config-router)#nei10.1.1.1remote2 ra(config-router)#net172.17.1.0mask255.255.255.0ra(config-router)#end rb#conft rb(config)#routerbgp2 rb(config-router)#nei10.1.1.2remote1rb(config-router)#nei10.1.2.2remote3rb(config-router)#end rc#conft rc(config)#routerbgp3 rc(config-router)#nei172.17.1.1remote1 rc(config-router)#net172.17.1.0mask255.255.255.0rc(config-router)#nei10.1.2.1remote2rc(config-router)#end 邻居关系起来了,rb#shipb BGPtableversionis2,localrouterIDis10.1.2.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *172.17.1.0/24*> NextHop10.1.2.210.1.1.2 MetricLocPrfWeightPath 003i001i 现在可以看到到达同一目标有两条路由,将id小的广播的条目放到路由表中。 rb#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.rb(config)#routerbgp2 rb(config-router)#maximum-paths2rb(config-router)#end 经验证没有效果。也就是说maximum-paths只能用在ibgp邻居关系中实验27 语法:Neighboripaddress/peer-group-namedefault-originate 作用:每一个路由器都应当有一个默认路由。应用于向不是本的ip路由表中的网络发送数据包。确保每个路由,可以在每一台路由器上设置一个静态路由,用来设置默认路由。另处一种方法,可以创建一个默认路由,并把这个默认路由广播到邻居当中。注意:如果默认路由的接口关闭还是会向邻居广播这条静态路由。设备需求:Cisco2501路由器三台配置实例: \\ rb(config)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#endrb#conft rb(config)#ints1 rb(config-if)#ipadd10.2.1.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end ra#conft ra(config)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#end rc#conft rc(config)#ints1 rc(config-if)#ipadd10.2.1.2255.255.255.252rc(config-if)#noshrc(config-if)#end ra#conft ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2remote1ra(config-router)#end rb#conft rb(config)#routerbgp1 rb(config-router)#nei10.1.1.1remote1rb(config-router)#nei10.2.1.2remote2rb(config-router)#end rc#conft rc(config)#routerbgp2 rc(config-router)#nei10.2.1.1remote1rc(config-router)#end rb#shipbs BGProuteridentifier10.2.1.1,localASnumber1BGPtableversionis1,mainroutingtableversion1NeighborV ASMsgRcvdMsgSent State/PfxRcd10.1.1.14155110.2.1.2 4 2441邻居关系起来了。 用default-0riginate来建立一个静态路由rb#conft TblVer InQOutQUp/Down 0000:01:0900000:00:290 rb(config)#routerbgp1 rb(config-router)#nei10.1.1.1default-originaterb(config-router)#end rb(config)#iproute0.0.0.00.0.0.0s1rb(config)#end ra#shipb BGPtableversionis1,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork*i0.0.0.0 NextHop10.1.1.2 MetricLocPrfWeightPath 1000i 现在路由器a中还是不会将这条静态路由放到路由表中,因为同步的第二条规则,ibgp不 安装ibgp那里学过来的路由,除非在igp里有这条路由.现在关闭同步看一下情况。ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config)#routerbgp1ra(config-router)#nosyra(config-router)#end ra#shipb BGPtableversionis2,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*>i0.0.0.010.1.1.21000ira#shiproub B*0.0.0.0/0[200/0]via10.1.1.2,00:00:27 上面的实验证明:如果要广播一条路由,在除了在邻居上用命令default-originate外,还要注意同步问题。现在路由表中有这条默认路由了。 实验二 多个默认路由问题。当同一台路由器到达多个默认路由时,将会把路由器id最小的广播的静态路由放到路由表中。 现在路由器b收到两条默认路由,将会比较路由器的id,将最小的路由器id广播的静态路由放到路由表中。 ra#conft ra(config)#ints0 ra(config-if)#ipad172.16.1.1255.255.255.0ra(config-if)#noshra(config-if)#ints1ra(config-if)#noshra(config-if)#end ra(config)#iproute0.0.0.00.0.0.0s1ra(config)#end rb(config)#ints0 rb(config-if)#ipadd172.16.1.2255.255.255.0rb(config-if)#nosh rb(config-if)#clra000rb(config-if)# rb(config-if)#ints1 rb(config-if)#ipadd10.1.1.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end rc(config)#ints1 rc(config-if)#ipadd10.1.1.2255.255.255.252rc(config-if)#noshrc(config-if)#endrc(config)#ints0rc(config-if)#noshrc(config-if)#endrc(config)# rc(config)#iproute0.0.0.00.0.0.0s0rc(config)#end ra#conft ra(config)#routerbgp1 ra(config-router)#nei172.16.1.2remote2 ra(config-router)#nei172.16.1.2default-originatera(config-router)#end ra#conft ra(config)#routerbgp1 ra(config-router)#nei172.16.1.2remote2 ra(config-router)#nei172.16.1.2default-originatera(config-router)#end rb#conft rb(config)#routerbgp2 rb(config-router)#nei172.16.1.1remote1rb(config-router)#nei10.1.1.2remote3rb(config-router)#end rc#conft rc(config)#routerbgp3 rc(config-router)#nei10.1.1.1remote2 rc(config-router)#nei10.1.1.1default-originaterc(config-router)#end 现在可以看到路由器b收到两条默认路由rb#shipb BGPtableversionis2,localrouterIDis172.16.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork*>0.0.0.0* NextHop10.1.1.2172.16.1.1 MetricLocPrfWeightPath 03i01i 路由器将id最小的话到路由表中。 注意:当然了,我们不可以用maximim-paths来更改将两条路由都放到路由表中。rb#conft rb(config)#routerbgp2 rb(config-router)#maximum-paths2rb(config-router)#end 这样做没有效果了,这个命令的作用是将到过同一目标的条目都放到路由表中,而上面是收到两个相同的静态路由,所以,不要搞混。 实验28 语法:Bgpbestpathas-pathignore 作用:当决定那一个路径是最好的路径时,将忽略as-path属性设备需求:Cisco2501路由器三台配置实例: ra#conft ra(config)#intlo0 ra(config-if)#ipadd5.5.5.5255.255.255.255ra(config-if)#inte0 ra(config-if)#ipadd172.17.1.2255.255.255.0ra(config-if)#noshra(config-if)#exit ra(config)#routerbgp1 ra(config-router)#nei172.17.1.1remote2 ra(config-router)#nei172.17.1.1route-mapccnpoutra(config-router)#redistributestaticra(config-router)#end ra(config)#iproute193.16.1.0255.255.255.0lo0ra(config-route-map)#exit ra(config)#route-mapccnppermit10ra(config-route-map)#setasprera(config-route-map)#end rb#conft rb(config)#inte0 rb(config-if)#ipadd172.17.1.1255.255.255.0rb(config-if)#noshrb(config-if)#ints1 rb(config-if)#ipad10.1.1.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#exit rb(config)#routerbgp2 rb(config-router)#nei10.1.1.2remote3rb(config-router)#nei172.17.1.2remote1rb(config-router)#exit rc#conft rc(config)#intlo0 rc(config-if)#ipadd6.6.6.6255.255.255.255rc(config-if)#ints1 rc(config-if)#ipadd10.1.1.2255.255.255.252rc(config-if)#noshrc(config-if)#exi rc(config)#routerbgp3rc(config-router)#redstat rc(config-router)#nei10.1.1.1remote2 rc(config-router)#nei10.1.1.1route-mapccnpoutrc(config-router)#noaurc(config-router)#exit rc(config)#route-mapccnpper10rc(config-route-map)#setaspre4rc(config-route-map)#exit rc(config)#iproute193.16.1.0255.255.255.0lo0rc(config)#end 因为路由器c上的路径比a上的短,所以将优先使用路由器c上广播来的路由条目rb#shipb BGPtableversionis2,localrouterIDis172.17.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork*>193.16.1.0* NextHop10.1.1.2172.17.1.2 MetricLocPrfWeightPath 0034?001? 现在通过命令来修改配置,将忽略as-path不参于最好路径的选择rb#conf rb(config)#routerbgp2 rb(config-router)#bgpbestpathas-pathignorerb(config-router)#end rb#shipb BGPtableversionis2,localrouterIDis172.17.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork*193.16.1.0*> NextHop10.1.1.2172.17.1.2 MetricLocPrfWeightPath 0034?001? 由于路由器a上的id比路由器c上的小,所以将选择路由器a上的路由条目实验29 语法:前缀列表实验1 Neighboripaddress/peer-group-nameprefix-listprefix-list-namein作用:在拒绝更明确的路由的同时,允许聚合路由设备需求:Cisco2501路由器二台配置实例: ra(config)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#end rb# rb#conft rb(config)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end rb#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.rb(config)#intlo0 rb(config-if)#ipadd172.16.0.1255.255.255.0rb(config-if)#intlo1 rb(config-if)#ipadd172.16.1.1255.255.255.0rb(config-if)#intlo2 rb(config-if)#ipad172.16.2.1255.255.255.0rb(config-if)#intlo3 rb(config-if)#ipadd172.16.3.1255.255.255.0rb(config-if)#endrb# ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2remote2ra(config-router)#end rb(config)#routerbgp2 rb(config-router)#nei10.1.1.1remote1 rb(config-router)#net172.16.0.0mask255.255.255.0rb(config-router)#net172.16.1.0mask255.255.255.0rb(config-router)#net172.16.2.0mask255.255.255.0rb(config-router)#net172.16.3.0mask255.255.255.0 rb(config-router)#aggregate-address172.16.0.0255.255.252.0rb(config-router)#end 现在a收到邻居的路由ra#shipb BGPtableversionis6,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork NextHop MetricLocPrfWeightPath *>*>*>*>*>172.16.0.0/24172.16.0.0/22172.16.1.0/24172.16.2.0/24172.16.3.0/2410.1.1.210.1.1.210.1.1.210.1.1.210.1.1.2 000002i02i02i02i02i 现在修改配置,只允许收到聚合的前缀 ra#conft ra(config)#ipprefix-listccnaseq5permit172.16.0.0/22ra(config-router)#nei10.1.1.2prefix-listccnainra(config-router)#end 前缀列表与route-map差不多。前缀列表是经过命名的。前且,前缀列表中的第一个说明都有一个序列号,前缀列表中的原素按照顺序扫执行,前且,当一个配置匹配时,进程就停止。默认情况下以5开始,并且以5为单位增加Ipprefix-listsquence-numberdefault查看命令showipprefix-list ra#shipb BGPtableversionis12,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *>172.16.0.0/22 NextHop10.1.1.2 MetricLocPrfWeightPath 02i ra#shipprefix-list ipprefix-listccna:1entriesseq5permit172.16.0.0/22 ra(config)#ipprefix-list?WORDNameofaprefixlist sequence-numberInclude/excludesequencenumbersinNVGENra(config)#ipprefix-list5?denySpecifypacketstorejectdescriptionPrefix-listspecificdescriptinpermitSpecifypacketstoforwardseqsequencenumberofanentryra(config)#ipprefix-list5seq? <1-4294967294>Sequencenumberra(config)#ipprefix-list5seq5? denySpecifypacketstorejectpermitSpecifypacketstoforward ra(config)#ipprefix-list5seq5permit? A.B.C.DIPprefix 一般情况下格式为 Ipprefix-list名字permit/deny前缀ge/le 实验二 允许明确路由拒绝聚合路由,先将上面的配置删除ra#conft ra(config)#noipprefix-listccnaseq5permit172.16.0.0/22ra(config)#exitra#conft ra(config)#ipprefix-listccnapermit172.16.0.0/24ra(config)#ipprefix-listccnapermit172.16.1.0/24ra(config)#ipprefix-listccnapermit172.16.2.0/24ra(config)#ipprefix-listccnapermit172.16.3.0/24ra(config)#end 当然下面的下是一样的效果 ra(config)#ipprefix-listccnapermit172.16.0.0/22ge23上面的意思是在聚合路由中大于等于23掩码允许通过 ra#shipb BGPtableversionis5,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop10.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 002i002i002i002i *> *>*>*> 实验完成 Neighboripaddress/peer-group-nameprefix-listprefix-list-nameout通过prefix-list在出的方向上过滤路由条目 实验一,只允许路由a收到聚合的路由条目,在这里所有的配置是一样的,只是用的方向不一样,效果也是一样了,比如在上面中,a的进的方向也就是b的出的方向上面rb#conft rb(config)#ipprefix-listccnapermit172.16.0.0/22rb(config)#routerbgp2 rb(config-router)#nei10.1.1.1prefix-listccnaoutrb(config-router)#endrb# ra#shipb BGPtableversionis20,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *>172.16.0.0/22 NextHop10.1.1.2 MetricLocPrfWeightPath 02i 实验二,允许a收到明确的路由,而拒绝聚合的路由条目rb#conft rb(config)#noipprefix-listccnapermit172.16.0.0/22rb(config)#ipprefix-listccnapermit172.16.0.0/22ge23rb(config)#endrb# ra#shipb BGPtableversionis25,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *>172.16.0.0/24 NextHop10.1.1.2 MetricLocPrfWeightPath 002i *>172.16.1.0/24*>172.16.2.0/24*>172.16.3.0/2410.1.1.210.1.1.210.1.1.200002i02i02i 实验成功 在过滤聚合路由时,perfix-list是很方便的一种手段格式最简单为ipprefix-list名子允许或拒绝前缀然后在邻居上面运用 实验30 语法:Neighboripaddress/peer-group-nameunsuppress-maproute-map-name说明:在使用aggregate-address时summary-only选项,会抑制聚合的更明确路由,也会抑制更明确路由到达所有的邻居。可以使用非抑制的映射有选择的让更明确的路由到达特定的邻居。 设备需求:Cisco2501路由器三台配置实例: ra#conft ra(config)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.0ra(config-if)#noshra(config-if)#intlo0 ra(config-if)#ipadd172.16.0.1255.255.255.0ra(config-if)#intlo1 ra(config-if)#ipadd172.16.1.1255.255.255.0 ra(config-if)#intlo2 ra(config-if)#ipadd172.16.2.1255.255.255.0ra(config-if)#intlo3 ra(config-if)#ipadd172.16.3.1255.255.255.0ra(config-if)#end rb#conft rb(config)#ints0 rb(config-if)#ipad10.1.1.2255.255.255.0rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#ints1 rb(config-if)#ipadd10.1.2.1255.255.255.0rb(config-if)#nosh rb(config-if)#clra00rb(config-if)#clra000rb(config-if)#endrc#conft rc(config)#ins1 rc(config-if)#ipadd10.1.2.2255.255.255.0rc(config-if)#noshrc(config-if)#end ra#conft ra(config)#routerbgp65530 ra(config-router)#net172.16.0.0mask255.255.255.0ra(config-router)#net172.16.1.0mask255.255.255.0ra(config-router)#net172.16.2.0mask255.255.255.0ra(config-router)#net172.16.3.0mask255.255.255.0ra(config-router)#nei10.1.1.2remote1ra(config-router)#end rb#conft rb(config)#routebgp1 rb(config-router)#aggregate-address172.16.0.0255.255.0.0summary-onlyrb(config-router)#nei10.1.1.1remote65530rb(config-router)#nei10.1.2.2remote2rb(config-router)#end rc#conft rc(config)#routerbgp2 rc(config-router)#nei10.1.2.1remote1 rc(config-router)#end rb#shipb BGPtableversionis10,localrouterIDis10.1.2.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.0.0172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop10.1.1.10.0.0.010.1.1.110.1.1.110.1.1.1 MetricLocPrfWeightPath 0065530 32768i 006553000655300065530 s> *>s>s>s> iiii rc#shipb BGPtableversionis2,localrouterIDis10.1.2.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork*>172.16.0.0 NextHop10.1.2.1 MetricLocPrfWeightPath 01i 现在在第二台路由器上只向外传递聚合后的路由条目。现在在第二台路由器上不抑制172.16.2.0并能向外传播出去。rb#conft rb(config)#access-list1permit172.16.2.00.0.0.255rb(config)#route-map1permit10 rb(config-route-map)#matchipadd1rb(config-route-map)#endrb(config)#routerbgp1 rb(config-router)#nei10.1.2.2unsuppress-map1rb(config-router)#end rc#shipb BGPtableversionis5,localrouterIDis10.1.2.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork*>172.16.0.0*>172.16.2.0/24 NextHop10.1.2.110.1.2.1 MetricLocPrfWeightPath 01i 0165530i 现在看一下实验 rb#conft rb(config)#routerbgp1 rb(config-router)#nonei10.1.2.2unsuppress-map1rb(config-router)#nei10.1.2.2route-map1outrb(config-router)#endrb#conft rb(config)#access-list1permit172.16.2.00.0.0.255rb(config)#route-map1permit10 rb(config-route-map)#matchipadd1rb(config)#route-map1permit20rb(config-route-map)#end rc#shipb BGPtableversionis8,localrouterIDis10.1.2.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork*>172.16.0.0 NextHop10.1.2.1 MetricLocPrfWeightPath 01i 实验31 语法:Neighboripaddress/peer-group-namefilter-listas-pash-list-numberin说明:通过as路径来过滤特定的更新。设备需求:Cisco2501路由器三台配置实例: BC正在广播四个网络前缀。通过filter-list来过滤特定的路由更新ra#conft ra(config)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.0ra(config-if)#noshra(config-if)#end rb(config)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#ints1 rb(config-if)#ipadd10.1.2.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#endrb# rc#conft rc(config)#ints1 rc(config-if)#ipadd10.1.2.2255.255.255.252rc(config-if)#noshrc(config-if)#end rb#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.rb(config)#intlo0 rb(config-if)#ipadd172.16.0.1255.255.255.0rb(config-if)#intlo1 rb(config-if)#ipadd172.16.1.1255.255.255.0rb(config-if)#intlo2 rb(config-if)#ipadd172.16.2.1255.255.255.0rb(config-if)#intlo3 rb(config-if)#ipadd172.16.3.1255.255.255.0rb(config-if)#end rc#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.rc(config)#intlo0 rc(config-if)#ipadd198.16.0.1255.255.255.0rc(config-if)#intlo1 rc(config-if)#ipadd198.16.1.1255.255.255.0rc(config-if)#intlo2 rc(config-if)#ipadd198.16.2.1255.255.255.0rc(config-if)#intlo3 rc(config-if)#ipadd198.16.3.1255.255.255.0 rc(config-if)#endrc# ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2remote2ra(config-router)#end rb#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.rb(config)#routerbgp2 rb(config-router)#net172.16.0.0mask255.255.255.0rb(config-router)#net172.16.1.0mask255.255.255.0rb(config-router)#net172.16.2.0mask255.255.255.0rb(config-router)#net172.16.3.0mask255.255.255.0rb(config-router)#nei10.1.1.1remote1rb(config-router)#nei10.1.2.2remote3rb(config-router)#end rc#conft rc(config)#routerbgp3 rc(config-router)#net198.16.0.0rc(config-router)#net198.16.1.0rc(config-router)#net198.16.2.0rc(config-router)#net198.16.3.0 rc(config-router)#nei10.1.2.1remote2rc(config-router)#end ra#shipb BGPtableversionis9,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24198.16.0.0198.16.1.0198.16.2.0198.16.3.0 NextHop10.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 002i002i002i002i 023i023i023i023i *>*>*>*>*>*>*>*> 过滤从as3始发的路由 正则表达示_3$表示从as3始发的任何路径ra#conft ra(config)#ipas-pathaccess-list1deny_3$ra(config)#ipas-pathaccess-list1permit.*ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2filter-list1inra(config-router)#end 验证过滤ra#shipb BGPtableversionis5,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*>172.16.0.0/2410.1.1.2002i*>172.16.1.0/2410.1.1.2002i*>172.16.2.0/2410.1.1.2002i*>172.16.3.0/2410.1.1.2002i实验二 拒绝起始于as3的路由允许as3经过的路由 先删除原来的配置,并假定一路由是由as4传过来的 rc#conft rc(config)#access-list1permit198.16.0.00.0.1.255rc(config)#route-mapccnapermit10rc(config-route-map)#matchipadd1 rc(config-route-map)#setas-pathprepend4rc(config-route-map)#exit rc(config)#route-mapccnapermit20rc(config-route-map)#end 在出的方向上运用rc#conft rc(config)#routerbgp3 rc(config-router)#nei10.1.2.1route-mapccnaoutrc(config-router)#end ra#shipb BGPtableversionis33,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24198.16.0.0198.16.1.0198.16.2.0198.16.3.0 NextHop10.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 002i002i002i002i 0234i0234i023i023i *>*>*>*>*>*>*>*> 通过使用过滤将拒绝始发于as3的路由而允许经过as3的路由ra#conft ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2filter-list1inra(config-router)#exit ra(config)#ipas-pathaccess-list1deny_3$ra(config)#ipas-pathaccess-list1permit.*ra(config)#end 上面的意思是允许经过as3但是拒绝始发于as3上的路由更新ra#shipb BGPtableversionis47,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24198.16.0.0198.16.1.0 NextHop10.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 002i002i002i002i 0234i0234i *>*>*>*>*>*> 实验三 拒绝所有包含as3的路由条目 通过正则表达式可以精确的控路由条目的进与出拒绝所有包含as3的路由条目为_3_ra(config)#routerbgp1 ra(config-router)#nonei10.1.1.2filter-list1inra(config-router)#nei10.1.1.2filter-list1out ra(config-router)#exit ra(config)#ipas-pathaccess-list1deny_3_ra(config)#ipas-pathaccess-list1permit.*ra(config-router)#nei10.1.1.2filter-list1in在这里注意方向。如果是out则没有作用 ra#shipb BGPtableversionis73,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop10.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 002i002i002i002i *> *>*>*> 实验四 拒绝起始于直接相连的ebgp所有的路由ra#conft ra(config)#noipas-pathaccess-list1deny_3_ra(config)#ipas-pathaccess-list1deny^2$ra(config)#ipas-pathaccess-list1permit.*ra(config)#end 上面的意思是拒绝所有直连的起始于as2的条目 ra#shipb BGPtableversionis81,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork198.16.0.0198.16.1.0198.16.2.0198.16.3.0 NextHop10.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 0234i0234i023i023i *>*>*>*> 实验成功 实验32 语法:Aggregate-addressaddressmaskattribute-maproute-map-name作用:通过attribute-map来修改聚合后的度量或med 设备需求:Cisco2501路由器二台配置实例 rc#conft rc(config)#intlo0 rc(config-if)#ipadd172.16.0.1255.255.255.0rc(config-if)#intlo1 rc(config-if)#ipadd172.16.1.1255.255.255.0rc(config)#inte0 rc(config-if)#ipadd172.17.1.2255.255.255.0rc(config-if)#noshrc(config-if)#end ra(config)#inte0 ra(config-if)#ipad172.17.1.1255.255.255.0ra(config-if)#noshra(config-if)#ints1 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#nosh ra(config-if)#clra000ra(config-if)#end rb(config)#ints1 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#noshrb(config-if)#intlo0 rb(config-if)#ipadd172.16.2.1255.255.255.0rb(config-if)#intlo1 rb(config-if)#ipadd172.16.3.1255.255.255.0rb(config-if)#end ra(config)#routerbgp1 ra(config-router)#nei172.17.1.2remote65530ra(config-router)#nei10.1.1.2remote2ra(config-router)#end rb#conft rb(config)#routerbgp2 rb(config-router)#net172.16.2.0mask255.255.255.0rb(config-router)#net172.16.3.0mask255.255.255.0rb(config-router)#nei10.1.1.1remote1rb(config-router)#end rc#conft rc(config)#routerbgp65530 rc(config-router)#net172.16.0.0mask255.255.255.0rc(config-router)#net172.16.1.0mask255.255.255.0rc(config-router)#nei172.17.1.1remote1rc(config-router)#end 启用聚合路由ra#conft ra(config)#routerbgp1 ra(config-router)#aggregate-address172.16.0.0255.255.252.0ra(config-router)#end 通过attribute-map来修改聚合后的度量ra#conft ra(config)#routerbgp1 ra(config-router)#noaggregate-address172.16.0.0255.255.252.0ra(config-router)#aggregate-address172.16.0.0255.25.252.0att ra(config-router)#$ddress172.16.0.0255.25.252.0attribute-mapccnara(config-router)#end ra(config)#route-mapccnapermit10ra(config-route-map)#setmetric50ra(config-route-map)#end ra#shipb BGPtableversionis6,localrouterIDis172.17.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork NextHop MetricLocPrfWeightPath *>*>*>*>*>172.16.0.0/24172.16.0.0/17172.16.1.0/24172.16.2.0/24172.16.3.0/24172.17.1.20.0.0.0172.17.1.210.1.1.210.1.1.2050000065530i32768i 065530i02i02i 实验33 语法:Neighboripaddress/peer-group-namemaximum-prefixprexix-limitthreshodl-value Neighboripaddress/peer-group-namemaximum-prefixprefix-limitthreshold-valuewarning-only 作用:从特定邻居得到的前缀数目。Threshold-value为产生报警的值,当达到prefix-limit这个上限时,路由器会切断连结。使用warning-only为当超过上限时,只是报警而不切断连结 说明:主要用在防止恶意攻击,如果一台路由器在短时间内收到超过一定的条目,则有可能发生了恶意攻击,使路由器瘫痪。可以通过设置来防止这种恶意攻击设备需求:Cisco2501路由器二台配置实例: ra#conft ra(config-if)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#end rb#conft rb(config)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252 rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end rb#conft rb(config)#intlo0 rb(config-if)#ipadd172.16.0.1rb(config-if)#intlo1 rb(config-if)#ipadd172.16.1.1rb(config-if)#intlo2 rb(config-if)#ipadd172.16.2.1rb(config-if)#intlo3 rb(config-if)#ipadd172.16.3.1rb(config-if)#intlo4 rb(config-if)#ipadd172.16.4.1rb(config-if)#intlo5 rb(config-if)#ipadd172.16.5.1rb(config-if)#intlo6 rb(config-if)#ipadd172.16.6.1rb(config-if)#intlo7 rb(config-if)#ipadd172.16.7.1rb(config-if)#intlo8 rb(config-if)#ipadd172.16.8.1rb(config-if)#end 255.255.255.0255.255.255.0255.255.255.0255.255.255.0255.255.255.0255.255.255.0255.255.255.0255.255.255.0255.255.255.0 ra#conft ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2remote2 ra(config-router)#nei10.1.1.2maximum-prefix8ra(config-router)#end rb#conft rb(config)#routerbgp2 rb(config-router)#nei10.1.1.1remote1 rb(config-router)#net172.16.0.0mask255.255.255.0rb(config-router)#net172.16.1.0mask255.255.255.0rb(config-router)#net172.16.2.0mask255.255.255.0rb(config-router)#net172.16.3.0mask255.255.255.0rb(config-router)#net172.16.4.0mask255.255.255.0rb(config-router)#net172.16.5.0mask255.255.255.0rb(config-router)#endrb# 对于初始设置,在路由器上的默认极限值是75%。当从路由器a上收到7条路由时,将发出一个警报 再增加一个路由条目rb#conft rb(config)#routerbgp2 rb(config-router)#net172.16.6.0mask255.255.255.0rb(config-router)#end 收到一条警报ra# 00:21:50:%BGP-4-MAXPFX:No.ofprefixreceivedfrom10.1.1.2(afi0)reaches7,max8 如果在增加一条前缀时,将达到上限rb#conft rb(config)#routerbgp2 rb(config-router)#net172.16.7.0mask255.255.255.0rb(config-router)#end 如果在增加一条路由将中断连结rb#conft rb(config)#routerbgp2 rb(config-router)#net172.16.8.0mask255.255.255.0rb(config-router)#end ra# 00:27:37:%BGP-3-MAXPFXEXCEED:No.ofprefixreceivedfrom10.1.1.2(afi0):9e xceedlimit8 00:27:37:%BGP-5-ADJCHANGE:neighbor10.1.1.2DownBGPNotificationsentra# 00:27:37:%BGP-3-NOTIFICATION:senttoneighbor10.1.1.23/1(updatemalformed)0bytes 中断连结,当然如果只用warning-only时,只会报警,而不会中断连结ra#shipbs BGProuteridentifier10.1.1.1,localASnumber1 BGPtableversionis59,mainroutingtableversion59NeighborState/PfxRcd V ASMsgRcvdMsgSent TblVer InQOutQUp/Down 10.1.1.242282300000:01:36Idle(PfxCt 注意:这一命令对于攻击有一定作用特别是ISP这一方向。 实验34 语法:BGP的route-map实验,路由映射是路由过滤和属性的强大通用的工具。通过几个实验来验证一下 注意:在route-map中如果只有set表示上面挑剩下的所有的都怎样怎样。如果只有match表示只允许或拒绝。 设备需求:Cisco2501路由器二台配置实例: 实验一:ra#conft ra(config)#ints1ra(config-if)#ipaddra(config-if)#noshra(config-if)#intlo0ra(config-if)#ipaddra(config-if)#intlo1ra(config-if)#ipaddra(config-if)#intlo2ra(config-if)#ipaddra(config-if)#intlo3ra(config-if)#ipaddra(config-if)#endrb#conft 172.17.1.1255.255.255.0 172.16.1.1255.255.255.0172.16.2.1255.255.255.0192.16.1.1255.255.255.0192.16.2.1255.255.255.0 rb(config)#ints1 rb(config-if)#ipadd172.17.1.2255.255.255.0rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end ra#conft ra(config)#routerbgp1 ra(config-router)#nei172.17.1.2remote2 ra(config-router)#net172.16.1.0mask255.255.255.0ra(config-router)#net172.16.2.0mask255.255.255.0ra(config-router)#net192.16.1.0ra(config-router)#net192.16.2.0ra(config-router)#end rb#conft rb(config)#routerbgp2 rb(config-router)#nei172.17.1.1remote1rb(config-router)#end 收到对端广播的路由条目rb#shipb BGPtableversionis5,localrouterIDis172.17.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.1.0/24172.16.2.0/24192.16.1.0192.16.2.0 NextHop172.17.1.1172.17.1.1172.17.1.1172.17.1.1 MetricLocPrfWeightPath 001i001i001i001i *> *>*>*> 现在使用空的route-map来看一下会出现怎么样的效果rb#conft rb(config)#routerbgp2 rb(config-router)#nei172.17.1.1route-mapccnainrb(config-router)#exit rb(config)#route-mapccnapermit10rb(config-route-map)#end 上面的意思是:在进的方向调用route-map.但是是空的。什么也没有,所以这一条没有起作用。 现在验证没有任何变化rb#shipb BGPtableversionis5,localrouterIDis172.17.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.1.0/24172.16.2.0/24192.16.1.0192.16.2.0 NextHop172.17.1.1172.17.1.1172.17.1.1172.17.1.1 MetricLocPrfWeightPath 001i001i001i001i *> *>*>*> 下面用否定来验证,看会发生什么变化。rb(config)#noroute-mapccnapermit10rb(config)#route-mapccnadeny10 所有的配置都不变,只将route-map变成否定rb#shipbs BGProuteridentifier172.17.1.2,localASnumber2BGPtableversionis9,mainroutingtableversion9NeighborState/PfxRcd V ASMsgRcvdMsgSent TblVerInQOutQUp/Down 172.17.1.141191790当变成否定时也就是拒绝所有的条目,将没有收到对端的广播实验二 只许收到特定的路由条目 000:00:300 rb(config)#routerbgp2 rb(config-router)#nei172.17.1.1route-mapccnainrb(config-router)#exit rb(config)#access-list1permit172.16.1.00.0.0.255rb(config)#route-mapccnapermit10 rb(config-route-map)#matchipadd1rb(config-route-map)#endrb# 实验证明只收到特定的条目,因为rout-map最后都有一条默认的denyall,所以其它的路由条目是收不到的。rb# 01:50:31:%BGP-5-ADJCHANGE:neighbor172.17.1.1Uprb#shipb BGPtableversionis2,localrouterIDis172.17.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NetworkNextHopMetricLocPrfWeightPath*>172.16.1.0/24172.17.1.1001i实验三 许可其它的路由条目收到,但是将剩下的路由条目的度量改成其它的值 rb#conft rb(config)#route-mapccnapermit20rb(config-route-map)#setmetric90rb(config-route-map)#end 上面的命令中如果只有set表示上面挑剩下的所有的都怎第样。如果只有match表示只允许或拒绝。上面意思是允许172.16.1.0通过,剩下的也可以通过但是度量改成90rb#shipb BGPtableversionis5,localrouterIDis172.17.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *>172.16.1.0/24*>172.16.2.0/24*>192.16.1.0 NextHop172.17.1.1172.17.1.1172.17.1.1 MetricLocPrfWeightPath 001i9001i9001i *>192.16.2.0实验成功 172.17.1.19001i 实验四。 拒绝一条路由。如果只拒绝一条路由的话,最后一定要加一条空的允许,不然所有的路由都学习不到了。 先将上面的route-map删除。重定下面的rb#conft rb(config)#route-mapccnadeny10 rb(config-route-map)#matchipaddress1rb(config-route-map)#endrb#shipb 什么也没有学习到了,因为最后有一个默认的denyall现在加一条允许空的。rb#conft rb(config)#route-mapccnapermit20rb(config-route-map)#end 验证现在实验成功,只拒绝了一个条目剩下的全部允许通过了。rb#shipb BGPtableversionis4,localrouterIDis172.17.1.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *>172.16.2.0/24*>192.16.1.0*>192.16.2.0实验成功 NextHop172.17.1.1172.17.1.1172.17.1.1 MetricLocPrfWeightPath 001i001i001i 说明:如果用拒绝的语句,最后面一定要定一个空的允许,不然所有都不会学习到了。实验35 语法:Neighboripaddress/peer-group-nameremove-private-AS 作用:把更新中私有的自治系统移出邻居与对等组中.私有的AS号是512-65535只能用到下面的条件中只能用于ebgp 如果在AS路径更新中只有私有的AS号bgp就会移除它们 如果AS路径中有既有公有AS号也有私有的AS号,这认为是一种错误的配置。BGP不会移出私有的AS号 如果AS路径中有ebgp邻居的AS号。Bgp不会移出这些私有的AS号 如果AS路径中有联盟,bgp就会移出出现在AS路径中联盟部分后面的私有AS号 设备需求:Cisco2501路由器三台配置实例 ra(config)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#end rb(config)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#ints1 rb(config-if)#ipadd10.1.2.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end rc(config)#ins1 rc(config-if)#ipadd10.1.2.2255.255.255.252rc(config-if)#noshrc(config-if)#endra#conft ra(config)#intlo0ra(config-if)#ipaddra(config-if)#intlo1ra(config-if)#ipaddra(config-if)#intlo2ra(config-if)#ipaddra(config-if)#intlo3ra(config-if)#ipaddra(config-if)#end 172.16.0.1255.255.255.0172.16.1.1255.255.255.0172.16.2.1255.255.255.0172.16.3.1255.255.255.0 ra#conft ra(config)#routerbgp65530 ra(config-router)#net172.16.0.0mASk255.255.255.0ra(config-router)#net172.16.1.0mASk255.255.255.0ra(config-router)#net172.16.2.0mASk255.255.255.0ra(config-router)#net172.16.3.0mASk255.255.255.0ra(config-router)#nei10.1.1.2remote1ra(config-router)#end rb#conft rb(config)#routerbgp1 rb(config-router)#nei10.1.1.1remote65530rb(config-router)#nei10.1.2.2remote2rb(config-router)#end rc#conft rc(config)#routerbgp2 rc(config-router)#nei10.1.2.1remote1rc(config-router)#end rc#shipb BGPtableversionis13,localrouterIDis10.1.2.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internal Origincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop10.1.2.110.1.2.110.1.2.110.1.2.1 MetricLocPrfWeightPath 0165530016553001655300165530 *>*>*>*>iiii 验证 rb(config-router)#nei10.1.2.2remove-private-AS通过这个命令,将移除私有的AS号 rc#shipb BGPtableversionis21,localrouterIDis10.1.2.2 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24 NextHop10.1.2.110.1.2.110.1.2.110.1.2.1 MetricLocPrfWeightPath 01i01i01i01i *>*>*>*> 验证没有私有AS号 实验36语法:BGP路由重分配Redistributeprotocol路由重分配在BGP中要注意.如果不指定度量的话,会学习从igp那里的度量。当然了,如果是eigrp那样,就会学会eigrp的度量。设备需求:Cisco2501路由器二台配置实例:实验一 A上面运行BGP,B上面也是运行BGP,但是还有eigrpc上面运行eigrp。现在重分配eigrp路由条目 ra#conft ra(config)#ints0ra(config-if)#inte0 ra(config-if)#ipadd172.17.1.2255.255.255.0ra(config-if)#noshra(config-if)#end rb#conft rb(config)#inte0 rb(config-if)#ipadd172.17.1.1255.255.255.0rb(config-if)#noshrb(config-if)#endrb#conft rb(config)#ints1 rb(config-if)#ipadd10.1.1.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#end rc#conft rc(config)#ints1 rc(config-if)#ipad10.1.1.2255.255.255.252rc(config-if)#noshrc(config-if)#end ra(config)#intlo0 ra(config-if)#ipadd172.16.0.1255.255.255.0ra(config-if)#intlo1 ra(config-if)#ipadd172.16.1.1255.255.255.0ra(config-if)#routerbgp1 ra(config-router)#nei172.17.1.1remote2 ra(config-router)#net172.17.1.0mask255.255.255.0ra(config-router)#end rb#conft rb(config)#routerei1 rb(config-router)#net10.0.0.0rb(config-router)#net172.17.0.0rb(config-router)#noau rb(config-router)#routerbgp2 rb(config-router)#nei172.17.1.2remote1 rb(config-router)#net10.1.1.0mask255.255.255.252rb(config-router)#net172.17.1.0mask255.255.255.0rb(config-router)#exit rb(config)#iproute172.16.2.0255.255.255.0s1注意是模拟一个静态路由rb(config)#end rc#conft rc(config)#intlo0 rc(config-if)#ipadd172.16.2.1255.255.255.0rc(config-if)#intlo1 rc(config-if)#ipadd172.16.3.1255.255.255.0rc(config)#routerei1 rc(config-router)#net172.16.0.0rc(config-router)#net10.0.0.0rc(config-router)#noaurc(config-router)#end 在这里重新注入A的直连网络,B的静态路由和eigrp的网络ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config)#routerbgp1ra(config-router)#noau ra(config-router)#redistributeconnectedra(config-router)#end rb#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z. rb(config)#routerbgp2rb(config-router)#noautrb(config-router)#redstaticrb(config-router)#redei1rb(config-router)#end ra#shipb BGPtableversionis8,localrouterIDis172.16.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork10.1.1.0/30172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24172.16.4.0/24172.17.1.0/24 NextHop172.17.1.10.0.0.00.0.0.0172.17.1.1172.17.1.1172.17.1.1172.17.1.10.0.0.0 MetricLocPrf 00022978562297856 000 WeightPath 02i32768?32768? 02?02?02?02i32768i *>*>*>*>*>*>**> rb#shipb BGPtableversionis21,localrouterIDis172.17.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incomplete NextHopMetricLocPrfWeightPath *>0.0.0.0032768i*>172.17.1.2001?*>172.17.1.2001?*>10.1.1.2229785632768?*>10.1.1.2229785632768?*>0.0.0.0032768?*172.17.1.2001i*>0.0.0.0032768i 如果重分配没有指定度量,那么就用使用从eigrp那里学习到的度量。重新分配的相邻路由与静态路由的度量和med为0 [实验二bc上面运行ospf,看是如何学习到的。 说明:如果在重新分配的时候不指定度量么将学习ospf的度量值。Network10.1.1.0/30172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24172.16.4.0/24172.17.1.0/24 上面的配置中将删除eigrp与重分发配置rb#conft rb(config)#routerospf1 rb(config-router)#net10.1.1.00.0.0.255ar0 rb(config-router)#net172.17.0.00.0.255.255ar0rb(config-router)#end rc#conft rc(config)#routerospf1 rc(config-router)#net172.16.0.00.0.255.255ar0rc(config-router)#net10.1.1.00.0.0.255ar0rc(config-router)#end ra#conft ra(config)#routerbgp1ra(config-router)#redconra(config-router)#end rb#conft rb(config)#routerbgp2rb(config-router)#redstatrb(config-router)#redospf1rb(config-router)#end ra#shipb BGPtableversionis26,localrouterIDis172.16.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork10.1.1.0/30172.16.0.0/24172.16.1.0/24172.16.2.1/32172.16.3.1/32172.16.4.0/24172.17.1.0/24 NextHop172.17.1.10.0.0.00.0.0.0172.17.1.1172.17.1.1172.17.1.1172.17.1.10.0.0.0 MetricLocPrfWeightPath 002i032768?032768?6502?6502?002?002i032768i *> *>*>*>*>*>**> rb#shipb BGPtableversionis8,localrouterIDis172.17.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork10.1.1.0/30172.16.0.0/24172.16.1.0/24172.16.2.1/32172.16.3.1/32172.16.4.0/24172.17.1.0/24 NextHop0.0.0.0172.17.1.2172.17.1.210.1.1.210.1.1.20.0.0.0172.17.1.20.0.0.0 MetricLocPrfWeightPath 032768i001?001?6532768?6532768?032768?001i032768i *> *>*>*>*>*>**> rb#shiprouos 172.16.0.0/16isvariablysubnetted,5subnets,2masksO172.16.3.1/32[110/65]via10.1.1.2,00:06:19,Serial1O172.16.2.1/32[110/65]via10.1.1.2,00:06:19,Serial1实验三 Redistributeprotocolmtericmteric 上面的ospf所有的配置不变,只删除重分发的配置 ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config)#routerbgp1 ra(config-router)#noredconra(config-router)#endrb#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.rb(config)#routerbgp2 rb(config-router)#noredstatrb(config-router)#noredospf1rb(config-router)#end ra#conft ra(config)#routerbgp1 ra(config-router)#redconme5ra(config-router)#end rb#conft rb(config)#routerbgp2 rb(config-router)#redstatme10rb(config-router)#redospf1me15rb(config-router)#end ra#shipb BGPtableversionis14,localrouterIDis172.16.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internal Origincodes:i-IGP,e-EGP,?-incompleteNetwork10.1.1.0/30172.16.0.0/24172.16.1.0/24172.16.2.1/32172.16.3.1/32172.16.4.0/24172.17.1.0/24 NextHop172.17.1.10.0.0.00.0.0.0172.17.1.1172.17.1.1172.17.1.1172.17.1.10.0.0.0 MetricLocPrfWeightPath 002i532768?532768?1502?1502?1002?002i532768i *> *>*>*>*>*>**> rb#shipb BGPtableversionis8,localrouterIDis172.17.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork10.1.1.0/30172.16.0.0/24172.16.1.0/24172.16.2.1/32172.16.3.1/32172.16.4.0/24172.17.1.0/24 NextHop0.0.0.0172.17.1.2172.17.1.210.1.1.210.1.1.20.0.0.0172.17.1.20.0.0.0 MetricLocPrfWeightPath 032768i501?501?1532768?1532768?1032768?501i032768i *> *>*>*>*>*>**> 现在都学习到了。 实验四 Redistributeprotocolroute-maproute-map-name通过使用route-map来过滤学习到的路由条目 ra#conft ra(config)#inte0 ra(config-if)#ipadd172.17.1.2255.255.255.0ra(config-if)#noshra(config-if)#end rb#conft rb(config)#inte0 rb(config-if)#ipadd172.17.1.1255.255.255.0rb(config-if)#nosh rb(config)#iproute172.16.4.0255.255.255.0s1rb(config)#ints1 rb(config-if)#ipadd10.1.1.1255.255.255.0rb(config-if)#noshrb(config-if)# rb(config-if)#clra000rb(config-if)#end rc#conft rc(config)#ints1 rc(config-if)#ipadd10.1.1.2255.255.255.0rc(config-if)#noshrc(config-if)#end ra#conft ra(config)#intlo0 ra(config-if)#ipadd172.16.0.1255.255.255.0ra(config-if)#intlo1 ra(config-if)#ipad172.16.1.1255.255.255.0ra(config-if)#routerbgp1 ra(config-router)#nei172.17.1.1remote2 ra(config-router)#net172.17.1.0mask255.255.255.0ra(config-router)#noaura(config-router)#end rb#conft rb(config)#routerbgp2 rb(config-router)#nei172.17.1.2remote1 rb(config-router)#net172.17.1.0mask255.255.255.0rb(config-router)#net10.1.0.0mask255.255.255.rb(config-router)#noau rb(config-router)#net10.1.0.0mask255.255.255.0rb(config-router)#end rb#conft rb(config)#routerei1 rb(config-router)#net10.0.0.0rb(config-router)#net172.17.0.0rb(config-router)#noaurb(config-router)#end rc#conft rc(config)#intlo0 rc(config-if)#ipadd172.16.2.1255.255.255.0rc(config-if)#intlo1 rc(config-if)#ipadd172.16.3.1255.255.255.0rc(config-if)#endrc(config)#routerei1 rc(config-router)#net172.16.0.0rc(config-router)#net10.0.0.0rc(config-router)#noaurc(config-router)#end ra#conft ra(config)#routerbgp1 ra(config-router)#redconroute-mapccnara(config-router)#exit ra(config)#access-list1permit172.16.1.00.0.0.255ra(config)#route-mapccnapermit10ra(config-route-map)#matchipadd1ra(config-route-map)#end rb#conft rb(config)#routerbgp2 rb(config-router)#redstatroute-map2rb(config-router)#redei1route-map3rb(config-router)#exit rb(config)#access-list1deny172.16.2.00.0.0.255rb(config)#access-list1permitanyrb(config)#route-map3permit10 rb(config-route-map)#matchipadd1rb(config-route-map)#exit rb(config)#route-map2permit10rb(config-route-map)#setwei88rb(config-route-map)#endrb# 验证 rb#shipb BGPtableversionis6,localrouterIDis172.17.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork10.1.1.0/24172.16.1.0/24172.16.3.0/24172.16.4.0/24172.17.1.0/24 NextHop0.0.0.0172.17.1.210.1.1.20.0.0.0172.17.1.20.0.0.0 MetricLocPrfWeightPath 032768?001? 229785632768? 088?001i032768i *> *>*>*>**> ra#shipb BGPtableversionis12,localrouterIDis172.16.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork10.1.1.0/24172.16.1.0/24172.16.3.0/24172.16.4.0/24172.17.1.0/24 NextHop172.17.1.10.0.0.0172.17.1.1172.17.1.1172.17.1.10.0.0.0 MetricLocPrfWeightPath 002?032768?229785602? 002?002i032768i *> *>*>*>**> 实验37 语法:Neighboripaddress/peer-group-nameroute-reflector-client 作用:当一个网络中为了减少ibgp的交换,可以使用路由反射器.注意,在真实的工程环境中,路由反射器用的很少,一般用社团和组。设备需求:Cisco2501路由器三台配置实例: ra(config)#inte0 ra(config-if)#ipadd172.17.1.1255.255.255.0ra(config-if)#noshra(config)#intlo0 ra(config-if)#ipadd172.16.1.1255.255.255.255ra(config-if)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#end rb#conft rb(config)#intlo0 rb(config-if)#ipadd172.16.1.3255.255.255.255rb(config-if)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#ints1 rb(config-if)#ipadd10.1.2.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#endrc(config)#inte0 rc(config-if)#ipadd172.17.1.2255.255.255.0rc(config-if)#noshrc(config)#intlo0 rc(config-if)#ipadd172.16.1.2255.255.255.255rc(config-if)#ints1 rc(config-if)#ipadd10.1.2.2255.255.255.252rc(config-if)#noshrc(config-if)#end ra#conft Enterconfigurationcommands,oneperline.ra(config)#routerbgp1 ra(config-router)#nei172.16.1.3remote1ra(config-router)#nei172.16.1.3uplo0ra(config-router)#exitra(config)#routerospf1 ra(config-router)#net10.0.0.00.255.255.255ra(config-router)#net172.16.0.00.0.255.255ra(config-router)#net172.17.0.00.0.255.255ra(config-router)#end EndwithCNTL/Z. ar0ar0ar0 rb#conft rb(config)#routerospf1 rb(config-router)#net10.0.0.00.255.255.255ar0rb(config-router)#net172.16.0.00.0.255.255ar0rb(config-router)#exitrb(config)#routerbgp1 rb(config-router)#nei172.16.1.1remote1rb(config-router)#nei172.16.1.1uplo0 rb(config-router)#nei172.16.1.1route-reflector-clientrb(config-router)#nei172.16.1.2remote1rb(config-router)#nei172.16.1.2uplo0 rb(config-router)#nei172.16.1.2route-reflector-client rc#conft rc(config)#routerospf1 rc(config-router)#net10.0.0.00.255.255.255ar0rc(config-router)#net172.16.0.00.0.255.255ar0rc(config-router)#net172.17.0.00.0.255.255ar0rc(config-router)#exitrc(config)#routerbgp1 rc(config-router)#nei172.16.1.3remote1rc(config-router)#nei172.16.1.3uplo0rc(config-router)#end通过命令查看邻居信息rb#shipbnei BGPneighboris172.16.1.1,remoteAS1,internallinkBGPversion4,remoterouterID172.16.1.1BGPstate=Established,upfor00:03:27 Lastread00:00:26,holdtimeis180,keepaliveintervalis60secondsNeighborcapabilities: Routerefresh:advertisedandreceived(new) AddressfamilyIPv4Unicast:advertisedandreceivedReceived18messages,0notifications,0inqueueSent18messages,0notifications,0inqueueRouterefreshrequest:received0,sent0 Defaultminimumtimebetweenadvertisementrunsis5secondsForaddressfamily:IPv4Unicast BGPtableversion1,neighborversion1Index1,Offset0,Mask0x2Route-ReflectorClient 0acceptedprefixesconsume0bytes Prefixadvertised0,suppressed0,withdrawn0NumberofNLRIsintheupdatesent:max0,min0Connectionsestablished2;dropped1Lastreset00:03:52,duetoUserreset BGPneighboris172.16.1.2,remoteAS1,internallinkBGPversion4,remoterouterID172.16.1.2BGPstate=Established,upfor00:04:16 Lastread00:00:16,holdtimeis180,keepaliveintervalis60secondsNeighborcapabilities: Routerefresh:advertisedandreceived(new) AddressfamilyIPv4Unicast:advertisedandreceivedReceived10messages,0notifications,0inqueueSent10messages,2notifications,0inqueueRouterefreshrequest:received0,sent0 Defaultminimumtimebetweenadvertisementrunsis5secondsForaddressfamily:IPv4Unicast BGPtableversion1,neighborversion1Index2,Offset0,Mask0x4Route-ReflectorClient 0acceptedprefixesconsume0bytes Prefixadvertised0,suppressed0,withdrawn0NumberofNLRIsintheupdatesent:max0,min0Connectionsestablished1;dropped0Lastresetnever实验39 说明:过滤总结 作用:通过路由过滤来精确设置权重设备需求:Cisco2501路由器三台配置实例 ra#conft ra(config)#ints0 ra(config-if)#ipadd10.1.1.1255.255.255.252ra(config-if)#noshra(config-if)#exit ra(config)#routerbgp1 ra(config-router)#nei10.1.1.2remote2ra(config-router)#end rb#conft rb(config)#ints0 rb(config-if)#ipadd10.1.1.2255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#ints1 rb(config-if)#ipadd10.1.2.1255.255.255.252rb(config-if)#nosh rb(config-if)#clra000rb(config-if)#exit rb#conft rb(config)#routerbgp2 rb(config-router)#nei10.1.1.1remote1rb(config-router)#nei10.1.2.2remote3 rb(config-router)#net172.16.0.0mask255.255.255.0rb(config-router)#net172.16.1.0mask255.255.255.0rb(config-router)#net172.16.2.0mask255.255.255.0rb(config-router)#net172.16.3.0mask255.255.255.0rb(config-router)#exitrb(config)#intlo0 rb(config-if)#ipadd172.16.0.1255.255.255.0rb(config-if)#intlo1 rb(config-if)#ipadd172.16.1.1255.255.255.0rb(config-if)#intlo2 rb(config-if)#ipadd172.16.2.1255.255.255.0rb(config-if)#intlo3 rb(config-if)#ipadd172.16.3.1255.255.255.0rb(config-if)#exitrb(config)# rc#conft rc(config)#intlo0 rc(config-if)#ipadd198.16.0.1255.255.255.0rc(config-if)#intlo1 rc(config-if)#ipadd198.16.1.1255.255.255.0rc(config-if)#intlo2 rc(config-if)#ipadd198.16.2.1255.255.255.0rc(config-if)#intlo3 rc(config-if)#ipadd198.16.3.1255.255.255.0rc(config-if)#exitrc(config)#ints1 rc(config-if)#ipadd10.1.2.2255.255.255.252rc(config-if)#noshrc(config-if)#exit rc(config)#routerbgp3 rc(config-router)#net198.16.0.0rc(config-router)#net198.16.1.0rc(config-router)#net198.16.2.0rc(config-router)#net198.16.3.0 rc(config-router)#nei10.1.2.1remote2rc(config-router)#end 现在三台路由器相互学习到路由条目:下面先通过两个失败的例字来看一下效果。实验一 在a上面将起始于as3的路由条目权重改为999ra#conft ra(config)#ipas-pathaccess-list1permit_3$ra(config)#ipas-pathaccess-list1permit.* ra(config-router)#nei10.1.1.2route-mapccnainra(config-router)#nei10.1.1.2filter-list1inra(config-router)#exitra#conft ra(config)#route-mapccnapermit10ra(config-route-map)#match?as-pathMatchBGPASpathlistcommunityMatchBGPcommunitylist extcommunityMatchBGP/VPNextendedcommunitylistinterfaceMatchfirsthopinterfaceofrouteipIPspecificinformationlengthPacketlengthmetricMatchmetricofrouteroute-typeMatchroute-typeofroutetagMatchtagofroutera(config-route-map)#matchas-path1ra(config-route-map)#set?as-pathPrependstringforaBGPAS-pathattributeautomatic-tagAutomaticallycomputeTAGvaluecomm-listsetBGPcommunitylist(fordeletion)communityBGPcommunityattributedampeningSetBGProuteflapdampeningparametersdefaultSetdefaultinformationextcommunityBGPextendedcommunityattributeinterfaceOutputinterfaceipIPspecificinformationlevelWheretoimportroute local-preferenceBGPlocalpreferencepathattributemetricMetricvaluefordestinationroutingprotocolmetric-typeTypeofmetricfordestinationroutingprotocoloriginBGPorigincodetagTagvaluefordestinationroutingprotocolweightBGPweightforroutingtable ra(config-route-map)#setweight999ra(config-route-map)#exit ra(config)#route-mapccnapermit? <0-65535>Sequencetoinsertto/deletefromexistingroute-mapentry ra(config)#route-mapccnapermit20ra(config-route-map)#endra# 结果没有成功ra#shipb BGPtableversionis,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24198.16.0.0198.16.1.0198.16.2.0198.16.3.0 NextHop10.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 09992i09992i09992i09992i 99923i99923i99923i99923i *>*>*>*>*>*>*>*> ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config)#ipas ra(config)#noipas-pathaccess-list1? ra#shipb BGPtableversionis105,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork *>172.16.0.0/24*>172.16.1.0/24 NextHop10.1.1.210.1.1.2 MetricLocPrfWeightPath 002i002i *>*>*>*>*>*>172.16.2.0/24172.16.3.0/24198.16.0.0198.16.1.0198.16.2.0198.16.3.010.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.2 00 02i02i023023023023 iiii 结果也没有成功ra#conft Enterconfigurationcommands,oneperline.EndwithCNTL/Z.ra(config)#noipas-pathaccess-list1permit^3$ra(config)#ipas-pathaccess-list1permit^2$ra(config)#exit ra#shipb BGPtableversionis121,localrouterIDis10.1.1.1 Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internalOrigincodes:i-IGP,e-EGP,?-incompleteNetwork 172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24198.16.0.0198.16.1.0198.16.2.0198.16.3.0 NextHop10.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.210.1.1.2 MetricLocPrfWeightPath 09992i09992i09992i09992i 023i023i023i023i *>*>*>*>*>*>*>*> 现在成功了 ra(config-router)#nei10.1.1.2filter-list1inra(config)#ipas-pathaccess-list1permit.*从上面的实验可以得出: 如果要设置权重,那么只能设置在收的方向相邻的路由器的权重,而不能设置相邻路由器以外的权重。 设置权重是,注意使用route-map还有ipas-pathaccess-list来设置 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务