目录
前言
在企业网络的设备通信中,常面临一些非法流量访问的安全性及流量路径不优等问题,故为保证数据访问的安全性、提高链路带宽利用率,就需要对网络中的流量行为进行控制,如控制网络流量可达性、调整网络流量路径等。
流量匹配工具
ACL
访问控制列表ACL(Access Control List)是由permit或deny语句组成的一系列有顺序规则的集合,它通过匹配报文的信息实现对报文的分类。
ACL的分类:
基本ACL | 主要基于源地址、分片标记和时间段信息对数据包进行分类定义,编号范围为2000-2999。 |
---|---|
高级ACL | 可以基于源地址、目的地址、源端口号、目的端口号、协议类型、优先级、时间段等信息对数据包进行更为细致的分类定义,编号范围为3000-3999。 |
二层ACL | 主要基于源MAC地址、目的MAC地址和报文类型等信息对数据包进行分类定义,编号范围为4000-4999。 |
用户自定义ACL | 主要根据用户自定义的规则对数据报文做出相应的处理,编号范围为5000-5999。 |
一个ACL可以由多条“deny | permit”语句组成,每一条语句描述了一条规则。设备收到数据流量后,会逐条匹配ACL规则,看其是否匹配。如果不匹配,则继续匹配下一条。一旦找到一条匹配的规则,就会执行规则中定义的动作,且不再继续与后续规则进行匹配;如果找不到匹配的规则,则设备会对报文直接进行转发。 |
需要注意的是,ACL中定义的这些规则可能存在重复或矛盾的地方。规则的匹配顺序决定了规则的优先级,ACL通过设置规则的优先级来处理规则之间重复或矛盾的情形。
IP-Prefix List
地址前缀列表即IP-Prefix List。可以通过地址前缀列表,将与所定义的前缀过滤列表相匹配的路由,根据定义的匹配模式进行过滤,以满足使用者的需要。
前缀列表的组成及匹配规则:
1、前缀过滤列表由IP地址和掩码组成,IP地址可以是网段地址或者主机地址,掩码长度的配置范围为0~32。
2、IP-Prefix List中的每一条IP-Prefix都有一个序列号index,匹配的时候将根据序列号从小到大进行匹配。
3、如果不配置IP-Prefix的index,那么对应的index在上次配置的同名IP-Prefix的index的基础上,以步长为10进行增长。如果配置的IP-Prefix的名字与index都和已经配置了的一项IP-Prefix List的相同,仅仅只是匹配的内容不同,则该IP-Prefix List将覆盖原有的IP-Prefix List。
4、当所有前缀过滤列表均未匹配时,缺省情况下,存在最后一条默认匹配模式为deny。当引用的前缀过滤列表不存在时,则默认匹配模式为permit。
前缀掩码长度范围:
前缀过滤列表可以进行精确匹配或者在一定掩码长度范围内匹配,并通过配置关键字greater-equal和less-equal来指定待匹配的前缀掩码长度范围。如果没有配置关键字greater-equal或less-equal,前缀过滤列表会进行精确匹配,即只匹配掩码长度为与前缀过滤列表掩码长度相同的IP地址路由;如果只配置了关键字greater-equal,则待匹配的掩码长度范围为从greater-equal指定值到32位的长度;如果只匹配了关键字less-equal,则待匹配的掩码长度范围为从指定的掩码到关键字less-equal的指定值。
路由策略
通过修改路由条目即对接收和发布的路由进行过滤来控制流量的可达性,这种方式被称为路由策略。
路由策略工具
Filter-Policy工具介绍
Filter-Policy能够对接收或发布的路由进行过滤,可应用于ISIS、OSPF、BGP等协议。
对协议接收的路由进行过滤:
filter-policy { acl-number | ip-prefix ip-prefix-name } import
对协议发布的路由进行过滤:
filter-policy { acl-number | ip-prefix ip-prefix-name } export
Route-Policy工具介绍
Route-Policy是一种功能非常强大的路由策略工具,它可以灵活地与ACL、IP-Prefix List、As-Path-Filter等其它工具配合使用
Route-Policy:
route-policy route-policy-name { permit | deny } node node
if-match {acl/cost/interface/ip next-hop/ip-prefix}
apply {cost/ip-address next-hop/tag}
Route-Policy由若干个node构成,node之间是“或”的关系。且每个node下可以有若干个if-mach和apply子句,if-match之间是“与”的关系。
使用路由策略控制流量可达性
使用Route-Policy对引入的路由进行过滤
一个公司内部网络如上图所示,市场部与公司总部运行在OSPF 骨干区域中,其他部门通过直连引入的方式与公司互连。
使用router-policy在R3引入直连路由时进行过滤,只允许财务部研发部的路由信息能被发布到OSPF中。
首先进入基础acl,配置2条匹配条目,匹配源IP地址是财务部网段和研发部网段的流浪并执行动作通过
而后创建一个router-policy 动作是允许
而后配置if-match子句,意思是匹配acl 2001的条目后执行允许的操作,而其他的流量则根据默认情况被deny掉。
然后在OSPF进程中引入直连时加上router-policy,这时候只会引入匹配上的财务部和研发部的路由信息。而资料部的路由信息会被deny掉。
我们在R1上查看下IP路由表:
其中3.0网段是财务部的,4.0网段是研发部的,而5.0是资料部的网段并没有被学到。这说明资料部的路由信息确实被router-policy过滤了。
使用Filter-Policy对接收和发布的路由进行过滤
如上图所示,我们R1之前学习到了财务部和研发部的路由信息,这时候我们想让市场部与财务部直接无法互通,可以使用Filter-Policy在R1上对引入的财务部路由信息进行过滤。
首先配置ip ip-prefix进行匹配财务部的流量
这条语句的意思是匹配192.168.4.0/24这个网段的流量并执行动作允许,而后其他的网段信息默认被deny,因此3.0网段匹配不上index 10后会被拒绝掉,然后在OSPF进程在配置Filter-Policy对接收的路由进行过滤
在ospf接收路由信息时,匹配上ip-prefix的路由信息将被过滤掉,这时候我们来看下R1的IP路由表
可以看到只有4.0网段即研发部的路由信息有,而财务部的路由信息被过滤掉了。
流量过滤
前面的路由策略都是对路由信息的过滤,使得我们的设备找不到相应的路由条目,因此无法互通,而流量过滤哪怕设备中有相应的路由条目,配置了流量过滤之后,依旧无法互通。
同样是如上图的配置,我们已经使用了router-policy对引入的路由进行过滤,又使用Filter-Policy对接收的路由进行过滤,因此R1上目前只学到了研发部的路由信息,并且也是能互通的
这时候我们可以使用Traffic-Filter工具对流量进行过滤
首先在R1上配置匹配工具,这里我们使用acl。
这里我们使用的是高级ACL可以基于5元祖对数据进行分类,匹配更为详细,配置规则5,当匹配到一条流量源IP地址为192.168.1.1,目的IP地址为192.168.4.1时执行动作deny即拒绝,然后规则10允许所有其他流量通过。
而后我们在接口处进行配置Traffic-Filter来调用我们的ACL
注意eNSP路由器中的router路由器在接口处无法使用traffic-policy
在于PC1相连的接口处配置traffic-policy并且在流量进入的方向,这样一条PC1发往PC4的流量一经过R1就会被丢弃掉。
但是R1上依然存在4.0网段的路由信息
路由策略与策略路由的区别
路由策略 | 策略路由 |
---|---|
基于控制平面,会影响路由表表项。 | 基于转发平面,不会影响路由表表项,且设备收到报文后,会先查找策略路由进行匹配转发,若匹配失败,则再查找路由表进行转发。 |
只能基于目的地址进行策略制定。 | 可基于源地址、目的地址、协议类型、报文大小等进行策略制定。 |
与路由协议结合使用。 | 需手工逐跳配置,以保证报文按策略进行转发。 |
常用工具:Route-Policy、Filter-Policy等。 | 常用工具:Traffic-Filter、Traffic-Policy、Policy-Based-Route等。 |
来源:CSDN
作者:tke_csc
链接:https://blog.csdn.net/network_idiot/article/details/104906337