为什么使用ACL

ACL(Access Control List,访问控制列表)是定义好的一组规则的集合,通常用于
标识感兴趣网络流量
过滤经过路由器的数据包
image.png

ACL的分类

image.png

ACL的匹配顺序

ACL是多条规则的集合,在将一个数据包和访问控制列表的规则进行匹配的时候,由规则的匹配顺序决定规则的优先级
华为设备支持两种匹配顺序:

用户配置顺序

配置顺序按照用户配置ACL规则的先后进行匹配,先配置的规则先匹配。此为默认配置,匹配即停止

深度优先

自动排序(auto)使用“深度优先”的原则进行匹配,“深度优先”根据ACL规则的精确度排序,如果匹配条件(如协议类型、源和目的IP地址范围等)限制越严格,规则就越先匹配

基本IPv4 ACL的“深度优先”顺序判断原则如下: 1、规则中是否带VPN实例,带VPN实例的规则优先 2、比较源IP地址范围,源IP地址范围小(即通配符掩码中“0” 位的数量多)的规则优先 3、先配置的规则优先

通配符掩码

是一个32比特位的数字字符串
0表示“检查相应的位,并且值要相同”
1表示“不检查(忽略)相应的位”
any代表任意
一个0代表验证完整的IP地址
没有匹配到的,不同模块处理方法不一样,只有转发模块转发

  1. --允许来自10.0.0.0/255.255.255.0IP数据包通过
  2. rule 5 permit source 10.0.0.0 0.0.0.255
  3. --拒绝来自10.1.0.0/255.255.0.0IP数据包通过
  4. rule 5 deny source 10.1.0.0 0.0.255.255
  5. --允许来自10.128.0.0/255.224.0.0IP数据包通过
  6. rule 5 permit source 10.128.0.0 0.31.255.255
  7. 注意:看起来像是掩码反过来,但不是掩码!

ACL配置

实际上就是告诉路由器允许或者拒绝某些数据包
ACL中的三大难点:
通配符(WildCard)
语句的顺序(sequence of statement)
方向(direction)

基本ACL配置示例

  1. [huawei]acl 2000 ————建立acl列表
  2. [huawei-acl-adv-2000]rule 5 permit source 192.168.1.1 0.0.0.0 ————此ip允许访问
  3. [huawei-acl-adv-2000]rule 10 deny source 192.168.1.0 0.0.0.255 ————此网段拒绝访问
  4. ACL规则序号,可以省略,默认5开头,步长5

ACL规则应用

  1. [huawei]interface GigabitEthernet0/0/1
  2. [huawei-GigabitEthernet0/0/1]traffic-filter in[out]bound acl 2000

ACL应用位置

基本acl应用时靠近目的
高级acl应用时靠近源

什么是IN,什么是OUT

image.png
数据包从PC到Server,是从E0口IN,而从E1口OUT。
IN和OUT是站在Router的角度来看的

高级ACL配置示例

  1. [huawei] acl number 3000
  2. [huawei-acl-adv-3000] rule permit ip source 192.168.1.1 0 destination 192.168.1.2 0

ACL命名

acl name <名字>

删除ACL配置

  1. [huawei-GigabitEthernet0/0/1]undo traffic-filter outbound acl 2000 ——删除接口应用
  2. [huawei-acl-adv-3000]undo rule <编号> ——删除acl中的某条规则

查看ACL

[huawei]display acl <编号/名字>
[huawei-acl-adv-3000]display this

ACL时间控制

ACL定义相对时间

以星期为参数来定义时间范围。
time-range to { days }
time-name:时间段名称,以英文字母开头的字符串
start-time to end-time:开始时间和结束时间。格式为[小时:分钟] to [小时:分钟]
days:有多种表达方式:
Mon、Tue、Wed、Thu、Fri、Sat、Sun中的一个或者几个的组合,也可以用数字表达,0表示星期日,1表示星期一,……6表示星期六
working-day:从星期一到星期五,五天
daily:包括一周七天
off-day:包括星期六和星期日,两天

ACL定义绝对时间

从某年某月某日的某一时间开始,到某年某月某日的某一时间结束
time-range time-name from time1 date1 [ to time2 date2 ]
time:格式为 [小时:分钟]。
date:格式为[YYYY/MM/DD],表示年/月/日
示例:
time-range tr1 08:00 to 12:00 working-day
应用示例:
在acl应用时,要先定义好时间规则

  1. [huawei] acl number 3000
  2. [huawei-acl-adv-3000] rule permit tcp source 192.168.1.1 0 destination any time-range tr1