只匹配源地址的标准 ACL
思科标准 ACL 只匹配源 IP 地址,编号使用 1 到 99,另有 1300 到 1999 的扩展编号段。它的关键特性是末尾存在一条看不到的隐式拒绝:只要 ACL 里写了 permit,其余未显式放行的来源就全部被拒绝。这个特性既是最有力的默认安全,也是新手最容易踩的坑——只想拦一个网段,结果把其他所有流量一起断了。
基本信息
| 适用平台 | Cisco IOS 与 IOS-XE 路由器、交换机 |
|---|---|
| 编号范围 | 标准 ACL 1 到 99,扩展编号段 1300 到 1999 |
| 匹配条件 | 仅源 IP 地址,单位主机用 host 关键字 |
| 应用命令 | 接口下 ip access-group 编号 in 或 out |
| 管理面应用 | line vty 下用 access-class 编号 in |
典型使用场景
- 限制某个来源网段访问设备或服务器
- 作为路由协议重分发的匹配条件
- 限制 VTY 登录来源,只放开运维网段
- 与 NAT 配合圈定需要地址转换的来源
- 在设备上做临时访问管控,快速阻断异常来源
思科 IOS
思科 IOS
access-list 10 permit 192.168.10.0 0.0.0.255
access-list 10 permit host 192.168.30.5
! 其余来源被末尾隐式 deny any 丢弃
show ip access-lists 10 # 查看每条规则的匹配计数
show ip interface GigabitEthernet0/1 | include access list
interface GigabitEthernet0/1
ip access-group 10 in华为 VRP
华为 VRP
acl number 2000
rule 5 permit source 192.168.10.0 0.0.0.255
rule 10 permit source 192.168.30.5 0
rule 100 deny # 华为无隐式拒绝,需显式兜底
interface GigabitEthernet0/0/1
traffic-filter inbound acl 2000H3C Comware
H3C Comware
acl basic 2000
rule 5 permit source 192.168.10.0 0.0.0.255
rule 10 permit source 192.168.30.5 0
rule 100 deny
interface GigabitEthernet1/0/1
packet-filter 2000 inbound编号与等价关系对照
| 对比项 | 思科标准 ACL | 华为基本 ACL | H3C 基本 ACL |
|---|---|---|---|
| 编号空间 | 1 到 99,1300 到 1999 | 2000 到 2999 | 2000 到 2999 |
| 匹配条件 | 仅源地址 | 仅源地址 | 仅源地址 |
| 单位主机写法 | host 加地址,或地址加 0.0.0.0 | 地址加 0 | 地址加 0 |
| 缺省行为 | 末尾隐式 deny any | 需显式写兜底规则 | 需显式写兜底规则 |
| 接口应用 | ip access-group | traffic-filter | packet-filter |
使用要点
- 编号 ACL 无法插入或删除单条规则:改动一条往往要整体删除重建,推荐改用命名 ACL
- 标准 ACL 建议部署在靠近目的的位置,避免因匹配条件单薄误伤其他来源
- 规则计数是排障利器,用它确认某条规则到底命中了多少流量
- access-class 用于限制 VTY 登录来源,与接口上的 access-group 是两套位置
- 接口 ACL 只过滤穿越流量,设备自身发起的流量需要控制平面策略配合
与相邻配置的关系
- 与命名 ACL 的关系:用命名标准 ACL 建表可以插入与删除单条规则,改动成本远低于编号 ACL,长期维护应优先选它
- 与路由协议的关系:标准 ACL 常被重分发或分发列表引用,按源地址筛选进入路由表的路由条目
- 与 NAT 的关系:源转换语句引用标准 ACL 圈定需要做转换的来源,命中即转换,未命中则不转换
- 与线路的关系:线路下用访问类命令限制登录来源,与接口上的访问组互相独立,管理入口限制应配在线上
- 与日志的关系:在拒绝规则后加日志关键字可记录被拒来源,用来验证策略是否符合预期
- 与删除操作的关系:删除接口引用要写完整的否定命令,只删定义会让引用悬空
隐式拒绝是默认行为:只写 permit 就等于拒绝了其他所有来源。做变更前先把需要的来源全部列全,或者末尾显式补一条 permit any 再逐个收紧,避免一刀切造成大面积中断。
删除接口上的 ACL 引用要用 no ip access-group 加编号与方向,参数需与配置一致;只删 ACL 定义而引用还在,接口会提示引用了不存在的 ACL。