目录
讲解规则:rule 5 deny source 192.168.1.1 0.0.0.0
每个ACL(访问控制列表)可以包含多个规则,RTA根据规则来对数据流量进行过滤。
-
ACL分类
分类 | 编码范围 | 参数 |
基本ACL | 2000-2999 | 源ip地址等 |
高级ACL | 3000-3999 | 源ip、目的ip、源端口、目的端口等 |
二层ACL | 4000-4999 | 源mac、目的mac、以太网帧协议类型、vlan等 |
-
ACL规则
讲解规则:rule 5 deny source 192.168.1.1 0.0.0.0
- 5:步长5,即为规则的idx,越小优先级越高,优先级高的最先进行匹配,也可以自动生成5、10、15....
- deny:规则,拒绝
- source:源ip
- 0.0.0.0:通配符
( 0:表示一定要匹配(一模一样才算匹配上),为1:表示可以不匹配(随意数都可以 ))
举例:
- rule 5 deny 192.168.1.1 0.0.0.0
此时192.168.1.2的源ip的流量过来,不能匹配上此acl规则,则往下走到下一条默认规则。
- rule 5 deny 192.168.1.1 0.0.0.254
0.0.0.254--0.0.0.1111 1110--则为1的位数上没限制、最后一个0的则一定要一模一样
此时源IP为192.168.1.2、192.168.1.4.。。。偶数才能匹配上此规则。
192.168.1.2--192.168.1.0000 0010
192.168.1.4--192.168.1.0000 0100
- ACL流量规则
从路由器入方向:
当一个数据包进入一个端口,路由器检查这个数据报是否可路由。(查路由表)
如果是可以路由的,路由器检查这个端口是否有ACL控制进入数据报。(查ACL)
如果有,根据ACL中的条件指令,检查这个数据报。 (匹配ACL)
如果数据报是被允许的,就查询路由表,决定数据报的目标端口。 (找路由)
从路由器出方向:(前面已经检查路由表,且允许此数据从接口处了)
路由器检查目标端口是否存在ACL控制流出的数据报。
若不存在,这个数据报就直接发送到目标端口。
若存在,就再根据ACL进行取舍。然后在转发到目的端口
- 一个接口下,一个方向,只能匹配一个ACL规则
在路由器上应用ACL时,可以为每种协议(Per Protocol)、每个方向(Per Direction)和每个接口(Per Interface)配置一个ACL,一般称为“3P原则”。
一个ACL只能基于一种协议,因此每种协议都需要配置单独的ACL。
经过路由器接口的数据有进(ln)和出(Out)两个方向,因此在接口上配置访问控制列表也有进(In)和出(Out)两个方向。每个接口可以配置进方向的ACL,也可以配置出方向的ACL,或者两者都配置,但是一个ACL只能控制一个方向。一个ACL只能控制一个接口上的数据流量,无法同时控制多个接口上的数据流量。
-
创建规则后
生效规则,是要在接口下生效规则。
traffic-filter inbound acl 2000 对接口而言进来的流量去匹配2000的acl进行流量过滤
-
注意
注意ACL的最后一条语句,最后一条隐含的语句适用于不满足之前任何条件的所有数据包。是拒绝语句,因为如果当前面所有语句都无法匹配时,将会走到最后一条语句,此时会将所有没有匹配上的数据自动丢弃,以防数据意外进入网络。因此,在写“拒绝(deny)”的ACL时,一定至少要有一条允许(Permit)语句,否则配置ACL的接口将拒绝任何数据通过,影响正常的网络通信。
- 与此同时,网络ACL还需注意一点,最有限制性的语句应该放在ACL的靠前位置,可以过滤很多不符合条件的数据,从而提供路由器工作效率。
- 一旦被前面有rule被匹配上了,就不再继续向下匹配
附上参考链接: