distribute-list分发列表

(2013-07-07 10:46:09)

转载

标签:

distribute-list

分发列表

分类: Routing
一、工具概述
distribute-list分发列表是用于控制路由更新的一个工具,只能过滤路由信息,不能过滤LSA。

   如上图,R1、R2、R3运行RIP。R2在初始情况下,会将自己的路由表更新给R1,其中假设包含三条路由1.0、2.0及3.0。现在我们可以通过在R2上部署分发列表distribute-list,使得R2在更新给R1的路由信息中过滤掉3.0这条路由。这就是分发列表的一个使用示例。当然,它还有更加广泛的应用。
二、部署要点
 
   分发列表是用于控制路由更新的一个工具,只能过滤路由信息,不能过滤LSA。因此:分发列表在距离矢量路由协议中使用,无论是in或者是out方向,都能正常的过滤路由。但是在链路状态路由协议中的工作就有点问题了。
   The command distribute-list out works only on the routes being redistributed by the Autonomous System Boundary Routers (ASBRs) into OSPF. It can be applied to external type 2 and external type 1 routes, but not to intra-area and interarea routes.
1.对于距离矢量路由协议

   路由器之间,传递的是路由信息,分发列表对路由信息是有绝对的控制权的。因此如果是in方向,那么通过部署分发列表,可以过滤特定的路由,使得执行分发列表的本地路由路由表发生变化,同时,本地路由器在更新路由信息给下游路由器的时候,实际上更新的内容是受分发列表影响之后的条目。
同时在out方向,也是没有问题的。 
2.对于链路状态路由协议,如OSPF

   值的注意的是,对于OSPF这样的链路状态路由协议,路由器之间传递的消息不再是路由信息了,而是LSA,而分发列表是无法对LSA进行过滤的。因此,在链路状态协议中部署分发列表,就需要留意了:
  • in方向,分发列表只能在本地收到LSA后,生成路由的那一刹那进行路由的过滤,执行分发列表的路由器自己路由表会被分发列表影响(但是本地LSDB仍然是有LSA的),而且该路由器仍会将LSADB中的LSA发送给邻居,因此本地被过滤的路由,邻居还有。
  • out方向,分发列表只能工作在执行路由重发布动作的那个ASBR上,且只能针对外部引入的路由起作用。因为OSPF执行重发布时,其实这些外部路由是以路由的形式引入进来的,因此分发列表在这个场合下能够正常工作,但是如果不是本地始发的外部路由,或者是内部的OSPF路由,out方向的分发列表均束手无策。

   例如在R1上重发布直连进OSPF,用out方向的分发列表可过滤掉1.1.1.0这条外部路由。但R1重发布进来的路由,如果在R2上用out方向的分发列表试图阻挡R3接受路由或LSA,则无法,因为这不是本地始发的外部路由。
三、配置命令
1.In方向
R1(config-router)#distribute-list 1 in ?   // 都是接口
 Async              Async interface
 BVI                Bridge-Group Virtual Interface
 CDMA-Ix            CDMA Ix interface
 Dialer             Dialer interface
 FastEthernet       FastEthernet IEEE 802.3
 Multilink          Multilink-group interface
 Port-channel       Ethernet Channel of interfaces
 Tunnel             Tunnel interface
 Vif                PGM Multicast Host interface
 Virtual-PPP        Virtual PPP interface
 Virtual-Template   Virtual Template interface
 ……
2.OUT方向
R1(config-router)#distribute-list 1 out ?   // 接口或协议
 Async              Async interface
 BVI                Bridge-Group Virtual Interface
 Dialer             Dialer interface
 FastEthernet       FastEthernet IEEE 802.3
 Loopback          Loopback interface
 Multilink          Multilink-group interface
 Port-channel       Ethernet Channel of interfaces
 Tunnel             Tunnel interface
 Virtual-PPP        Virtual PPP interface
 Virtual-Template   Virtual Template interface
 Virtual-TokenRing  Virtual TokenRing
 bgp                Border Gateway Protocol (BGP)
 connected          Connected
 eigrp              Enhanced Interior Gateway Routing Protocol (EIGRP)
 ospf               Open Shortest Path First (OSPF)
 rip                Routing Information Protocol (RIP)
 static             Static routes
 ……
四、应用场合
 
1.配置示例1(单一路由协议环境下-RIP)

初始情况下,R3能够学习到R1的三条loopback路由,以及192.168.12.0/24路由。现在我们不希望R3学习到192.168.3.0/24的路由,那么可以在R2上如下配置:
R2(config)# access-list 1 deny 192.168.3.0
R2(config)# access-list 1 permit any
R2(config)# router rip
R2(config-router)# distribute-list 1 out fa 1/0
当然,在R3上,用in方向的分发列表也可以达到同样的效果。
2.配置示例2(单一路由协议环境下-RIP)

