访问控制列表(ACL)是网络设备上用于流量过滤的核心技术,但不同厂商对ACL类型的命名和实现存在明显差异。初次接触网络设备配置时,我就被思科的"标准/扩展ACL"和华为的"基本/高级ACL"搞混过。后来发现这其实是同一套逻辑在不同厂商设备上的不同表述。
思科设备采用二分法:
华为设备则使用四层分类:
注意:华为设备也兼容思科风格的编号范围(如1-99用于基本ACL),但实际项目中建议使用华为的标准编号方案。
思科的传统ACL采用固定编号范围:
access-list 10 permit 192.168.1.0 0.0.0.255)access-list 110 deny tcp any any eq 80)在IOS 11.2版本后,思科引入了命名ACL(Named ACL),不再受编号限制:
cisco复制ip access-list extended WEB_FILTER
permit tcp 192.168.1.0 0.0.0.255 any eq 80
deny tcp any any eq 80
华为的ACL编号与类型严格绑定:
huawei复制acl 2000
rule 5 permit source 10.1.1.0 0.0.0.255
huawei复制acl 3000
rule 10 deny tcp source 192.168.1.0 0.0.0.255 destination 10.2.2.2 0 eq 3389
思科设备标准ACL配置流程:
cisco复制access-list 10 permit 192.168.1.0 0.0.0.255
access-list 10 deny any
cisco复制interface GigabitEthernet0/1
ip access-group 10 in
华为设备等效配置:
huawei复制acl 2000
rule 5 permit source 192.168.1.0 0.0.0.255
rule 10 deny source any
huawei复制interface GigabitEthernet0/0/1
traffic-filter inbound acl 2000
时间范围控制示例:
思科配置:
cisco复制time-range WORKTIME
periodic weekdays 9:00 to 18:00
ip access-list extended TIME_ACL
permit tcp any any eq 80 time-range WORKTIME
华为等效配置:
huawei复制time-range WORKTIME 09:00 to 18:00 working-day
acl 3000
rule 5 permit tcp source any destination any eq 80 time-range WORKTIME
需求:禁止财务部(192.168.10.0/24)访问研发部(192.168.20.0/24),但允许访问其他部门
思科解决方案:
cisco复制access-list 101 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
access-list 101 permit ip 192.168.10.0 0.0.0.255 any
interface GigabitEthernet0/1
ip access-group 101 in
华为等效方案:
huawei复制acl 3000
rule 5 deny ip source 192.168.10.0 0.0.0.255 destination 192.168.20.0 0.0.0.255
rule 10 permit ip source 192.168.10.0 0.0.0.255 destination any
interface GigabitEthernet0/0/1
traffic-filter inbound acl 3000
需求:只允许IT维护终端(192.168.100.100)通过SSH管理服务器
思科配置:
cisco复制access-list 110 permit tcp host 192.168.100.100 any eq 22
access-list 110 deny tcp any any eq 22
interface GigabitEthernet0/2
ip access-group 110 in
华为配置:
huawei复制acl 3000
rule 5 permit tcp source 192.168.100.100 0 destination any eq 22
rule 10 deny tcp source any destination any eq 22
interface GigabitEthernet0/0/2
traffic-filter inbound acl 3000
在实际项目中配置ACL时,有几个容易踩坑的地方值得注意:
规则顺序问题:有次我在华为设备上配置时,把permit any规则放在了最前面,导致后面的限制规则全部失效。ACL的匹配是自上而下的,首条匹配成功后即停止检查。
隐式拒绝规则:所有ACL末尾都有一条看不见的deny any规则。有次客户投诉网络不通,最后发现是忘记在ACL末尾添加permit any规则。
接口方向选择:入方向(inbound)和出方向(outbound)的效果完全不同。一般建议:
临时禁用技巧:在思科设备上可以临时在接口配置no ip access-group,而华为则需要使用undo traffic-filter命令。但更好的做法是通过在规则前添加remark说明:
huawei复制acl 3000
rule 5 remark "临时禁用:原SSH访问规则"
rule 10 deny tcp source any destination any eq 22