要让内网资源对所有外部请求默认拒绝,关键在于主动配置兜底的 deny any 规则:standard acl 仅基于源ip过滤,需在边界设备入方向显式添加 deny any 作为最后一条规则,并配合网络架构与应用层控制实现“非授权即拒”。

要让内网资源对所有外部请求默认拒绝,关键不是靠“默认行为”,而是主动构造一条明确、兜底的拦截规则。Standard ACL(标准访问控制列表)本身只支持基于源IP地址的过滤,无法指定端口或协议,但它在边界设备(如路由器、防火墙)上仍可作为第一道防线,配合其他机制实现“非授权即拒”的效果。
明确设置 deny any 作为最后一条规则
Standard ACL 的匹配顺序是从上到下,一旦匹配就停止查找。如果只写几条 permit 规则而没加 deny any,未匹配的流量会继续被设备默认策略放行——这不是拒绝,是漏放。
- 在 Cisco 设备上,必须显式配置:
access-list 1 deny any,且这条语句必须放在所有permit条目之后 - 在华为设备上,对应命令为:
rule deny source any,同样需置于 permit 规则末尾 - ACL 编号需在标准范围(1–99 或 1300–1999),并正确应用到入方向接口(
ip access-group 1 in)
仅允许指定内网网段,其余全部拦截
Standard ACL 不识别目的地址或端口,所以它的作用是“谁可以发起连接”。想保护内网服务器,就要把 ACL 应用在面向外网的接口入方向,只放行可信内网源IP。
- 例如,只允许
10.1.0.0/16访问:access-list 1 permit 10.1.0.0 0.0.255.255 - 紧接着必须跟:
access-list 1 deny any(不能省略) - 注意:这条 ACL 不会阻止内网用户访问外网,它只控制“从该接口进来的流量”是否被转发到内网
配合设备默认策略与物理部署位置
Standard ACL 单独使用不足以完成完整防护,需结合网络架构设计:
- 将 ACL 部署在内外网交界处(如出口路由器或防火墙的外网接口),确保所有入向流量先过滤
- 确认设备全局策略不启用“默认允许”,某些旧型号设备可能默认放行未匹配流量
- 不要依赖 Standard ACL 做精细化控制(如区分 HTTP/HTTPS),它只适合做源头身份初筛
- 真正敏感的服务(如数据库、后台API)应额外叠加应用层控制(如 Nginx 的
deny all、IIS 的 IP 限制模块)
验证与常见陷阱
配置后务必测试,避免因顺序或应用方向错误导致失效:
- 用外网IP(如手机热点)尝试访问内网服务,应返回超时或连接被拒,而非 403 或页面响应
- 检查 ACL 是否应用在正确的接口和方向(
in而非out) - 勿将 Standard ACL 应用于出方向——它无法控制“去往哪里”,只管“从哪来”
- 若使用 NAT,确保 ACL 在 NAT 转换前生效,否则看到的是转换后的地址