在R2上如果做如下配置:
R2(config)# access-list 1 deny 192.168.3.0
R2(config)# access-list 1 permit any
R2(config)# router rip
R2(config-router)# distribute-list 1 in fa0/0
那么,首先R2自己的路由表会发生改变,3.0的路由被过滤掉了,同时R3也就是下游RIP路由器,3.0也学不到。
3.配置示例3(单一路由协议环境下-OSPF)

R2的配置如下:
R2(config)# access-list 1 deny 192.168.3.0
R2(config)# access-list 1 permit any
R2(config)# router ospf 1
R2(config-router)# distribute-list 1 in fa0/0
注意这时候,首先在R2的路由表里,3.0的路由就被干掉了。注意,这时候实际上,area内OSPF路由器产生的LSA已经是装载到了R2的OSPF database之中,而在R2从OSPF database中计算路由,并准备将路由条目装载进路由表之前,in方向的分发列表发生作用了,将3.0的路由过滤掉了,因此R2的路由表中,是没有3.0的OSPF路由的。但是,虽然R2自己路由表里没3.0路由,这不妨碍R2将相关LSA泛洪给R3,因此,R3仍然是有1.0、2.0、3.0以及12.0的OSPF路由的。 
4.配置示例4(单一路由协议环境下-OSPF)

现在我们在R2上做如下配置:
R2(config)# access-list 1 deny 192.168.3.0
R2(config)# access-list 1 permit any
R2(config)# router ospf 1
R2(config-router)# distribute-list 1 out 
R3的路由表会是什么情况?实际上,没有任何影响,R3能学习到全网的路由。至于为什么,我相信前面已经解释的非常清楚了。
5.配置示例5(单一路由协议环境下-OSPF out方向分发列表)

分发列表,部署在OSPF这样的链路状态路由协议中,如果要用out方向,则只能用在这样的场合。
如上图,在R1上部署,R1使用重发布直连的方式引入这三条外部路由,那么out方向的分发列表,只能在R1上部署,且对这三条路由产生作用。
R1(config)# access-list 1 deny 192.168.3.0
R1(config)# access-list 1 permit any
R1(config)# router ospf 1 
R1(config-router)# redistribute connected subnets
R1(config-router)# network 192.168.12.1 0.0.0.0 area 0
R1(config-router)# distribute-list 1 out
上述配置实现后,R1将过滤掉3.0路由。
6.配置示例6 协议间重发布时部署分发列表

RIP重发布进OSPF
  • 情况1
R2的配置如下:
access-list 1 permit 1.1.1.0
router ospf 1
redistribute rip metric 10 subnets
distribute-list 1 out rip
这里这条命令的意思是,从RIP路由协议重分发过来的路由中,只允许1.1.1.0出去(到OSPF协议,没有方向,只要是运行了OSPF的接口)
R3的路由表里,只有1.1.1.0的路由
  • 情况2
在R2上开设loopback接口2.2.2.0/24,R2既重发布RIP进OSPF,又重发布直连进OSPF
access-list 1 permit 1.1.1.0
router ospf 1
redistribute connected subnets
redistribute rip metric 10 subnets
network 192.168.23.0 0.0.0.255 area 0
 distribute-list 1 out
// 在R3上只有1.1.1.0的路由,也就是说distribute-list 1 out 此处这条命令,对所有从外部注入进OSPF的路由都生效,最终只有1.1.1.0路由存活下来。而不断路由的来源是直连路由,还是RIP。
  • 情况3
在R2上开设loopback接口2.2.2.0/24,R2既重发布RIP进OSPF,又重发布直连进OSPF
access-list 1 permit 1.1.1.0
router ospf 1
redistribute connected subnets
redistribute rip metric 10 subnets
distribute-list 1 out rip
// R3的路由表中有路由:1.1.1.0 、 2.2.2.0 、 192.168.12.0
// 也就是屏蔽掉了从RIP重发布进来的除了1.1.1.0以外的路由,并重发布本地直连接口 

转载于:https://www.cnblogs.com/gaveme/p/3773582.html

