您好,欢迎来到六九路网。
搜索
您的当前位置:首页2008_BGP实验手册NP_IE版

2008_BGP实验手册NP_IE版

来源:六九路网
作者:红盟过客CCIE理论QQ:369136929时间:2007年夏天地点:浙江杭州

软件: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部分,最后是<开始在学习BGP时,很多命令难以理解,特别是像route-map这些东东调用的,放到一个大的as中,用到多次调用时,我完全看不懂是什么意思,比如像卷二中的BGP有一个实例中,不是很好理解。后来我不断的做实验,通过实验来学习理论。开始做实验时,效果也是很差的。刚开始时,一个实验做个五六遍后,一个星期左右的时候又忘记。在网上看到说实验最少要做十遍,做到你想吐为止,这不是骗人的。但是我认为这样效果不是很好。后来,我尝试着写实验笔记,就算是抄,也要搞懂实验的意思。在慢慢理解的过程中,一边写实验,一边做笔记,效果非常好。实验做一遍,笔记写一遍,很多命令都能透彻理解。虽然进度慢下来不少,但是效果表现出来,因为笔记,有很多是通过自己理解与参悟,多动脑子去想会比单纯的对着实验手册打命令好的多。BGP还是要多注重理解,命令有时候可不必要去记住,因为实验做多了,一看就知道是什么意思。

我在初学习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/,e.g.,35.0.0.0/8Ge大于等于Le小于等于

一般情况下格式为

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(config)#noipas-pathaccess-list1permit_3$ra(config)#ipas-pathaccess-list1permit^3$ra(config)#

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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务