ACL包过滤
ACL
定义
访问控制列表
用于数据流的匹配和筛选
常见功能
访问控制:ACL+Packet-filter
路由控制:ACL+Route-policy
流量控制:ACL+QOS
引入
ACL (Access Control List,访问控制列表)是用来实现数据包识别功能的
ACL可以应用于诸多方面:
包过滤防火墙功能
NAT (Network Address Translation,网络地址转换)
QoS (Quality of Service,服务质量) 的数据分类
路由策略和过滤
按需拨号
基于ACL的包过滤
ACL包过滤的局限性
定义
对进出的数据包逐包检查,丢弃或允许通过
包过滤必须配置在接口的某个方向上才能生效
一个接口的一个方向只能配置一个包过滤策略
包过滤的方向
入方向:只对从外部进入的数据包做过滤
出方向:只对从内部发出的数据包做过滤
包过滤的工作流程
1.数据包到达接口检查是否应用了ACL,是则进入匹配,否则放行
2.按照ACL编号匹配第一条规则,匹配则进一步检查该条规则动作,否则与下一条规则进行匹配
3.继续进行匹配,如匹配则检查规则动作,否则与下一条进行匹配
...
4.所有规则都不匹配,检查默认动作
注意事项
如果默认动作是允许,至少需要一条拒绝规则
如果默认动作是拒绝,至少需要一条允许规则
H3C的ACL用于包过滤默认允许,用于其他默认拒绝
把小范围的规则分配一个靠前的顺序
在不影响实际效果前提下,把包过滤尽量配置在离源地址最近的接口的入方向
入站包过滤流程
ACL分类
基本ACL
只对数据包的源地址进行匹配
编号2000-2999
高级ACL
对数据包的五元组进行匹配(源IP,目的IP,源端口,目的端口,协议)
编号3000-3999
常用命令
[h3c]acI basic'acl-number' 创建基本ACL,进入ACL视图
[h3cJacl advanced 'acl-number' 创建高级ACL,进入ACL视图
[h3c-acI-basic-2000]rule 'rule id' 'permit/deny' source 'ip address' 'wild-mask'
创建基本ACL规则
如不写ruleid,则系统自动从0开始以5的倍数增加序号
[h3c-acl-advanced-3000]rule 'rule id''permit/deny' 'protocol' source 'ip address''wild-mask' source-port 'port' destination 'ip address' 'wild-mask' destination-port 'eg/t/gt/neq/range' 'port' 创建高级ACL规则
[h3c-GigabitEthernet 0/0]packet-filter 'acl number' 'inbound/outbound' 配置包过滤
[h3c]packet-filter default deny 更改默认动作为拒绝