OSPF系列:distribute-list分发列表
来源:互联网 发布:relief算法原理 编辑:程序博客网 时间:2024/05/07 08:42
一、工具概述
distribute-list分发列表是用于控制路由更新的一个工具,只能过滤路由信息,不能过滤LSA。
二、部署要点
1.对于距离矢量路由协议
同时在out方向,也是没有问题的。
2.对于链路状态路由协议,如OSPF
- in方向,分发列表只能在本地收到LSA后,生成路由的那一刹那进行路由的过滤,执行分发列表的路由器自己路由表会被分发列表影响(但是本地LSDB仍然是有LSA的),而且该路由器仍会将LSADB中的LSA发送给邻居,因此本地被过滤的路由,邻居还有。
- out方向,分发列表只能工作在执行路由重发布动作的那个ASBR上,且只能针对外部引入的路由起作用。因为OSPF执行重发布时,其实这些外部路由是以路由的形式引入进来的,因此分发列表在这个场合下能够正常工作,但是如果不是本地始发的外部路由,或者是内部的OSPF路由,out方向的分发列表均束手无策。
三、配置命令
1.In方向
R1(config-router)#distribute-list 1 in ? //都是接口
2.OUT方向
R1(config-router)#distribute-list 1 out ? // 接口或协议
四、应用场合
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 outfa 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 infa0/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 infa0/0
注意这时候,首先在R2的路由表里,3.0的路由就被干掉了。注意,这时候实际上,area内OSPF路由器产生的LSA已经是装载到了R2的OSPFdatabase之中,而在R2从OSPFdatabase中计算路由,并准备将路由条目装载进路由表之前,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 1out
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 1out
上述配置实现后,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
// 在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
distribute-list 1 out rip
// R3的路由表中有路由:1.1.1.0 、 2.2.2.0 、 192.168.12.0
//也就是屏蔽掉了从RIP重发布进来的除了1.1.1.0以外的路由,并重发布本地直连接口
原文链接:http://blog.sina.com.cn/s/blog_5ec353710101ebbr.html
原文链接:http://blog.sina.com.cn/s/blog_5ec353710101ebbr.html
0 0
- OSPF系列:distribute-list分发列表
- distribute-list分发列表
- 关于OSPF的分发列表
- distribute-list分发列表 和 不进行重分发LAS过滤方法area filter-list prefix、database-filter
- 链路状态路由协议,调用分发列表的时候,作用分析,distribute-list
- ospf 重分发静态
- Python基础系列-列表(list)
- 575 Distribute Candies 分发糖果问题
- OSPF系列:LSA类型
- 【python系列】列表list的操作讲解
- scala编程系列(3)-scala列表List
- Redis系列~列表(List)(八)
- python入门系列6:list(列表)
- Redis系列-5.列表(List)结构
- 行情分发节点列表
- redistribute,access-list,distribute-list,router-map,pbr
- ospf与其他路由协议重分发的默认表现
- 列表(List)
- JavaWeb 服务启动时,在后台启动加载一个线程。
- 用swift开发仪表盘控件(一)
- 在ubuntu上搭建go编程环境(附带自动化部署脚本)
- SQL Server Synonym 使用
- Linux软件管理
- OSPF系列:distribute-list分发列表
- 判断字符串数组里面为空
- 递归实现链表逆序(不需三个临时指针变量)
- js中的json对象
- 黑马程序员_网络编程(2)
- Ford Fulkerson 算法
- Java(编程语言)--未完成
- 如何使用for循环
- 异常处理