83603025_p0 1440.jpg

1. Access Control List(访问控制列表)特征


  • 基于包过滤技术(原始的防火墙技术)
  • 通常用来控制流量
    • 对接口的流量做出控制「只有流量经过或穿越 ACL 设备才生效,通常对发起该 ACL 的设备的数据无效**」**
    • 华为在接口下应用 ACL 隐含允许所有;Cisco 隐含拒绝所有
  • 对网络中报文流的精确识别和控制,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率
  • ACL 除了用来进行过滤外,还可以用在其他工具中,作为匹配使用(VPN、QoS、PBR、路由策略、简化流策略等)
  • 标准 ACL 尽可能靠近目的(不影响其他业务时可以往源靠近)
  • 扩展 ACL 尽可能靠近源
  • 只要命中一条规则,则后续规则都跳过。如果都没有规则命中则采用隐含项
  • 因为按照序号从小到大顺序匹配,所以需要越精准匹配的流量序号应该更小
  • 标准 ACL 不能匹配自身产生的流量

    2. ACL 的组成


ACL - 图2

  • 规则匹配顺序分为配置顺序和自动排序(一般使用规则编号用来控制匹配顺序)
    • 配置顺序:按照用户配置 ACL 规则的先后进行匹配
    • 自动排序:使用“深度优先”的原则,把指定范围最小的语句排在最前面
  • 规则动作:只有允许(permit)或拒绝(deny)

    3. 实现方式


  • 标准ACL/ACL6(Standard/Basic):只能匹配源 IP 地址等
    • Cisco 取值范围 1~99;1300~1999
    • Huawei 取值范围 2000~2999
  • 扩展ACL/ACL6(Extended/Advanced):可以匹配源目 IP 地址、源目端口、协议等
    • Cisco 取值范围 100~199;2000~2699
    • Huawei 取值范围 3000~3999
    • 针对端口的匹配选项
      • eq:等于
      • gt:大于
      • it:小于
      • range:范围
  • 二层ACL:可以匹配源目MAC地址、以太帧协议类型等
    • Cisco 取值范围常规范围
    • Huawei 取值范围4000~4999
  • 软件ACL:针对与本机交互的报文,上送 CPU 处理的报文
    • FTP、TFTP、Telnet、SNMP、HTTP
    • 路由协议
    • 组播协议等
  • 硬件ACL:针对所有报文,通过下发ACL资源到硬件来过滤报文的ACL
    • MQC
    • 自反 ACL(traffic-reflect)
    • 简化流策略、用户组以及为接口收到的报文添加外层 Tag 功能等

      4. 工作原理


1)入方向

image.png

2)出方向

image.png

5. 通配符掩码


  • 通配符掩码表示一个地址范围
  • 「**通配符掩码的 0 和 1 可以不连续**」(子网掩码 0 和 1 必须连续)
    • 0:固定位,不能变化
    • 1:可变位,可以随意变化
  • 匹配连续奇偶条目
    • 偶数:通配符掩码与对应的 IP 地址位需要是偶数
    • 奇数:通配符掩码与对应的 IP 地址位需要是奇数
    • 奇偶范围:8 位的 2 进制中,去掉末位后,每一位换算成 10 进制减 2(也是最大匹配值)
      • 00000010:2-2=0,表示主机
      • 00000100:4-2=2(如果 IP 是偶数,范围:0、2;如果 IP 是奇数,范围:1、3)
      • 00001000:8-2=6(如果 IP 是偶数,范围:0、2、4、6;如果 IP 是奇数,范围:1、3、5、7)

        6. ACL 中各业务的默认动作


业务模块 ACL 默认动作 命中 permit 规则 命中 deny 规则 ACL 未配置规则 ACL 未创建
Telnet deny 允许登录 拒绝登录 允许登录 允许登录
SSH deny 允许登录 拒绝登录 允许登录 允许登录
HTTP deny 允许登录 拒绝登录 允许登录 允许登录
FTP deny 允许登录 拒绝登录 允许登录 允许登录
TFTP deny 允许登录 拒绝登录 允许登录 允许登录
SFTP deny 允许登录 拒绝登录 允许登录 允许登录
SNMP deny 允许登录 拒绝登录 允许登录 允许登录
流策略 permit
- behavior 是 deny 时:丢弃报文
- behavior 是 permit 时:允许通过
- behavior 是其他动作时:执行流策略动作
丢弃报文(报文命中deny规则时,只有在流行为是流量统计、MAC地址不学习或流镜像的情况下,设备才会执行流行为动作,否则流行为动作不生效)
功能不生效,按照原转发方式进行转发 功能不生效,按照原转发方式进行转发
简化流策略 permit 执行简化流策略动作
- traffic-filter 是 deny 时:丢弃报文
- traffic-secure 是 deny 时:丢弃报文
- 简化流策略动作为其他动作时:执行简化流策略动作

| 功能不生效,按照原转发方式进行转发 | 功能不生效,按照原转发方式进行转发 | | Route Policy | deny |
- 匹配模式是 deny 时:不允许执行路由策略
- 匹配模式是 permit 时:允许执行路由策略
| 功能不生效,不允许执行路由策略 | 对经过的所有路由生效 | 功能不生效,不允许执行路由策略 | | Filter Policy | deny | 允许发布或接收该路由 | 不允许发布或接收该路由 | 不允许发布或接收路由 | 允许发布或接收路由 | | igmp-snooping ssm-policy | deny | 允许加入SSM组播组范围 | 禁止加入SSM组地址范围 | 禁止加入SSM组地址范围,所有组都不在SSM组地址范围内 | 禁止加入SSM组地址范围,只有临时组地址范围 232.0.0.0~232.255.255.255 在 SSM 组地址范围内 | | igmp-snooping group-policy | deny | 允许加入组播组 | 禁止加入组播组 | 禁止加入组播组 | 禁止加入组播组 | | 本机防攻击策略(黑名单) | permit | 丢弃报文 | 丢弃报文 | 功能不生效,正常上送报文 | 功能不生效,正常上送报文 |