10-ACL技术

ACL与包过滤

一 ACL定义及应用场景

  • 定义

    ACL(Access Control List,访问控制列表)是用来实现数据包识别功能的。

  • 应用场景

    • 包过滤功能:对数据包进行放通或过滤操作。
    • NAT(Network Address Translation):网络地址转换
    • 按需拨号
    • Qos流分类ACL:只对数据包进行流量分类。
    • 路由过滤ACL:对路由进行放行或过滤操作。
    • 路由策略ACL:只对路由进行匹配。

二 ACL包过滤的工作原理

1. ACL包过滤基本原理

  • ACL包过滤

    • 第一步ACL:每条ACL都由若干条ACL规则条目组成。

      • ACL规则条目:由1个匹配条件和执行动词(permit或deny)组成
    • 第二步ACL包过滤:将ACL绑定到设备接口上,进行数据包过滤。

      • 匹配permit规则条目的允许放行。

      • 匹配deny规则条目的允许放行。

  • 设备接口的入方向和出方向(不同接口下的ACL工作不同)

    • 入方向(in):数据包进入设备的方向。

    • 出方向(out):数据包离开设备的方向。

    • 两个方向都可以绑定ACL对数据包进行过滤

    • 一个接口的一个方向只能绑定一条ACL

    • Cisco默认拒绝所有,华为华三默认开放



  • 入方向处理

  • 华为/H3C ACL包过滤基本原理

三 ACL的分类及应用

1. ACL条目组成

  • 条目组成

    序号/名字+执行动作+字段匹配

  • 利用数字序号标识访问控制列表

  • IP数据包字段匹配方法

    • 数据包中的各个字段

      • 数据包中各个字段都可以进行匹配
      • 常用匹配五元组:源IP、目的IP、协议、源端口、目标端口。
  • 数据包中的IP地址字段匹配

    • 匹配字段

      匹配源IP

      匹配目标IP

      同时匹配源IP与目标IP

    • 匹配方法

      • IP地址 通配符

        通配符为32位,按位通配,位为0表示这位不能变,为1表可变。通配符可不连续,子网掩码要连续。

    • 匹配案例1

      匹配:192.168.2.128 192.168.2.254

      192.168.2.10000000

      192.168.2.11111110

      通配符:不同的标为1,但这里最后一位为1是因为要包含奇数和偶数,若为0只能包含偶数。

      IP地址:保留相同部分。

      答案:192.168.2.128 0.0.0.127

    • 匹配案例2

      匹配:192.168.1.192(就1个主机)

      答案:192.168.1.192 0.0.0.0

      或者:host 192.168.1.192

    • 匹配案例3

      匹配:所有IP地址

      答案:0.0.0.0 255.255.255.255

      或者:any

    • 匹配案例4

      匹配:所有偶数IP

      0.0.0.0 255.255.255.254

    • 匹配案例4

      匹配:所有奇数IP

      0.0.0.1 255.255.255.254

  • TCP/UDP包中的端口字段匹配

    • 匹配字段(源端口或目的端或同时匹配源端口和目的端口)

    • 匹配方法

      • 端口范围操作符 端口号

        eq 端口 等于
        neq端口 不等于
        gt端口 大于
        It端口 小于
        range 端口1 端口2 在两个端口范围内
    • 匹配案例

2. 传统标准ACL

  • 定义

    传统标准 ACL 是最基础的 ACL 类型,通过编号 1-99 标识,仅能基于源 IP 地址过滤数据包,无法匹配目的 IP、协议或端口。

  • 缺陷

    对任意一条ACL规则条目的删除、修改、插入都需要先删除整个ACL,然后重新配置。

  • 应用位置原则

    由于仅基于源 IP 过滤,若配置在离源端过近的位置,可能误过滤 "同一源 IP 到不同目的" 的合法流量(例如:拒绝源 A 到目的 X 的流量,但若源 A 到目的 Y 是合法的,也会被误拒)。

  • 建议

    放在离目的端近的位置,仅在接近目的时过滤,减少误判。

  • 配置

    复制代码
    1.定义ACL规则:access-list <编号> {permit | deny} <源IP地址> [反掩码]
    2.应用到接口:interface <接口类型> <接口编号>
    ip access-group <编号> {in | out}
      
    例如:
    access-list 1 deny 192.168.20.0 0.0.0.255
      access-list 1 permit any
    int vlan 10
    ip access-group 1(命名) out

