访问控制列表 ACL

0x0 定义

  • 用于数据流的匹配和筛选

  • ACL 不对数据包本身做任何操作

  • 手动网络层隔离技术

0x1 常见功能

  • 访问控制:ACL + Packet-filter

  • 路由控制:ACL + Route-policy

  • 流量控制:ACL + QoS

0x2 ACL 分类

基本 ACL

  • 编号 2000-2999

  • 只对数据包的源地址进行匹配

  • 使用于大范围的批量控制

高级 ACL

  • 编号 3000-3999

  • 对数据包的五元组进行匹配(五元组:源目IP端口、协议)

  • 适用于精确控制

二层 ACL

  • 编号 4000-4999

  • 基于数据链路层的访问控制列表(源目MAC、二层协议)

0x3 基于 ACL 的包过滤

定义

  • 对进出的数据包逐包检查,丢弃或允许通过

  • 包过滤必须配置在接口的某个方向上才能生效

  • 一个接口的一个方向只能配置一个包过滤策略

包过滤的方向

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

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

包过滤的工作流程

0x4 常用命令

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

# 创建基本ACL规则,如不写rule-id,则系统自动从0开始以5的倍数增加序号
[h3c-acl-basic-2000]rule 'rule id' 'permit/deny' source 'ip address' 'wild-mask'

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

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

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

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

0x5 注意事项

  • H3C的ACL用于包过滤默认允许,用于其他默认拒绝;

  • 如果默认动作是允许,至少需要一条拒绝规则;

  • 如果默认动作是拒绝,至少需要一条允许规则;

  • 把小范围的规则分配一个靠前的顺序;

  • 在不影响实际效果前提下,把包过滤尽量配置在离源地址最近的接口的入方向。

posted @ 2025-10-16 10:12  znevue  阅读(12)  评论(0)    收藏  举报