ACL是"流量特征定义器",traffic-filter是"执行闸门"。二者配合实现精准流量管控。
一、ACL体系:四类ACL命令速查表
| ACL类型 | 编号范围 | 匹配维度 | 典型场景 | 创建命令示例 |
|---|---|---|---|---|
| 基本ACL | 2000-2999 | 源IP | 简单主机管控 | acl 2000 rule 5 permit source 192.168.1.100 0 |
| 高级ACL | 3000-3999 | 源/目的IP、协议、端口、ICMP类型 | 精细服务控制 | acl 3001 rule 10 deny tcp source 192.168.1.0 0.0.0.255 destination-port eq 22 |
| 二层ACL | 4000-4999 | 源/目的MAC、VLAN ID、以太网类型 | 交换机端口安全 | acl 4000 rule 5 deny source-mac 5489-98xx-xxxx ffff-ffff-ffff |
| 用户自定义 | 5000-5999 | 报文偏移量内容 | 特殊协议识别(少用) | acl 5000 rule 5 permit l2-head 0 2 0x0800 |
高频规则命令(ACL视图)
# 高级ACL完整示例(拒绝病毒端口+放行其他)
rule 5 deny tcp destination-port eq 135 # 拒绝135端口
rule 10 deny tcp destination-port eq 445 # 拒绝445端口
rule 15 permit ip source 192.168.10.0 0.0.0.255 # 仅放行指定网段
rule 20 deny ip # 显式拒绝其他(可省略,末尾隐式deny)
# 关键参数说明
source any # 等效 0.0.0.0 0.0.0.0(华为支持any简写)
destination-port eq www # eq=等于,gt=大于,range=范围(如 range 1024 65535)
fragment # 匹配分片报文(防分片攻击)
time-range worktime # 关联时间段(需先定义time-range)
ACL管理命令
display acl all # 全局查看ACL配置
display acl 3000 # 查看指定ACL
reset acl counter 3000 # 清零ACL命中计数器(排查用)
undo rule 10 # 删除规则10(按ID精准删除)
二、traffic-filter:接口级流量闸门
核心命令(接口视图)
traffic-filter inbound acl 3000 # 入方向过滤:流量进入设备前拦截(推荐安全场景)
traffic-filter outbound acl 3000 # 出方向过滤:流量离开设备前拦截(推荐出口策略)
undo traffic-filter inbound # 移除过滤策略
关键机制
| 项目 | 说明 |
|---|---|
| 动作逻辑 | ACL中 permit = 放行 ,deny = 丢弃(与NAT场景含义相反!) |
| 匹配终止 | 命中即停,按规则ID升序匹配(建议ID间隔5/10便于插入) |
| 隐式规则 | 所有ACL末尾存在 deny any,务必显式添加permit放行业务流量 |
| 方向选择 | 安全过滤优先用 inbound(早丢弃省资源);出口管控用 outbound |
三、典型应用场景实战
场景1:办公网安全隔离(路由器)
# 禁止财务部(192.168.2.0/24)访问研发部(192.168.3.0/24)的数据库(3306端口)
acl 3002
rule 5 deny tcp source 192.168.2.0 0.0.0.255 destination 192.168.3.0 0.0.0.255 destination-port eq 3306
rule 10 permit ip
#
interface GigabitEthernet0/0/1 # 连接核心交换机的内网接口
traffic-filter inbound acl 3002
效果:财务部无法访问研发数据库,其他互访正常
场景2:交换机端口MAC绑定(S5700)
acl 4001
rule 5 permit source-mac 5489-98ab-cdef ffff-ffff-ffff # 仅允许指定MAC
rule 10 deny
#
interface GigabitEthernet0/0/5 # 接用户PC的端口
traffic-filter inbound acl 4001
port-security enable # (补充)启用端口安全增强防护
效果:非授权MAC接入即断网,防私接设备
场景3:出口安全策略(防内网主机外连高危端口)
acl 3003
rule 5 deny tcp destination-port eq 135
rule 10 deny tcp destination-port eq 445
rule 15 permit ip
#
interface GigabitEthernet0/0/2 # 连接外网的WAN口
traffic-filter outbound acl 3003 # 出方向过滤,阻止内网主机向外发起危险连接
效果:阻断勒索病毒常用端口外联,不影响正常上网
场景4:设备管理安全(VTY访问控制)
acl 2001
rule 5 permit source 10.10.10.100 0 # 仅允许网管工作站
#
user-interface vty 0 4
acl 2001 inbound # 注意:此处非traffic-filter,是VTY专用ACL应用
protocol inbound ssh
效果:仅指定IP可通过SSH管理设备
场景5: Easy IP(最常用!单公网IP共享上网)
# 步骤1:定义需转换的流量(ACL是"触发器")
acl 3000
rule 5 permit ip source 192.168.1.0 0.0.0.255 # 仅转换办公网段
# rule 10 deny ip # 可选:显式拒绝其他(deny=不转换,非丢弃!)
# 步骤2:在外网接口启用Easy IP
interface GigabitEthernet0/0/1
ip address 203.0.113.10 255.255.255.0 # 公网IP
nat outbound 3000 # 无地址池 → 自动使用接口IP + 端口复用
效果 :192.168.1.0/24所有主机共享203.0.113.10上网
ACL关键 :permit = "需要NAT转换",deny = "跳过NAT直通"(非丢弃!)
场景6: 动态NAT(多公网IP,不复用端口)
# 创建公网地址池(10个IP)
nat address-group 1 203.0.113.100 203.0.113.109
# ACL匹配内网流量
acl 2000
rule permit source 10.10.0.0 0.0.255.255
# 接口调用(关键:no-pat!)
interface GigabitEthernet0/0/1
nat outbound 2000 address-group 1 no-pat # no-pat = 禁用端口转换
适用场景:
- 需保留内网主机真实IP特征(如日志审计)
- 公网IP数量 ≥ 并发用户数
不适用:公网IP少于用户数(会因IP耗尽导致部分用户无法上网)
场景7:NAT Server(端口映射:内网服务对外发布)
# 方式1:全局配置(推荐)
nat server protocol tcp global 203.0.113.10 80 inside 192.168.1.100 8080
nat server protocol tcp global 203.0.113.10 443 inside 192.168.1.100 8443
# 方式2:使用接口IP(避免硬编码)
interface GigabitEthernet0/0/1
nat server protocol tcp global current-interface 22 inside 192.168.1.200 22
效果:
-
外网访问
203.0.113.10:80→ 自动转到内网192.168.1.100:8080 -
回包自动转换源地址为公网IP
安全加固必做(配合traffic-filter):acl 3001
rule 5 permit tcp destination 203.0.113.10 0 destination-port eq www
rule 10 deny ip
interface GigabitEthernet0/0/1
traffic-filter inbound acl 3001 # 仅开放Web端口,防端口扫描
场景8: 静态NAT(一对一映射)
interface GigabitEthernet0/0/1
nat static global 203.0.113.50 inside 192.168.1.50 netmask 255.255.255.255
场景:
- 内网监控服务器需被外网通过固定公网IP直连
- 无需端口转换,双向自动映射
注意:消耗1个公网IP,不适用于普通用户上网
四、避坑
高频误区
- 方向混淆 :
inbound= 流量进入设备方向(从对端看是"发向本设备") - 隐式deny遗漏 :未加
permit ip导致全网断连(排查先display acl counter看命中数) - ACL复用陷阱 :同一ACL用于NAT+traffic-filter时,
permit在NAT中="需转换",在filter中="放行",逻辑需分别设计 - 规则顺序错误:宽泛规则(如permit ip)放在前面会导致精细规则失效
- 交换机硬件ACL:S5700等支持ACL硬件转发,复杂规则建议在接入层部署减轻核心压力
traffic-filter vs MQC(流策略)选型
| 特性 | traffic-filter | MQC(流策略) |
|---|---|---|
| 配置复杂度 | 简单(1条命令) | 需定义classifier/behavior/policy |
| 动作能力 | 仅permit/deny | deny/permit/redirect/mirror/remark等 |
| 适用场景 | 基础访问控制 | 复杂策略(如镜像特定流量到监控端口) |
| ENSP推荐 | 90%安全过滤场景首选 | 需要重定向、QoS标记等高级动作时使用 |
MQC简例(将HTTP流量镜像)
traffic classifier http match acl 3004 traffic behavior mirror mirror-to observe-port 1 traffic policy http-mirror classifier http behavior mirror interface GE0/0/1; traffic-policy http-mirror inbound
总结
ACL定规则,permit放行,deny即丢弃;末尾隐式deny,业务permit必加;
安全用inbound,出口用outbound;排查看counter,方向是核心!