hello,我是网工小陈。
★“刚配完ACL,整个VLAN的用户全上不了网!”
“明明只拦一个IP,结果全网瘫痪……”
访问控制列表(ACL)是咱们工作中控制流量、保障安全的利器。
但它的“威力”也意味着高风险——
一条规则写错,就可能引发全网访问中断。
尤其在汇聚层或核心层部署ACL时,影响范围广,恢复不及时,可能导致业务长时间中断。
今天就通过一个真实案例,深入剖析ACL配置中的“致命陷阱”,并给到你安全配置清单,帮你避开“一条命令毁全网”的悲剧。
文章目录
一、事故现场
网络环境:
用户VLAN:VLAN 10(192.168.10.0/24) 网关:三层交换机 S6730,接口 Vlanif 10 需求:禁止IP为192.168.10.100的终端访问外网
工程师操作:
# 创建ACL 3000
[Huawei] acl 3000
[Huawei-acl-adv-3000] rule 5 deny ipsource192.168.10.100 0.0.0.0 destination any
[Huawei-acl-adv-3000] rule 10 permit ipsourceany destination any
[Huawei-acl-adv-3000] quit
# 在Vlanif 10接口入方向应用ACL
[Huawei] interface Vlanif 10
[Huawei-Vlanif10] traffic-filter inbound acl 3000
结果:
✅ 192.168.10.100 确实无法上网
❌VLAN 10内所有用户(包括192.168.10.1)都无法上网!
❌ 用户之间也无法互访!
★🔥 一条规则,导致整个VLAN业务中断。
二、根本原因
ACL默认隐含“deny ip any any”
这是ACL最常被忽视的默认行为!
当你创建一个ACL时,系统会在最后自动添加一条隐式规则:
deny ip any any
即:拒绝所有未明确允许的流量。
在上述案例中,ACL逻辑看似正确:
rule 5: 拒绝 192.168.10.100 访问任何地方
rule 10: 允许任何人访问任何地方
但问题出在——permit ip source any destination any
并不能匹配所有流量!
关键误区:ACL中的ip
不等于“所有协议”
ip
类型ACL:只匹配三层IP流量,不包含:ARP(二层广播,用于IP→MAC解析)
ICMP重定向
OSPF、BGP等路由协议
当ACL应用在Vlanif接口后:
用户开机 → 发送ARP请求:“谁是192.168.10.1?”
ARP是二层广播帧,不属于
ip
协议不匹配
rule 10
(因为不是IP流量)匹配隐式
deny ip any any
→ 被丢弃!网关无法响应ARP → 用户拿不到网关MAC → 无法通信
★✅结论:
ip
类型ACL会意外拦截ARP,导致用户无法获取网关,全网中断。
三、正确配置方法
必须显式放行ARP
方案1:使用basic
ACL 并允许ARP(推荐)
# 方法一:先放行ARP,再控制IP流量
[Huawei] acl 3000
[Huawei-acl-adv-3000] rule 5 permit arpsource-mac any destination-mac any # 允许所有ARP
[Huawei-acl-adv-3000] rule 10 deny ipsource192.168.10.100 0.0.0.0 destination any
[Huawei-acl-adv-3000] rule 15 permit ipsourceany destination any
[Huawei-acl-adv-3000] quit
方案2:使用traffic-filter
精确控制方向
# 方法二:只在出方向限制外网访问,不影响内网和ARP
[Huawei] interface Vlanif 10
[Huawei-Vlanif10] traffic-filter outbound acl 3000 # 改为出方向
这样,ARP请求(入方向)不受影响,只拦截该IP的出站流量。
四、ACL配置安全清单(必读)
隐式deny any | permit 规则覆盖必要流量 |
误拦ARP | permit arp |
应用方向错误 | |
规则顺序错误 | |
测试不充分 | |
无备份 | save ,或使用commit confirm (华为)设置自动回滚 |
五、其他常见ACL陷阱
陷阱1:用标准ACL(2000系列)限制源IP,但无法控制目的
标准ACL只能基于源IP,无法指定协议或端口
应使用高级ACL(3000系列)实现精细控制
陷阱2:ACL应用在物理接口,影响多个VLAN
应优先在SVI接口(Vlanif)或特定业务接口应用ACL
避免在上行口或核心口随意部署
陷阱3:忘记删除旧ACL
修改ACL后,原规则可能仍生效
使用
undo traffic-filter inbound
明确移除
六、排错命令:快速定位ACL问题
# 查看接口是否应用了ACL
<Huawei> display traffic-filter applied-record
# 查看ACL匹配计数(看是否被命中)
<Huawei> display acl 3000
# 查看ARP表是否正常学习
<Huawei> display arp all | include 192.168.10
# 抓包确认ARP是否被拦截
<Huawei> capture-packet interface Vlanif 10 destination flash:/arp.pcap
# 然后用Wireshark分析
总结
★ACL的强大,源于它的“精确控制”,
它的危险,也源于“精确控制”。
记住三条铁律:
永远记得隐式 deny ip any any
在Vlanif接口用ACL,必须 permit arp
先测试,再上线,配置留退路
★🔚 最后忠告:
当你敲下traffic-filter
命令时,
请多问自己一句:
“这条规则,会不会把网关的ARP也拦了?”
多一秒思考,少一小时抢救。

发表回复