ACL业务模块的处理机制
各类ACL应用的业务模块对命中/未命中ACL的处理机制是各不相同的。
目前设备支持的ACL,有以下两种实现方式。
· 软件ACL:针对与本机交互的报文(必须上送CPU处理的报文),由软件实现来过滤报文的ACL,比如FTP、TFTP、Telnet、SNMP、HTTP、路由协议、组播协议中引用的ACL。
· 硬件ACL:针对所有报文(一般是针对转发的数据报文),通过下发ACL资源到硬件来过滤报文的ACL,比如流策略、基于ACL的简化流策略、自反ACL、用户组以及为接口收到的报文添加外层Tag功能中引用的ACL。
两者主要区别在于:
· 过滤的报文类型不同:软件ACL用来过滤与本机交互的报文(必须上送CPU处理的报文),硬件ACL可以用来过滤所有报文(一般是针对转发的数据报文)。
· 报文过滤方式不同:软件ACL是被上层软件(即应用层服务)引用来实现报文的过滤;通过软件ACL过滤报文时,会消耗CPU资源。
· 硬件ACL是被下发到硬件来实现报文的过滤。通过硬件ACL过滤报文时,则会占用硬件资源。通过硬件ACL过滤报文的速度更快。
对不匹配ACL的报文的处理动作不同:
当使用软件ACL时,如果报文未匹配上ACL中的规则,设备对该报文采取的动作为deny,即拒绝报文通过;
当使用硬件ACL时,如果报文未匹配上ACL中的规则,设备对该报文采取的动作为permit,即允许报文通过。
例如,在流策略中应用ACL时,如果ACL中存在规则但报文未匹配上,该报文仍可以正常通过;但在Telnet中应用ACL,这种情况下,该报文就无法正常通过了。
再如,在黑名单中应用ACL时,无论ACL规则配置成permit还是deny,只要报文命中了规则,该报文都会被系统丢弃,其他模块却不存在这种情况。
所以,大家在配置ACL规则并应用到业务模块中时,一定要格外小心。
常用ACL业务模块的处理机制整理:
为了方便大家查阅,本文转自华为官方特地整理的常用ACL业务模块的处理机制。
业务模块 |
匹配上了permit规则 | 匹配上了deny规则 | ACL中配置了规则,但未匹配上任何规则 | ACL中没有配置规则 | ACL未创建 | |
Telnet |
permit(允许登录) | deny(拒绝登录) | deny(拒绝登录) | permit(允许登录) | permit(允许登录) | |
HTTP |
permit(允许登录) | deny(拒绝登录) | deny(拒绝登录) | permit(允许登录) | permit(允许登录) | |
SNMP |
permit(允许登录) | deny(拒绝登录) | deny(拒绝登录) | permit(允许登录) | permit(允许登录) | |
FTP |
permit(允许登录) | deny(拒绝登录) | deny(拒绝登录) | permit(允许登录) | permit(允许登录) | |
TFTP |
permit(允许登录) | deny(拒绝登录) | deny(拒绝登录) | permit(允许登录) | permit(允许登录) | |
SFTP |
permit(允许登录) | deny(拒绝登录) | deny(拒绝登录) | permit(允许登录) | permit(允许登录) | |
流策略 |
流行为是permit时:permit(允许通过)
流行为是deny时:deny(丢弃报文) |
deny(丢弃报文) | permit(功能不生效,按照原转发方式进行转发) | permit(功能不生效,按照原转发方式进行转发) | permit(功能不生效,按照原转发方式进行转发) | |
NAT |
permit(进行NAT转换) | permit(功能不生效,按照原转发方式进行转发) | permit(功能不生效,按照原转发方式进行转发) | permit(功能不生效,按照原转发方式进行转发) | permit(功能不生效,按照原转发方式进行转发) | |
IPSEC |
permit(数据流经过IPSec处理后再转发) | 不允许出现此情况 | permit(功能不生效,按照原转发方式进行转发) | 不允许出现此情况 | 不允许出现此情况 | |
本机防攻击策略 | 白名单 | permit(CPU优先处理) | deny(丢弃报文) | permit (功能不生效,正常上送报文) | permit(功能不生效,正常上送报文) | permit(功能不生效,正常上送报文) |
黑名单 | deny(丢弃报文) | deny(丢弃报文) | permit (功能不生效,正常上送报文) | permit (功能不生效,正常上送报文) | permit (功能不生效,正常上送报文) | |
用户自定义流 | 用户自定义流的处理动作是deny时:deny(丢弃报文)
动作是car时:permit(进行CAR限速) |
deny(丢弃报文) | permit (功能不生效,按照原转发方式进行转发) | permit (功能不生效,正常上送报文) | permit (功能不生效,正常上送报文) | |
路由 | Route Policy | 匹配模式是permit时:permit(允许执行路由策略)
匹配模式是deny时: deny(不允许执行路由策略) |
deny(功能不生效,不允许执行路由策略) | deny(功能不生效,不允许执行路由策略) | permit(对经过的所有路由生效) | deny(功能不生效,不允许执行路由策略) |
Filter Policy | permit(允许发布或接收该路由) | deny(不允许发布或接收该路由) | deny(不允许发布或接收该路由) | deny(不允许发布或接收路由) | permit(允许发布或接收路由) | |
组播 | igmp-snooping ssm-policy | permit(允许加入SSM组播组范围) | deny(禁止加入SSM组地址范围) | deny(禁止加入SSM组地址范围) | deny(禁止加入SSM组地址范围,所有组都不在SSM组地址范围内) | deny(禁止加入SSM组地址范围,只有临时组地址范围232.0.0.0~232.255.255.255在SSM组地址范围内) |
igmp-snooping group-policy | 配置了default-permit时:permit(允许加入组播组)
未配置default-permit: permit(允许加入组播组) |
配置了default-permit时:deny(禁止加入组播组)
未配置default-permit:deny (禁止加入组播组) |
配置了default-permit时:permit(允许加入组播组)
未配置default-permit:deny(禁止加入组播组) |
配置了default-permit时:permit(允许加入组播组)
未配置default-permit:deny(禁止加入组播组) |
配置了default-permit时:permit(允许加入组播组) 未配置default-permit:deny(禁止加入组播组) |
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:Hey_MrBoss
版权声明:本文为原创文章,版权归 捌栢科 所有,欢迎分享本文,转载请保留出处! 资源下载说明:本网站所有资源部分来源于互联网收集整理,部分为本站原创,网络收集整理的资源均经本站测试过可用,请放心下载,如存在BUG和瑕疵的,请自行修改,您下载的资源包含模版主题、插件等因为特殊性为可复制品,如付费下载的,均不支持任何理由的退款,还请谅解。