访问控制列表 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用于包过滤默认允许,用于其他默认拒绝; 
- 
如果默认动作是允许,至少需要一条拒绝规则; 
- 
如果默认动作是拒绝,至少需要一条允许规则; 
- 
把小范围的规则分配一个靠前的顺序; 
- 
在不影响实际效果前提下,把包过滤尽量配置在离源地址最近的接口的入方向。 
