ACL

Access Control List

定义

  • 访问控制列表
  • 用于数据流的配置和筛选

常见功能

  • 访问控制 ACL+Packet-filter
  • 路由控制 ACL+Router-policy
  • 流量控制 ACL+QOS

基于ACL的包过滤

定义

  • 对进出的数据包逐包检查,丢弃或允许通过
  • 包过滤必须配置在接口的某个方向上才能生效
  • 一个接口的一个方法只能配置一个包过滤策略

包过滤的方向

  • 入方向 只对从外部进入的数据包做过滤
  • 出方向 只对从内部发出的数据包做过滤

包过滤的工作流程

  • 1.数据包到达接口检查是否应用了ACL,是则进入匹配,否则放行

  • 2.按照ACL编号匹配第一条规则,匹配则进一步检查该条规则动作,否则与下一跳规则进行匹配

    • 动作允许则放行,动作拒绝则丢弃
  • 3.继续进行匹配,如匹配则检查规则动作,否则与下一跳进行匹配

  • 4.所有规则都不匹配,检查默认动作

    • 默认动作允许则放行 默认动作拒绝则丢弃

注意事项

  • 如果默认动作是允许,至少需要一条拒绝规则,否则没意义
  • 如果默认动作是拒绝,至少需要一条允许规则,否则没意义
  • H3C的ACL用于包过滤默认允许,用于其他默认拒绝
  • 把小范围的规则分配一个靠前的顺序
  • 在不影响实际效果前提下,把包过滤尽量配置在离源地址最近的接口的入方向

ACL分类

基本ACL

  • 只对数据包的源地址进行匹配
  • 编号2000-2999

高级ACL

  • 对数据包的五元组进行配置(源IP,目的IP,源端口,目的端口,协议)
  • 编号3000-3999

常用命令

[h3c]acl basic 'acl-number' #创建基本ACL,进入ACl视图

[h3c]acl advanced 'acl-number' #创建高级ACL,进入ACL视图

[h3c-acl-basic-2000]rule 'rule id' 'permit/deny' source 'ip address' 'wild-mask'

#创建基本ACL规则。如不写rule-id,则系统自动从0开始以5的倍数增加序列

[h3c-acl-basic-3000]rule 'rule id' 'protocol' source 'ip address' 'wild-mask' source-port 'port' destination 'ip address' 'wild-mask' destination-port 'port' #创建高级ACl规则

[h3c-GigabitEthernet 0/0]packet-filter 'acl number' 'inbound/outbound' #配置包过滤

[h3c]packet-filter default deny #更改默认动作为拒绝