3. 命名标准ACL

  • 定义

    命名标准 ACL 是传统标准 ACL 的 "命名版本",用字符串名称代替编号 1-99,功能完全相同(仅基于源 IP 过滤),但管理更灵活(名称更易记忆)。

  • 优势

    • 名称比编号更直观(如 "Allow_Local_LAN" 比 "1" 更易理解),按序号顺序匹配,可按序号增加、删除、修改、插入规则条目。

    • Cisco设备,如果省略序号,默认开始序号10,默认步长为10。

    • 华为/H3C设备,默认开始序号为0,默认步长为5。

  • 配置

    复制代码
    ip access-list standard <ACL名字>
    <序号> { permit | deny } IP地址 通配符
    <序号> { permit | deny } IP地址 通配符
      
    例如:
    ip access-list standard vlan10(名字)
    10 deny 192.168.20.0 0.0.0.255
    20 permit any
    int vlan 10
    ip access-group vlan10(命名) out(删除它进入vlan删除)

4. 传统扩展ACL

  • 定义

    传统扩展 ACL 是更精细的过滤规则,通过编号 100-199 标识,可基于源 IP、目的 IP、协议类型(TCP/UDP/ICMP 等)、端口号等多条件过滤。

  • 配置

    复制代码
    access-list 100 deny udp any eq 68(任意源ip;源端口68客户端) any eq 67(任意目的ip;目的端口67服务端)
    int vlan 10
    ip access-group 100 in
    access-list 100 permit ip any any

5. 命名扩展ACL

  • 定义

    命名扩展 ACL 是传统扩展 ACL 的 "命名版本",用字符串名称代替编号 100-199,功能相同(支持多条件过滤),管理更灵活。支持源 IP、目的 IP、协议、端口等多条件。

  • 配置

    复制代码
    ip access-list extended <ACL名字>
    <序号> { permit | deny } <协议> IP地址1 通配符1 [操作符1 
    端口号1] IP地址2 通配符2 [操作符2 端口号2] [established]
    <序号> { permit | deny } <协议> IP地址1 通配符1 [操作符1 
    端口号1] IP地址2 通配符2 [操作符2 端口号2] [established]

    ip access-list extended v10

    15 deny udp any host 192.168.100.2 eq 53

    int vlan 10

    ip access-group v10 in

6. 基于二层的ACL(MAC ACL)

  • 定义

    基于二层的 ACL(Access Control List,访问控制列表)是针对数据链路层信息(如 MAC 地址、以太网类型等)制定的访问控制规则,主要用于对二层帧进行过滤,适用于交换机等二层设备,或路由器的二层接口场景。其核心是基于源 MAC 地址、目的 MAC 地址、以太网帧类型等二层特征来允许或拒绝数据包通过。

  • 配置

    模拟器不能做,真机能完成该配置

7. 基于时间ACL

  • 定义

    基于时间的 ACL(Time-Based ACL)是一种结合时间条件的访问控制列表,它能根据预设的时间范围(如特定时间段、周期性时间)动态启用或禁用 ACL 规则,使网络访问控制更具灵活性和时效性。其核心是将 ACL 规则与时间策略绑定,仅在指定时间内生效,其他时间则不执行该规则。

  • 配置

    模拟器不行,真机可以是因为接入了互联网,统一网络时间。未接入互联网的真机不行。

  • 配置案例

8. 自反ACL

  • 定义(可用四个最基础的)

    自反 ACL(Reflexive ACL)是一种动态生成反向规则的访问控制列表,主要用于允许内部网络主动发起的会话所对应的返回流量,同时阻止外部网络主动发起的未授权连接。它解决了传统 ACL 在双向流量控制中 "静态规则不够灵活" 的问题,通过动态记录内部发起的连接信息,自动生成允许返回流量的临时规则,实现更精准的安全控制。

  • 配置

    配置一个出的ACL会自动映射一个源和目的ip相反的入的ACL

  • 配置案例

相关推荐
sunfove7 小时前
光网络的立交桥:光开关 (Optical Switch) 原理与主流技术解析
网络
Kevin Wang7279 小时前
欧拉系统服务部署注意事项
网络·windows
min1811234569 小时前
深度伪造内容的检测与溯源技术
大数据·网络·人工智能
汤愈韬10 小时前
NAT策略
网络协议·网络安全·security·huawei
汤愈韬10 小时前
Full Cone Nat
网络·网络协议·网络安全·security·huawei
zbtlink10 小时前
现在还需要带电池的路由器吗?是用来干嘛的?
网络·智能路由器
桌面运维家10 小时前
vDisk配置漂移怎么办?VOI/IDV架构故障快速修复
网络·架构
dalerkd10 小时前
忙里偷闲叙-谈谈最近两年
网络·安全·web安全
汤愈韬11 小时前
NAT ALG (应用层网关)
网络·网络协议·网络安全·security·huawei
运维栈记13 小时前
虚拟化网络的根基-网络命名空间
网络·docker·容器