distribute-list分发列表 转自 红茶三杯sina blog相关推荐

  1. distribute-list分发列表

    distribute-list分发列表 (2013-07-07 10:46:09) 转载▼ 标签: distribute-list 分发列表 分类: Routing 一.工具概述 distribute ...

  2. CCNP路由实验---12、配置分发列表和被动接口

    一.实验拓扑图: 二.实验目的    1.在实验中应用到高级路由功能来操作路由更新,这些特性包括分发列表,默认路由,被动接口和路由重分布. 2.掌握高级路由特性来控制路由更新. 三.实验要求 1.公司 ...

  3. 使用分发列表过滤BGP路由

    一.拓扑图: 二.配置各路由器的IP地址,并运行BGP协议. 1.为了让R3学到明细路由,我们把R1自动汇总关掉: R1(config)#router bgp 64512 R1(config-rout ...

  4. Python实例 -- 如何快速获取列表中最大的三个元素

    如何快速获取列表中最大的三个元素 最近在做实验,期间需要在一个列表中获取最大的三个元素,自己写的方法复杂度太高,放上大牛的方法,复杂度很低.多看几遍,才能体会到大概的精髓.这道题也是Python的面试 ...

  5. CCIE-LAB-第十二篇-EIGRP+EIGRP末节区域+leak map+分发列表

    CCIE-LAB-第十二篇-EIGRP+EIGRP末节区域+leak map+分发列表 实际中,思科只会给你5个小时去做下面的全部配置 这个是CCIE-LAB的拓扑图 问题 翻译:1.确保分支3分支4 ...

  6. python列表元素都加倍_关于python列表增加元素的三种操作方法

    关于python列表增加元素的三种操作方法 1.insert方法,该方法包含两个参数,第一个参数为插入的位置参数,第二个参数为插入内容 a = [0,0,0] b = [1,2,3] a.insert ...

  7. 向列表增加元素的三种方法

    向列表增加元素的三种方法  ,分别是:append().extend() 和 insert(). append() 方法是将参数作为一个元素增加到列表的末尾. extend() 方法是将参数作为一个列 ...

  8. Python编程:从入门到实践——列表简介(第三章+课后答案)

    对应书目:Python编程:从入门到实践 列表简介(第三章) 要理解新的编程概念,最佳的方法是尝试在程序中使用它们 Python通过将索引指定为-1,可以让Python返回最后一个列表元素 动手试一试 ...

  9. 【Android 进阶】仿抖音系列之列表播放视频(三)

    在上一篇[Android 进阶]仿抖音系列之列表播放视频(二)中,我们实现列表播放视频,这一篇我们来对其做些优化. [Android 进阶]仿抖音系列之翻页上下滑切换视频(一) [Android 进阶 ...

  10. 三杯茶(一本令全世界为之动容的书)(Three cups of tea)

    内容简介 敬上一杯茶,你是一个陌生人: 再奉第二杯,你是我们的朋友: 第三杯茶,你是我的家人,我将用生命来保护你. 一个人,一个承诺,一段辛苦漫长的旅程,许许多多人的爱心,一个美丽的承诺,终于实践. ...

最新文章

  1. 创建python2与python3虚拟环境失败的原因
  2. html css 样式中100%width 仍有白边解决办法
  3. 新浪微博php7升级实践,PHP7线上system time飙高问题
  4. 【Python】EXCEL转Json
  5. 封装Apache http client工具类
  6. java 线程池与executor_详解Java线程池和Executor原理的分析
  7. xml与实体互相转换
  8. 基于Java毕业设计房产客户信息管理系统源码+系统+mysql+lw文档+部署软件
  9. 分频器+计数器+数码管显示VHDL
  10. OMRON-FINS(TCP)协议详细解析和攻击
  11. MATLAB绘制地形图和等高线图
  12. java实现网页评分_Java web分级测试评分C级感受
  13. Spring Boot 错误页面解析原理(超级无敌详细)
  14. 从Darry Ring看奢侈品该如何玩转互联网思维
  15. c语言if语句教学设计,if语句教学设计
  16. python爬取某站上海租房图片
  17. 你所不知道的Spring的@Autowired实现细节
  18. Java中的System.getenv()和System.getProperty()
  19. 公众号服务号自定义菜单获取code
  20. 2009 年度优秀游戏评选大赛——“金翎奖”

热门文章

  1. 战地一自定义服务器怎么搜索,战地1怎么快速加入服务器?多种加入方法一览...
  2. 文献搜索方法(转载)
  3. 实时监控网页变化,并增加多种提示信息
  4. Windows 使用技巧之WinZIP密码破解
  5. aspectjweaver AspectJ
  6. 找个网页游戏插件开发团队
  7. mysql 纯真ip 导出dat_用纯真ip数据库.dat文件查询ip归属
  8. 微信客服crm系统多客服聊天源码分享
  9. 解决IDEA支持GBK编码项目的问题
  10. hsqldb和mysql,Hsqldb简介和基本使用