交换机ACL(访问控制列表)配置是网络安全的第一道闸门,合理的ACL规则能在数据帧进入交换机转发引擎之前完成过滤,从而以最小性能代价实现网络隔离、流量管控与安全防护。 但ACL并非“配了就好”,错误的顺序、隐式拒绝规则、未考虑VLAN间路由等细节,会导致业务中断或规则形同虚设,真正专业的ACL配置,必须基于业务流向、设备转发模型和运维可追溯性来设计,而非简单堆砌命令。
ACL的本质与分类:先理解再配置
ACL的本质是一组有序排列的匹配条件,交换机按从上到下的顺序逐条比对报文头字段(源IP、目的IP、协议、端口等),一旦命中即执行对应的允许或拒绝动作,后续规则不再生效。规则的先后顺序直接决定最终效果,这是配置中最高频的失误点。
- 标准ACL:仅匹配源IP,编号范围2000-2999,适合在贴近目的端的位置粗略拦截某个源网段。
- 扩展ACL:匹配源IP、目的IP、协议、端口等多维字段,编号3000-3999。生产环境90%以上的场景应使用扩展ACL,因为它能精确到“谁访问谁的哪个服务”。
- 二层ACL:匹配源MAC、目的MAC、VLAN ID等,适用于接入层进行端口级安全控制。
- 基于VLAN的ACL(VLAN-ACL):对进入某个VLAN的所有流量生效,适合在同一VLAN内做东西向流量隔离。
配置前必须完成的三个设计动作
绘制业务流量矩阵
先明确哪些网段需要互访、哪些端口服务需要开放,办公区(192.168.10.0/24)只允许访问服务器区(192.168.20.0/24)的80/443端口,禁止访问数据库端口1433。未画流量图就写ACL,等于在不知道门在哪里的情况下装锁。
确定规则放置位置与方向
ACL可以应用在接口的入方向或出方向,但建议尽量在“离源最近”的入方向过滤,减少无效流量穿越交换机带来的转发开销。

注意启用ACL的VLAN间路由场景:如果交换机承担VLAN间三层转发,ACL应部署在VLANIF接口的入方向,而非物理接口。
预留日志记录与计数器
思科/华为/锐捷等主流交换机均支持 deny 规则附带log关键字,开启日志后,当ACL匹配到拒绝流量时,设备会生成日志,用于安全审计和故障排查,不要因为日志会占用CPU资源就省略,生产环境必须有。
分场景的ACL配置实例与命令解析
禁止研发网段访问财务服务器
acl number 3001 rule 5 deny ip source 192.168.30.0 0.0.0.255 destination 192.168.20.10 0.0.0.0 rule 10 permit ip source 192.168.30.0 0.0.0.255 # 应用在财务服务器所在VLANIF的入方向 interface Vlanif20 traffic-filter inbound acl 3001
重点: 必须在拒绝规则之后添加一条 permit ip source 192.168.30.0 any,否则该网段回包也会被隐含的deny unit匹配,导致“能发不能收”的诡异故障。
限制外部仅能访问DMZ区的HTTP与HTTPS
acl number 3002 rule 5 permit tcp source 0.0.0.0 0.0.0.0 destination 10.10.10.10 0.0.0.0 destination-port eq 80 rule 10 permit tcp source 0.0.0.0 0.0.0.0 destination 10.10.10.10 0.0.0.0 destination-port eq 443 rule 15 deny ip interface GigabitEthernet0/0/1 traffic-filter inbound acl 3002
同VLAN内主机隔离(防ARP欺骗)
二层ACL在接入交换机端口上应用:
acl number 4001 rule 5 deny source-mac 0050-7966-1234 0000-0000-0000 interface GigabitEthernet0/0/2 traffic-filter inbound acl 4001
酷番云经验案例:云上ACL与交换机ACL的联动治理
某电商客户在IDC机房存在核心交换机与物理服务器,同时又在酷番云上有云主机承担Web前端,此前客户只配置了交换机上的ACL,未对云上安全组做规划,导致SQL注入攻击流量绕过了物理ACL,从云上直接渗透到内网数据库。

解决方案分两步:
- 第一步,在酷番云控制台上为云主机设置安全组,仅放行来自负载均衡的80/443端口,并同步在安全组内拒绝来自公网的所有异常源IP段。
- 第二步,将交换机ACL和云安全组规则统一编排:先由交换机ACL过滤物理接入层业务流量,再经酷番云安全组完成云主机边界防护,两者形成“纵深防御链”,利用酷番云提供的流量日志分析,将攻击源IP回写到交换机ACL的deny规则中,实现动态封禁。
经验要点: 云上安全组是逻辑层面的分布式防火墙,而交换机ACL是物理链路层的门卫。不要把两者割裂配置,建议将统一的安全策略映射到两端,并每周比对规则变更日志,确保无遗漏。
配置后的验证与排错:从“能ping通”到“业务全通”
ACL生效后,建议依次执行:
display acl all检查规则顺序与匹配计数。display traffic-filter applied-record确认ACL已正确应用到接口。- 使用
ping、telnet、curl分源分目的测试,重点验证双向流量:很多ACL故障都是因为只过滤了入方向,忘了回程流量。
如果出现丢包,优先检查隐含的deny简介规则:每条ACL的末尾都有不可见的 deny ip any any,如果规则中未显式放行所有需通过流量,就会静默丢弃。
常见的五大ACL配置陷阱
- 规则顺序错误:先写了宽泛的permit,后续deny永远不生效。
- 忘记放行回程流量:特别是在TCP场景中,只放行了SYN,没放行SYN-ACK。
- 子网掩码写反:ACL中用的是反掩码(0.0.0.255),不是子网掩码(255.255.255.0),复制粘贴时特别容易出错。
- 在出方向应用ACL导致CPU过高:出方向过滤需要查表匹配完整的三层信息,建议尽量用入方向。
- 修改线上ACL时用覆盖而非追加:直接覆盖会导致原ACL失效,建议编辑完新规则后再整体替换。

相关问答模块
问:交换机ACL配置后,为什么同一VLAN内主机之间仍然可以互相访问?
答:因为普通的ACL(无论标准还是扩展)只能过滤三层IP流量,无法过滤同一VLAN内的二层直接转发流量,同一个VLAN内的主机通信不经过三层路由,ACL不会参与处理,如果想要隔离同VLAN内的主机,必须使用二层ACL(匹配MAC)或端口隔离功能,也可以在交换机上启用PVLAN或VLAN-ACL。
问:ACL规则中的“permit ip any any”放在最后,会不会影响性能?
答:性能影响很小,但策略效果可能不符合预期,大多数交换机的TCAM硬件查找机制是并行匹配优先级最高的规则,而非逐条顺序匹配,只要规则表项数量可控(通常数百条以内),匹配效率基本不变,但逻辑上,permit any any”放在中间,会拦截所有后续的deny规则,导致安全策略失效。“permit any any”必须放在所有精细规则之后,作为兜底放行项,且建议配合流量监控确认是否有非预期流量借助它越权访问。
互动引导
你在实际配置交换机ACL时,是否遇到过“规则顺序没问题但就是不生效”的怪问题?或者对ACL与云安全组的协同场景有更好的经验?欢迎在评论区分享你的调试过程,我会挑选典型问题进行详细拆解,一起把网络安全这道闸门焊得更牢。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/774178.html

