实际应用访问控制列表
了解 ACL 如何根据规则允许或拒绝流量
实际应用访问控制列表 是 CoddyKit 上的免费 Network+ Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Network+ Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Network+ Academy 课程共包含 4 节课。
ACL 是什么
ACL(访问控制列表)是一组按顺序排列的规则,根据流量的特征允许或拒绝流量。路由器、交换机和防火墙使用 ACL 来决定哪些数据包可以通过,哪些数据包应被丢弃。
每条规则,即ACE(访问控制条目),都会根据源地址、目标地址、协议或端口等条件匹配流量,并执行相应操作:允许或拒绝。
ACL 匹配哪些内容
典型的 ACL 规则会检查:
- 源 IP 地址(发送方)
- 目标 IP 地址(目的地)
- 协议(TCP、UDP、ICMP)
- 端口号(使用的服务)
将这些条件组合起来,您就可以编写精确的规则,例如允许访问某台服务器的 Web 流量,同时拒绝其他所有流量,以细致地控制访问权限。
从上到下处理
ACL 会从上到下进行评估,并在第一条匹配的规则处停止处理。因此,规则顺序至关重要:如果将宽泛的规则放在前面,它可能会覆盖下方更具体的规则,使后者永远无法得到处理。
通常的最佳实践是将具体规则放在前面,将更宽泛的规则放在后面,以便先评估精确的例外情况,再处理兜底条目。
隐式拒绝
大多数 ACL 的末尾都有一条不可见的隐式拒绝全部规则:任何未被明确允许的流量都会被丢弃。这种默认拒绝行为是一项安全功能,但常会让初学者感到意外,因为他们忘记允许某项流量,导致本应允许的流量仍被阻止。
请始终记住,如果没有规则匹配,流量默认会被拒绝。您必须明确允许希望放行的流量。
标准 ACL 与扩展 ACL
在路由器上,有两种经典的 ACL 类型:
- 标准 ACL仅根据源 IP 地址进行过滤,方式直接但较为简单。
- 扩展 ACL根据源地址、目标地址、协议和端口进行过滤,精确得多。
扩展 ACL 更为常见,因为实际策略通常需要规定哪些源可以访问哪些服务,而不仅仅是规定哪些对象可以访问。
入站与出站
ACL 会按方向应用于接口:入站(进入接口的流量)或出站(离开接口的流量)。同一条规则所产生的效果,会根据方向以及它所附加的接口而有所不同。
将 ACL 放置在正确的接口和方向上至关重要。在错误的接口上应用正确的规则,只会导致它无法过滤您想要过滤的流量。
无状态与有状态
基本 ACL 是无状态的:它会单独判断每个数据包,不记忆之前的流量。有状态防火墙会跟踪连接,因此如果它允许出站流量,就会自动允许相应的返回流量。
无状态 ACL 需要在两个方向上分别设置明确规则,这也是有状态防火墙在一般流量过滤中更简单、更常见的原因。
ACL 示例
请将这个简单的路由器 ACL 作为示例,了解如何组合规则,在允许某项服务的同时阻止其他所有流量。
access-list 101 permit tcp any host 10.0.0.5 eq 443
access-list 101 deny ip any any
! Permit HTTPS to the web server, deny all elseACL 的常见用途
ACL 可以执行许多安全任务:阻止已知的恶意 IP 地址,限制哪些子网可以访问服务器,控制对网络设备的管理访问,以及过滤虚拟局域网或区域之间的流量。
ACL 是一种基础且灵活的工具。将 ACL 与分段结合后,可以把区域之间的边界转化为强制执行的规则,精确决定哪些流量可以通过。
ACL 的常见陷阱
常见错误包括规则顺序错误(宽泛规则遮蔽了具体规则)、忘记隐式拒绝、将 ACL 应用到错误的接口或方向,以及由于拒绝自己的管理流量而意外导致自己无法登录设备。
请仔细规划并记录 ACL,测试更改,并始终在应用限制性规则前确认远程管理访问仍然被允许。
综合应用
ACL 是一个按顺序排列的允许/拒绝规则列表,按照从上到下的顺序处理,直到找到第一条匹配规则,最后以隐式拒绝结束。扩展 ACL根据源地址、目标地址、协议和端口进行过滤;您可以在接口上将其应用为入站或出站规则。正确使用 ACL 可以强制执行分段并保护设备,但仔细设置规则顺序和应用位置至关重要。
快速检查
测试您对 ACL 的了解。
回顾
ACL 是一个按顺序排列的允许/拒绝规则列表,根据源地址、目标地址、协议和端口进行匹配。规则会按从上到下的顺序处理,直到找到第一条匹配规则;隐式拒绝全部规则会丢弃所有未被允许的流量。扩展 ACL最为精确,可在接口上应用为入站或出站规则,并且需要仔细安排规则顺序和应用位置。
常见问题解答
「实际应用访问控制列表」课时是免费的吗?
是的 — 「实际应用访问控制列表」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Network+ Academy 课程的其余内容,请升级到 CoddyKit PRO。 Network+ Academy 课程共包含 4 节课。
「实际应用访问控制列表」这节课中我会学到什么?
了解 ACL 如何根据规则允许或拒绝流量 你通过在浏览器中直接运行的动手代码来练习 Network+ Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Network+ Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Network+ Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「实际应用访问控制列表」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Network+ Academy 课中编写并运行代码吗?
能。每节 Network+ Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 网络中的 CIA 三要素
- 纵深防御和分层安全
- 网络分段和安全区域
- 实际应用访问控制列表