eNSP 实战难度 · 进阶
ACL 访问控制图解:规则怎么一条条匹配流量
ACL 规则匹配原理图解,一张图看懂 permit/deny 与匹配顺序,附华为 eNSP 配置阻止指定网段。
#ACL#安全#eNSP
先看效果

为什么需要 ACL
网络通了之后,安全就来了:比如财务部的电脑不应该能访问服务器区的 SSH;访客 Wi-Fi 不应该能访问内网。这些「谁能访问谁」的规则,就是 ACL(访问控制列表)干的活。
ACL 是一系列规则的集合,用来识别流量(允许/拒绝),然后被其他功能引用,比如接口上的 traffic-filter、NAT、QoS。
原理图解
看上面这张图:
- ACL 里规则按编号从小到大排好;
- 每个数据包来了,从第一条开始逐条比对;
- 命中第一条规则的 permit/deny 立即生效,后面的规则不再看;
- 如果所有规则都没命中,最后有一个隐含的拒绝所有(deny any)兜底。
所以写 ACL 要记住:匹配是从上往下的,顺序就是命运。permit 和 deny 谁先谁后直接决定效果。
eNSP 完整配置
用基本 ACL(2000-2999,根据源地址匹配)阻止 192.168.10.0/24 网段访问服务器 192.168.100.10:
# ===== 在 R1 上配置 =====
<Huawei> system-view
[Huawei] sysname R1
# 1. 创建基本 ACL 2001
[R1] acl number 2001
# 拒绝 192.168.10.0/24(放前面,先匹配)
[R1-acl-basic-2001] rule 5 deny source 192.168.10.0 0.0.0.255
# 允许其他所有(放后面兜底)
[R1-acl-basic-2001] rule 10 permit
[R1-acl-basic-2001] quit
# 2. 在要控制的接口上应用(此处是连服务器一侧的内网口)
[R1] interface GigabitEthernet0/0/1
[R1-GigabitEthernet0/0/1] traffic-filter inbound acl 2001
[R1-GigabitEthernet0/0/1] quit
[R1] save
验证
# 查看 ACL 规则
[R1] display acl 2001
# 查看接口上的应用
[R1] display traffic-filter applied-record
再从 192.168.10.0 网段 ping 192.168.100.10,应该不通;其他网段正常。
常见问题
Q: 我写了 deny 但流量还是过去了? A: ① 检查 ACL 是否应用到了接口(光建 ACL 不应用没用);② 检查方向(inbound/outbound 有没有搞反——inbound 是进入接口的流量);③ 检查规则顺序,会不会有更靠前的 permit 先把它放行了。
Q: 什么时候用基本 ACL,什么时候用高级 ACL? A: 基本 ACL(2000-2999)只能按源地址匹配;高级 ACL(3000-3999)能按源/目的地址、协议(TCP/UDP/ICMP)、端口号等精细匹配。需要控端口就用高级 ACL。
下一步
控制谁访问谁是安全的第一步,但内网设备上外网还涉及地址转换。看 NAT 源地址转换配置。