HCNP Routing&Switching之路由过滤工具Filter-Policy
前文我们了解了路由控制技术中路由策略和路由匹配工具IP-Prefix相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15314262.html;今天我们来聊一聊路由过滤工具Filter-Policy相关话题;
Filter-Policy
Filter-Polciy是一种常用的路由过滤工具,只能过滤路由,无法过滤LSA,不能修改路由属性;它可以直接调用条件工具ACL或IP-Prefix 或者调用route-policy工具;在路由策略里担任着调用工具的角色;我们知道路由的学习是有方向的,相对来说控制路由或过滤路由也是有方向的;我们可以在路由器的出方向或入方向进行路由过滤,最终结果都是将对应路由过滤掉;
距离矢量路由协议中路由过滤
提示:距离矢量路由协议是直接传播的是路由信息,所以我们可以选择在路由发出或入的方向上进行过滤,不管在出或入方向进行过滤,对应最后的结果都是一样的;一般根据现网环境来决定到底是在哪个方向上进行过滤比较好;
提示:距离矢量路由协议中,路由信息是直接传播的,所以在链路途中任意路由器在过滤了某条路由,随后后面的路由器就学习不到对应的路由;比如上图,我们在交换机的路由入方向过滤掉192.168.3.0以后,对应C交换机就学习不到对应192.168.3.0这条路由;当然如果在交换机A的出方向过滤掉192.168.3.0,则随后交换机B和交换机C都学习不到对应192.168.3.0这条路由;
链路状态路由协议中路由过滤---单区域
提示:上图是OSPF单区域里路由过滤的示意图;我们知道链路状态路由协议主要是通过传播LSA,建立数据库,然后通过LSDB数据库结合SPF算法来进行计算路由;所以对于我们要想过滤掉某条路由,我们只能在某个路由器的生成路由信息时来影响,即只能在路由的入方向来过滤某些路由;但是对于ospf来说,在单区域里主要通过1类或2类LSA在整个区域内不泛洪,从而同步LSDB数据库生成路由,我们在区域中某台路由器上进行路由过滤其实不影响其他路由器;原因是单区域里的LSDB数据库是相同的,对应路由是依靠LSDB数据库中的内容算出来的;入上图所示,我们在交换机B上过滤掉10.1.1.0/24这条路由,但对于交换机C来说,它的路由表中还是可以正常学习到10.1.1.0/24的路由;这是因为路由过滤并不能过滤LSA,其次单个区域中的所有路由器的LSDB都是同步的;
链路状态路由协议中路由过滤---多区域---区域间路由
提示:对于多区域,区域间的路由传播主要通过3类LSA;其实3类LSA就是把对应区域里的路由进行打包然后通过3类LSA的格式发送给其他区域;这也意味着如果我们在一个区域的abr上过滤掉某些路由,那么对于它传递给其他区域的路由也就无法学习到对应被过滤掉的路由;其原因是多区域,每个区域的LSDB数据库是不相同的,其次区域间路由通过abr发送3类LSA,对应内容就是abr路由器所在区域的路由信息;如上图,我们在交换机B上的入方向过滤掉10.1.1.0/24这条路由,那么对于交换机B向区域1里交换机c发送的3类LSA里面就没有10.1.1.0/24这条路由;所以交换机C也是学习不到10.1.1.0/24的路由;
链路状态路由协议中路由过滤---多区域---外部引入路由
提示:对于内部ospf的路由还是只能在计算路由信息生成时,即路由学习的入方向进行过滤;对应外部引入的路由,我们可以通过路由发出的方向进行过滤;外部路由引入只所以能够在出方向进行过滤,其主要原因是路由信息实现存在asbr的路由表中,在向其他路由器发送时,是通过路由表中的路由信息,生成对应的5类LSA,所以我们在发出5类LSA时过滤掉路由,对应5类LSA里就不会有对应路由,从而其他路由器也就无法通过5类LSA学习到对应的外部路由;
总结:距离矢量路由协议路由过滤
提示:距离矢量路由协议的路由过滤我们可以在入和出两个方向上进行过滤,因为路由矢量路由协议是直接传播的路由信息;
总结:链路状态路由协议路由过滤
提示:链路状态路由协议路由过滤主要在入方向进行过滤;其主要原因是链路状态路由协议通过传播LSA构建LSDB数据库,而路由过滤只能过滤路由信息,对于LSA它并不能过滤;所以链路状态路由协议中过滤路由,对应LSDB在相同区域里是同步的;我们过滤路由只能在路由的入方向,即通过spf在生成路由时来影响;对于外部路由引入我们是在发出时进行过滤;发出时过滤影响的是所有其他路由器;之所以外部路由能在asbr的出方向过滤,是因为外部路由事先存在ip路由表单中,在发出时过滤,对应生成5类LSA里就不会包含过滤掉的路由,从而其他路由器也就无法通过5类LSA学习到对应ASBR过滤掉的路由;
实验:如下拓扑,配置RIP,使用路由过滤工具Filter-Policy过来路由信息
R1的配置
sys
sys R1
int g0/0/0
ip add 12.0.0.1 24 int lo 1
ip add 1.1.1.1 32
int lo 2
ip add 2.2.2.2 32
int lo 3
ip add 3.3.3.3 32 rip 1
ver 2
net 12.0.0.0
net 1.0.0.0
net 2.0.0.0
net 3.0.0.0
R2的配置
sys
sys R2
int g0/0/0
ip add 12.0.0.2 24 int lo 1
ip add 4.4.4.4 32
int lo 2
ip add 5.5.5.5 32
int lo 3
ip add 6.6.6.6 32 rip 1
ver 2
net 12.0.0.0
net 4.0.0.0
net 5.0.0.0
net 6.0.0.0
验证:查看R2或R1的路由表,看看是否学习到对方的路由信息?
提示:可以看到在R2上能够正常学习到R1的lo接口路由;
在R2上使用IP-Prefix 工具匹配1.1.1.1/32的路由信息
在R2的rip进程中,路由入方向只允许1.1.1.1/32的路由
验证:查看R2的路由表,看看对应1.1.1./32的路由是否被过滤掉了呢?
提示:可以看到此时R2只能学习到1.1.1.1/32的路由;之前的2.2.2.2和3.3.3.3就被过滤工具Filter-policy工具调用ip-prefix的默认策略给拒绝掉了;这里需要说明一点,filter-policy工具调用ip-prefix作为条件来过滤路由,默认规则是拒绝操作;如果我们需要拒绝某条路由,允许其他路由,我们需要在ip-prefix里写上permit 0.0.0.0 0 less 32;
在R2上新建前缀列表规则,拒绝4.4.4.4/32的路由,允许其他所有路由
在R2的出方向使用路由过滤工具filter-policy调用ip-prefix test1进行路由过滤
验证:在R1上查看路由表,看看对应4.4.4.4的路由是否被过滤掉了呢?
提示:可以看到对应4.4.4.4/32的路由R1没有被学习到,其原因是R2在发送路由信息时通过filter-policy工具调用ip-prefix将4.4.4.4/32的路由拒绝掉了;
实验:如下拓扑,配置ospf,使用filter-policy工具调用ip-prefix进行路由过滤
R3的配置
sys
sys R3
int g0/0/0
ip add 34.0.0.3 24
int lo 1
ip add 1.1.1.1 32
int lo 2
ip add 2.2.2.2 32 ospf 1 router-id 3.3.3.3
area 0
net 34.0.0.0 0.0.0.255
R4的配置
sys
sys R4
int g0/0/0
ip add 34.0.0.4 24
int g0/0/1
ip add 45.0.0.4 24 ospf 1 router-id 4.4.4.4
area 0
net 34.0.0.0 0.0.0.255
area 1
net 45.0.0.0 0.0.0.255
R5的配置
sys
sys R5
int g0/0/0
ip add 45.0.0.5 24 ospf 1 router-id 5.5.5.5
area 1
net 45.0.0.0 0.0.0.255
在R3新建ip-prefix 匹配1.1.1.1/32的路由
在R3上将直连路由注入到ospf中,然后使用路由过滤工具调用ip-prefix 在出方向
验证:查看R4或R5的ospf路由表,看看对应1.1.1.1的路由是否存在路由表?
提示:可以看到在R4学习到的外部路由中就只有1.1.1.1/32的路由,2.2.2.2/32的路由被默认规则给拒绝掉了;
在R4上创建前缀列表匹配1.1.1.1/32路由
在R4的入方向拒绝1.1.1.1/32的路由,看看对应R5是否会受影响?
验证:查看R4的路由表,看看1.1.1.1是否被拒绝?
提示:可以看到R4本地路由表没有1.1.1.1的路由了;这里需要注意一点,链路状态路由协议在入方向过滤路由,只是影响到ip路由表中的路由,并不影响协议路由表;即ospf路由表里还是会有1.1.1.1的路由;
验证:在R5上查看路由表,看看R5是否会受影响?
提示:可以看到R5的ip路由表里还是有1.1.1.1的路由;但是34.0.0.0/24的路由被过滤掉了;其原因是在R4的入方向过滤了1.1.1.1/32,并且没有允许其他路由通过,所以34.0.0.0/24的路由也被过滤掉,然后R4生成3类LSA中就没有34.0.0.0/24的路由,所以到达R5时,对应34.0.0.0/24的路由不会被R5学习到;对应1.1.1.1这个路由,它本身就是R3产生的5类LSA,在全网传播,虽然R4在入方向过滤掉1.1.1.1,但不影响R3发送的5类LSA向R5传播;所以我们在R5上能够看到1.1.1.1的路由,34.0.0.0/24的路由看不到;
通过上述实验可以看到链路状态路由协议在路由入方向过滤路由,只是影响本地到ip路由表里的路由,并不影响其他路由器的路由(本地区域或外部路由);对于外部路由,只有在ASBR出方向过滤时,对应其他路由器才会受到影响;对于区域间路由,如果abr在入方向没有被允许,则后续的其他区域路由器也不会学习到对应区域间的路由;对于abr出方向过滤路由是没有意义的,也不会生效,即出方向过滤路由只针对外部路由引入有效,区域间路由并不会生效;
HCNP Routing&Switching之路由过滤工具Filter-Policy的更多相关文章
- HCNP Routing&Switching之路由策略工具Route-Policy
前文我们了解了路由过滤和路由过滤工具Filter-Policy使用相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15316188.html:今天我们来 ...
- HCNP Routing&Switching之路由控制、路由策略和IP-Prefix List
前文我们了解了IS-IS路由聚合和认证相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15306645.html:今天我们来聊一聊路由控制技术中的路由策 ...
- HCNP Routing&Switching之路由控制-策略路由
前文我们了解了路由策略工具Route-Policy相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15322135.html:今天我们来聊一聊策略路由相 ...
- HCNP Routing&Switching之路由引入导致的问题及解决方案
前文我们了解了路由引入相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15359902.html:今天我们来讨论下由于路由引入所导致的问题以及怎么避免此 ...
- HCNP Routing&Switching之路由引入
前文我们了解了路由控制技术策略路由相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15333139.html:今天我们来聊一聊路由引入技术相关话题: 路 ...
- HCNP Routing&Switching之BGP路由过滤和AS-Path-Filter
前文我们聊了下通过修改BGP路由属性来影响路由,从而达到控制BGP路由的目的:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15495585.html:今天我们 ...
- HCNP Routing&Switching之BGP路由属性和优选规则
前文我们了解了BGP防环机制和路由聚合相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15458110.html:今天我们来聊一聊BGP路由属性和选路规 ...
- HCNP Routing&Switching之BGP团体属性和团体属性过滤器
前文我们了解了BGP的路由过滤已经as-path过滤器的使用相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15542559.html:今天我们来聊一聊 ...
- HCNP Routing&Switching之BGP基础
前文我们了解了路由注入带来的问题以及解决方案相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15362604.html:今天我们来学习下新的路由协议BG ...
随机推荐
- Linux 内核预备知识:浅析 offsetof 宏以及新手的所思所想
最近一头扎进了 Linux 内核的学习中,对于我这样一个没什么 C 语言基础的新生代 Java 农民工来说实在太痛苦了.Linux 内核的学习,需要的基础知识太多太多了:C 语言.汇编语言.数据结构与 ...
- 微信SDK的使用
一.导入依赖 <!--微信支付--> <dependency> <groupId>com.github.wxpay</groupId> <arti ...
- 008 PHY(Physical Layer,PHY)
一.PHY PHY((Physical Layer,PHY))是IEEE802.3中定义的一个标准模块,STA(station management entity,管理实体,一般为MAC或CPU)通过 ...
- NOIP 模拟 $33\; \rm Connect$
题解 状压 \(\rm DP\). 从 \(1\) 到 \(n\) 一共只要一条路径,那么就是一条链,只要维护一个点集和当前链的末尾就行. 设 \(\rm dp_{i,j}\) 为 \(i\) 的点集 ...
- flutter中存储键值对简单数据(相当于前端localstorage概念)
首先需要安装一个官方推荐包: 1 dependencies: 2 flutter: 3 sdk: flutter 4 shared_preferences: any // 先获取 shared pre ...
- CLR、CLI、CTS、CLS的关系
网站:https://blog.csdn.net/dodream/article/details/4719578 ·CLR(公共语言运行库)是一个CLI的实现,包含了.NET运行引擎和符合CLI的类库 ...
- IO流(File类--递归--过滤器--IO字节流--IO字符流--Properties集合--缓冲流--转换流--序列化流--打印流)
一.File类 1.1概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 1.1.1相对路径与绝对路径 相对路径从盘符开始的路径,这是一个完整 ...
- Wiring in Spring: @Autowired, @Resource and @Inject 区别
refer:https://www.baeldung.com/spring-annotations-resource-inject-autowire 主要是查找顺序不一致: @Resource Mat ...
- Gradient checking
所需文件:本地下载 Gradient Checking Welcome to the final assignment for this week! In this assignment you wi ...
- Git (13) -- Git 分支 -- 分支的新建与合并
@ 目录 0.准备工作 1.新建分支 一个简单提交历史: 创建一个新分支指针: iss53 分支随着工作的进展向前推进: 基于 main 分支的紧急问题分支 hotfix branch: main 被 ...