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. 网友评选2020年人生十大遗憾,考好大学列在第一
  2. java二维数组矩阵_java使用二维数组开发五子棋
  3. Python爬虫初学(三)—— 模拟登录知乎
  4. 使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践--转载
  5. MATLAB信号处理之常用信号的表示
  6. 【已解决】scanf语句中%d后面多加一个空格,为什么数据需要多输入一个?
  7. php执行zip压缩,PHP执行zip与rar解压缩方法实现代码
  8. 让我们Core在一起:ASP.NET Core amp; .NET Core
  9. 火力发电厂与变电站设计防火标准_真题—火力发电厂1
  10. 英伟达或正与软银就收购ARM深入谈判,交易价值超过320亿
  11. 设计师必备的资源网站和灵感作品社区分享!
  12. [20个项目学会BBC micro:bit编程] 12-蜂鸣器控制
  13. matlab求解scara运动空间,SCARA机器人直线运动下的极限点求解算法
  14. HDU 1867 A + B for you again(KMP)
  15. 陆面生态水文模拟与多源遥感数据同化与Noah-MP模型
  16. vue.js 知乎_zhihu每日水疗中心与vue.js
  17. 【移动端】屏幕、像素、视口、 viewport 控制
  18. python关于二手房的课程论文_用Python对2019年二手房价格进行数据分析
  19. Unity3D里实现可以朝向另一目标广告牌(billboard)效果
  20. 《炬丰科技-半导体工艺》 半导体晶圆清洗站多化学品供应系统的讨论

热门文章

  1. 软件测试方法——黑盒测试
  2. 飞凌单片机解密_[资料] 常见的IC芯片解密方法与原理解析!
  3. 汇编原理6:opcode
  4. BIN文件和HEX文件区别
  5. Win系统 - 尚未安装,.NET Framework 4,原因是:HRESULT 0x80240037
  6. 用友U9 SOA Ready
  7. 手机定位折腾记(1):安卓手机的网络定位与NetworkLocation.apk
  8. 云队友丨巴菲特是怎样炼成的?两万字长文深度起底股神的传奇人生
  9. MSDTC报错怎么破
  10. pixel 1 欧版电信破解4G,安卓P亲测可用(打电话+4G上网)