一句话理解
Network ACL 是作用于子网边界的无状态、可允许也可拒绝的流量控制列表。
核心作用
- 对进入和离开子网的流量进行粗粒度控制。
- 可以按协议、端口和 CIDR 明确配置 Allow 或 Deny。
- 可作为 Security Group 之外的第二层防护,例如阻止特定恶意网段。
规则处理
- 规则按编号从小到大评估。
- 第一条匹配规则立即生效,后续规则不再检查。
- 因此更具体的规则通常使用更小编号。
- 最后存在隐式拒绝。
无状态是什么意思
NACL 不跟踪连接。允许请求方向后,还必须另外允许返回方向。返回流量通常使用客户端临时端口,具体范围因操作系统与客户端而异。
例如,允许互联网用户访问 Web 服务器的 443 端口时,入站规则允许 TCP 443;出站还需要允许返回到客户端临时端口范围。
默认行为
- Default NACL 默认允许所有入站和出站流量。
- 新建 Custom NACL 初始没有允许规则,会因为隐式拒绝而拒绝所有入站和出站流量。
- 实际规则可以修改,排错时应检查当前配置。
作用边界
NACL 与 Subnet 关联。流量进入或离开子网时进行评估;同一子网内资源之间的通信不跨子网边界,主要由 Security Group 等机制控制。
Cloud Practitioner 考点
NACL 是子网级、无状态、支持 Allow 与 Deny 的可选防护层。
SAA-C03 考点
- 规则编号与首条匹配。
- 入站和出站都必须允许。
- 临时端口。
- Default NACL 与 Custom NACL 的初始行为。
- 与 Security Group 组合排错。
常见误区
- NACL 不是有状态的。
- 只允许入站端口并不代表返回流量会自动通过。
- 编号较大的拒绝规则可能永远不会执行,因为较小编号已经匹配。
- NACL 不能替代资源级 Security Group。
易混淆服务
Security Group 负责资源级精细允许;NACL 负责子网边界的允许与拒绝。
面试高频问题
- NACL 为什么需要配置临时端口?
- 如何使用 NACL 阻止特定来源网段?
- Default NACL 与 Custom NACL 有什么区别?
重点记忆
NACL 像子网检查站:每个方向都重新检查,先匹配的编号获胜。