当前位置:文档之家› 详细讲述路由器控制和路由器重分布

详细讲述路由器控制和路由器重分布

详细讲述路由器控制和路由器重分布时间:2008-07-26 来源:作者:刘斌10.1 路由重分布10.1.1 路由重分布原则路由重分布的作用:可以使得多种路由协议之间,多重厂商环境中进行路由信息交换Metrics在做路由重分布的时候要考虑到的一个问题是:metric.比如把OSPF路由重分布到EIGRP里,EIGRP和OSPF之间没有办法理解对方的metric,因此在做路由重分布之前,要分配一个对方可以理解的metric,Administrative DistancesRedistributing from Classless to Classful ProtocolsOSPF是基于无类的路由协议,将IGRP重分布到OSPF以后,路由器Paige它可以知道OSPF路由域和IGRP路由域的所有子网信息;而路由器Leonard只能学习到OSPF中掩码为/24的子网,因为IGRP是基于类的路由协议10.1.2 配置路由重分布路由器Paige的IGRP配置如下:Paige(config)#router igrp 1Paige(config-router)#redistribute ospf 1 metric 10000 100 255 1 1500Paige(config-router)#passive-interface Ethernet1Paige(config-router)#network 172.20.0.0如上把OSPF(源路由协议)向IGRP(接受重分布的路由协议)重分布,同时分配了该路由的metric,10000:带宽 100:延迟 255:可靠性 1:负载 1500:MTU路由器Paige的OSPF配置如下:Paige(config)#router ospf 1Paige(config-router)#redistribute igrp 1 metric 30 metric-type 1 subnetsPaige(config-router)#network 172.20.112.2 0.0.0.0 area 0如上是把IGRP重分布到OSPF中去,指定metric为30(OSPF的metric标准为cost),经过重分布以后,路由器Paige就成为了ASBR,经过重分布的IGRP路由是作为外部路由宣告进OSPF路由域的,同时使用metric-type命令指定外部路由类型为E1.subnets参数只在把路由重分布到OSPF中使用,它指明经过重分布后的子网的细节信息另一种分配metric的方法是使用default-metric命令,比如刚才才把IGRP重分布到OSPF里的配置也可以写成下面的形式:Paige(config)#router ospf 1Paige(config-router)#redistribute igrp 1 metric-type 1 subnetsPaige(config-router)#default-metric 30Paige(config-router)#network 172.20.112.2 0.0.0.0 area 02种不同的配置其实是相同的效果, default-metric命令的优点是,当要重分布多种路由协议的时候,可以同时指定这些经过重分布的路由的metricPaige(config)#router ospf 1Paige(config-router)#redistribute igrp 1 metric-type 1 subnetsPaige(config-router)#redistribute rip metric-type 1 subnetsPaige(config-router)#redistribute eigrp 2 metric-type 1 subnetsPaige(config-router)#default-metric 30Paige(config-router)#network 172.20.112.2 0.0.0.0 area 0这里使用default-metric 30同时指定了重分布到OSPF里的RIP,IGRP和EIGRP路由的metric都为30 不过这2种分配metric的命令可以结合在一起使用,如下:Paige(config)#router igrp 1Paige(config-router)#redistribute ospf 1Paige(config-router)#redistribute rip metric 50000 500 255 1 1500Paige(config-router)#redistribute eigrp 2Paige(config-router)#default-metric 10000 100 255 1 1500Paige(config-router)#passive-interface Ethernet1Paige(config-router)#network 172.20.0.0如果metric和default-metric命令没有指定具体的参数,重分布到OSPF里的路由默认的metric为20,而其他的路由协议为0.metric为0不能被RIP正确理解,并且与IGRP和EIGRP不兼容,IS-IS可以正确理解注意路由器Mantle还连接了个stub网络192.168.10.0/24,如果要求把这个网络宣告进IGRP路由域,可以使用redistribute connected命令注意不同进程的EIGRP的重分布不需要分配metric,因为它们是同一种路由协议,可以相互理解对方的metric 查看路由器Podres的路由表,如下:为什么只有1条为指向192.168.2.0/24的E2外部OSPF路由?答案是把其他类型的路由重分布到OSPF里的时候没有使用参数subnets,因此将把没有连接到做路由重分布的路由器(Robinson)的主网络地址(192.168.2.0/24)做重分布.使用subnets参数如上,所有子网都能被路由器Hodges学习到另外,OSPF外部路由类型默认为E2,如果要把上面的OSPF外部路由类型更改为E1,可以在重分布外部路由到OSPF中的时候使用命令metric-type 1,如下:Robinson(config)#router ospf 1Robinson(config-router)#redistribute eigrp 1 metric 50 subnetsRobinson(config-router)#redistribute eigrp 2 metric 100 metric-type 1 subnetsRobinson(config-router)#network 192.168.3.33 0.0.0.0 area 010.1.4 路由重分布及路由汇总Cisco的EIGRP,OSPF和IS-IS都可以对重分布的路由进行路由汇总. 可以在OSPF进程下使用summary-address指定汇总的地址和掩码,不过这个命令是用在ASBR上的,ABR上的路由汇总是使用area <area-id> range <address>命令,如下:对于EIGRP的汇总,是基于接口的,使用命令ip summary-address eigrp {process-id},如下:10.1.5 IS-IS和RIP间的路由重分布参数internal为内部路由的含义,默认为内部,并且为L1.路由器Aaron的路由表如下:路由器Aaron所连的子网可以汇总为10.2.0.0/16,重分布到IS-IS里的路由和OSPF一样,也是使用summary-address命令,但是还要额外的指定IS-IS的Level,如下:10.2 默认路由及ODR按需路由默认路由(Default Route)最大的好处就是减少路由表的条目,从而减小了路由表体积,降低了对路由器CPU资源的占用ODR(On-Demand Routing,按需路由)是从Cisco IOS版本11.2出现的,它为Cisco所私有,并且不是真正意义上路由协议.它依赖于Cisco发现协议(CDP,Cisco Discovery Protocol)标记为o的代表ODR,它的管理距离为160,并且metric永远不会超过110.2.1 配置静态默认路由Memphis(config)#ip classlessMemphis(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.82配置的静态默认路由,RIP,IGRP和EIGRP将自动宣告默认路由(OSPF和IS-IS要做额外的配置)10.2.2 default-network配置默认路由另一种配置默认路由的方法是使用ip default-network命令.可以看到10.0.0.0被标记为侯选的默认路由,但是没有指定默认网关,原因是路由器Athens就是到这个默认网络的网关,即使在配置RIP的时候不声明network 10.0.0.0,ip default-network命令会使得路由器Athens宣告一个默认网络对于IGRP和EIGRP的默认路由稍微有些不同,它们不能理解0.0.0.0,所以通常会宣告一个真实的地址作为外部路由,然后这个外部路由会被IGRP和EIGRP理解成默认路由如果路由器Athens运行的是IGRP,如下:router igrp 1network 10.0.0.0network 172.16.0.0!ip classlessip default-network 10.0.0.0注意和配置RIP不同的是,在配置IGRP的时候增加了network 10.0.0.0语句10.2.3 Default-information originate配置默认路由可以看到路由器Athens上设置的有默认路由,可路由器Sparta上却没有,这时就要用到default-information originate命令,告诉该OSPF路由器成为1个ASBR(默认路由以类型5的LSA被宣告进OSPF路由域中),并指定metric和OSPF外部路由类型,如下:Athens(config)#router ospf 1Athens(config-router)#network 172.16.0.0 0.0.255.255 area 0Athens(config-router)#default-information originate metric 10 metric-type 1Athens(config)#ip classlessAthens(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.210.2.4 配置ODR按需路由ODR的启用只需输入命令router odr无需指明网络和其他参数. ODR传送地址前缀,而不是整个地址,因此路由器必须支持VLSM ODR可以被重分布到其他路由协议 ODR的管理距离为160,度量永远都不会超过1 ODR路由得传输机制是Cisco发现协议 (CDP),路由器上用cdp run启用,用cdp enable在特定的接口上启用 CDP运行在任何支持子网访问协议(SNAP)的介质上,即ODR也依赖SNAP的支持在中心路由器上用router odr启用分支路由器上配置一条指向中心路由器的静态路由就可以了10.3 路由过滤路由过滤可以通过下面2种方法实现:1.使用distribute-list过滤特定路由2.使用distance命令来控制路由的AD 路由过滤器的用途:把一个路由选择域分割成多个子域,在连接不同子域的路由器上过滤建立路由防火墙过滤器是基于访问列表的基础上用distribute-list acl-no in/out 接口/路由协议NO.是被应用的访问列表编号在“路由协议”关键字中,仅有out是有意义的由于链路状态协议不从自身路由表中通告路由,所以在“接口”关键字中用out是没有意义的,要过滤什么进程,就把过滤器放在什么进程下例:在OSPF 1下过滤RIP,则在OSPF进程下用distribute-list 10 in rip 在OSPF 1下过滤OSPF 1,这在OSPF进程中用distribute-list 10 in 要在一个本来运行一种路由协议的网络中运用另一种路由协议时,为了防止出错和路由黑洞,如果新协议的管理距离小于旧协议,在新路由进程中用distance增大新协议的管理距离,等到网络中的每个路由器上新协议都配置好后再改回去,再删除旧协议,最后用clear ip route * 清空路由表,让其重新学习在路由进程中用distance AD IP-addr wildcat-mask acl-NO.10.4 Route-Maproute map和ACL很类似,它可以用于路由的重分布和策略路由,还经常使用在BGP中.策略路由(policy route)实际上是复杂的静态路由,静态路由是基于数据包的目标地址并转发到指定的下一跳路由器,策略路由还利用和扩展IP ACL链接,这样就可以提供更多功能的过滤和分类 route map的一些命令:10.4.1 配置Route-map序列号在没有给出的情况下默认是10,并且route map允许有多个陈述,如下:尽管先输入的是20,后输入的是15,IOS将把15放在20之前.还可以允许删除个别陈述,如下:Linus(config)#no route-map Hagar 15在删除的时候要特别小心,假如你输入了no route-map Hegar而没有指定序列号,那么整个route map将被删除.并且如果在添加match和set语句的时候没有指定序列号的话,那么它们仅仅会修改陈述10.在匹配的时候,从上到下,如果匹配成功,将不再和后面的陈述进行匹配,指定操作将被执行关于拒绝操作,是依赖于route map是使用再路由的再发布中还是策略路由中,如果是在策略路由中匹配失败(拒绝),那么数据包将按正常方式转发;如果是用于路由再发布,并且匹配失败(拒绝),那么路由将不会被再发布如果数据包没有找到任何匹配,和ACL一样,route map末尾也有个默认的隐含拒绝所有的操作,如果是在策略路由中匹配失败(拒绝),那么数据包将按正常方式转发;如果是用于路由再发布,并且匹配失败(拒绝),那么路由将不会被再发布如果route map的陈述中没有match语句,那么默认的操作是匹配所有的数据包和路由;每个route map的陈述可能有多个match和set语句,如下:! route-map Garfield permit 10match ip route-source 15match interface Serial0set metric-type type-1set next-hop 10.1.2.3!在这里,为了执行set语句,每个match语句中都必须进行匹配10.4.2 路由策略使用ip policy route-map命令定义策略路由,这个命令是基于接口的,并且只对进站(incoming)的数据包有影响再假设策略规定从172.16.1.0的服务器上发出的FTP和Telnet流量分别转发到Lucy 和Pigpen上,在路由器Schroeder上做如下配置:interface Ethernet0还可以根据数据包的大小来做策略路由,在路由器Schroeder上做如下配置:对于路由器自己所产生的流量,要对它们做策略路由的话,使用ip local policy route-map,该命令是基于全局配置模式下的,如下,在路由器Schroeder上的配置:只有match语句没有set语句,如果没有permit 10,那么OSPF Hello包会和permit 30匹配并被转发到路由器Pigpen上,这将切断路由器Lucy和Schroeder之前的邻接关系;如果匹配permit 10,OSPF Hello包将被正常转发,不影响邻接关系 10.4.3 在重分布中使用Route-map 在路由的再发布中使用route map,只需要在使用redistribute的时候调用相应的route map即可.拓扑图如下:现在要求只相互再发布第三个8位位组为奇数的路由,在路由器Zippy上做如下配置:其中permit 20没有match命令,因此默认匹配所有地址上个例子使用distribution-list做简单的路由过滤也可达到相同效果,但是route map还可以有更高级的功能,如下配置:如上就是使用route map来控制再分布的OSPF外部路由类型和IS-IS路由Level 关于Route-map的更多应用参见后文BGP中的策略控制。

相关主题