华为eNSP模拟器综合实验之- ACL控制列表核心命令全解析及场景应用

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,不适用于普通用户上网

四、避坑

高频误区

  1. 方向混淆inbound = 流量进入设备方向(从对端看是"发向本设备")
  2. 隐式deny遗漏 :未加permit ip导致全网断连(排查先display acl counter看命中数)
  3. ACL复用陷阱 :同一ACL用于NAT+traffic-filter时,permit在NAT中="需转换",在filter中="放行",逻辑需分别设计
  4. 规则顺序错误:宽泛规则(如permit ip)放在前面会导致精细规则失效
  5. 交换机硬件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,方向是核心!

相关推荐
yosh'joy!!1 小时前
IT/OT接口规范
网络协议·接口·modbus tcp·modbus rtu
巨斧空间掌门1 小时前
JDK17 下载 windows Linux
linux·运维·服务器
小挪号底迪滴2 小时前
Docker容器化实战:从“在我机器上能跑“到环境一致性
运维·docker·容器
AI+程序员在路上2 小时前
CANopen 协议:介绍、调试命令与应用
linux·c语言·开发语言·网络
江畔何人初2 小时前
kube-apiserver、kube-proxy、Calico 关系
运维·服务器·网络·云原生·kubernetes
网安Ruler2 小时前
UDS 协议分析及模拟测试
网络
_下雨天.3 小时前
Nginx性能调优与深度监控
运维·nginx
皮卡蛋炒饭.3 小时前
进程得控制
linux·运维·服务器
weiwx833 小时前
Nginx location 和 proxy_pass 配置详解
服务器·网络·nginx