前言在企业网络当中经常会遇到这样的需求某个业务网段不允许访问服务器区域但是其他网段之间通信不受限制。比如办公网段禁止访问核心服务器财务服务器只允许特定人员访问。想要实现流量管控华为设备中最常用的技术就是ACL访问控制列表。ACL可以对报文的源IP、目的IP、端口、协议做匹配执行允许或者拒绝动作实现网络访问权限管控。ACL分为基础ACL基本ACL 2000‑2999和高级ACL3000‑3999。基本ACL只能匹配源IP部署位置受限高级ACL可以同时匹配源IP、目的IP、TCP/UDP端口号、协议功能强大推荐靠近源设备部署。实验环境模拟器eNSP设备华为S5700 三层交换机一台SW1重要说明 S5700‑EI增强版Vlanif 接口支持traffic‑filter可以实现标准单向阻断效果本实验优先选用此镜像。 S5700‑LI精简版Vlanif 接口不支持traffic‑filterMQC 部分命令阉割若使用该镜像会存在实验副作用文档后续会专门说明。实验拓扑图实验需求❌禁止VLAN10整个网段访问VLAN30服务器网段✅ 其余所有网段流量全部放行不受限制ACL部署位置Vlanif10接口inbound入方向设计思路高级ACL建议靠近源端部署。VLAN10的流量在进入三层网关的时候直接过滤报文不需要上交换机背板转发节约设备CPU与转发资源。完整配置步骤带详细注释提示#后面内容为注释说明真机、模拟器不要输入注释。步骤1进入系统视图# sys是简写进入交换机系统配置视图 system-view步骤2创建VLAN配置VLANIF三层网关# 批量创建VLAN10、VLAN30 vlan batch 10 30 # 配置VLAN10的三层网关 interface Vlanif 10 ip address 192.168.10.254 24 quit # 配置VLAN30的三层网关 interface Vlanif 30 ip address 192.168.30.254 24 quit解析Vlanif虚拟接口就是VLAN的三层网关不同VLAN之间想要互通必须依靠VLANIF接口做VLAN间路由。步骤3接入物理接口配置# G0/0/1连接VLAN10的PC终端 interface GigabitEthernet 0/0/1 port link-type access port default vlan 10 quit # G0/0/2连接VLAN20的PC终端 interface GigabitEthernet 0/0/2 port link-type access port default vlan 20 quit # G0/0/3连接VLAN30服务器 interface GigabitEthernet 0/0/3 port link-type access port default vlan 30 quit步骤4配置高级ACL 3000过滤规则# 创建高级ACL编号3000高级ACL范围3000‑3999 acl number 3000 # 规则1拒绝源192.168.10.0网段访问目的192.168.30.0服务器网段 rule deny ip source 192.168.10.0 0.0.0.255 destination 192.168.30.0 0.0.0.255 # source匹配源网段0.0.0.255是反掩码代表匹配整个C类网段 # destination匹配目标服务器网段 # 规则2放行其余全部IP流量 rule permit ip quit⚠️核心知识点ACL规则自上而下顺序匹配匹配成功就执行动作不再向下查找。deny规则要写在permit前面。ACL末尾隐含一条 rule deny ip默认拒绝所有未匹配流量如果不写rule permit ip除被deny的流量之外其他所有流量也会全部拒绝直接造成全网断网这是新手最高频错误。步骤5接口调用 ACL 流量过滤两套方案二选一方案1将 ACL 迁移至物理接口 G0/0/1 inbound本实验用的S5700‑LI 版本硬件限制Vlanif 接口不支持traffic‑filter命令。本拓扑 VLAN10 仅有单台主机接入 G0/0/1可以将 ACL 迁移至物理接口 G0/0/1 inbound。⚠️重大副作用必看二层物理接口调用traffic‑filter inbound会过滤所有入接口的 IP 报文。PC 回复 VLAN30 网关的 ARP‑Reply 报文源 192.168.10.x目的 Vlanif30 网关 IP会命中 deny 规则被丢弃。交换机无法解析 VLAN10 主机 ARP最终现象为 VLAN10 与 VLAN30 双向都不通不再是题目要求的单向阻断效果。如果 VLAN10 存在多个接入端口每一个接入端口都需要重复配置该命令无法对整个 VLAN 统一管控。interface GigabitEthernet0/0/1 traffic-filter inbound acl 3000备注S5700‑LI 版本限制Vlanif 接口不支持traffic‑filter本实验拓扑 VLAN10 仅有单台主机接入 G0/0/1因此将 ACL 迁移至物理接口 G0/0/1 inbound 实现相同实验现象。补充注意点若 VLAN10 有多个接入端口该方案需要每个端口都配置 traffic‑filter标准生产实现应为在 Vlanif 接口调用 ACL。方案2真机或是更高版本推荐# 进入VLAN10三层网关接口 interface Vlanif 10 # 在入方向绑定ACL3000对进入接口报文做过滤 traffic-filter inbound acl 3000 quit参数解析inbound入方向流量进入接口的时候检查过滤outbound出方向流量从接口向外转发的时候检查过滤。本次选择inboundVLAN10主机发出的流量刚进入三层网关就拦截报文不会继续转发节省交换机性能。排错查看命令调试必用# 查看ACL规则可以看到规则命中计数 display acl 3000 # 查看接口上ACL是否成功应用 display traffic-filter interface Vlanif 10❌S5700‑LI 精简版没有上面这条命令查看物理接口是否绑定 ACLsystem‑view interface GigabitEthernet 0/0/1 display this小技巧PC访问服务器之后deny规则后面的匹配计数会增长代表规则真正生效。结果验证VLAN10的PC ping服务器192.168.30.253→ 请求超时访问被拒绝达到预期效果。VLAN30服务器主动ping VLAN10主机 →可以通。说明ACL部署在Vlanif10 inbound只会管控VLAN10主机发出去的报文服务器回包流量不从Vlanif10入方向进入不受这条ACL管控。如果需要双向阻断需要额外配置。如果环境存在其他业务网段互相访问完全正常不受ACL影响。新手常见踩坑总结❌忘记写rule permit ip全网直接断网。记住ACL末尾隐含全部拒绝。❌规则顺序颠倒把permit写在deny前面deny永远不会匹配。❌混淆子网掩码与反掩码ACL中必须使用通配符反掩码不能写255.255.255.0。❌高级ACL错误部署在物理接口或者错误使用outbound方向过滤失效。❌配置完ACL忘记在接口下traffic-filter调用ACL写了但是完全不生效。完整全套配置方案1会双向不通sys vlan batch 10 30 interface Vlanif 10 ip address 192.168.10.254 24 quit interface Vlanif 30 ip address 192.168.30.254 24 quit interface GigabitEthernet 0/0/1 port link-type access port default vlan 10 quit interface GigabitEthernet 0/0/2 port link-type access port default vlan 30 quit acl number 3000 rule deny ip source 192.168.10.0 0.0.0.255 destination 192.168.30.0 0.0.0.255 rule permit ip quit interface Vlanif 10 traffic-filter inbound acl 3000 quit方案2推荐system‑view vlan batch 10 20 30 interface Vlanif 10 ip address 192.168.10.254 24 quit interface Vlanif 20 ip address 192.168.20.254 24 quit interface Vlanif 30 ip address 192.168.30.254 24 quit interface GigabitEthernet 0/0/1 port link‑type access port default vlan 10 quit interface GigabitEthernet 0/0/2 port link‑type access port default vlan 20 quit interface GigabitEthernet 0/0/3 port link‑type access port default vlan 30 quit acl number 3000 rule deny ip source 192.168.10.0 0.0.0.255 destination 192.168.30.0 0.0.0.255 rule permit ip quit interface Vlanif 10 traffic‑filter inbound acl 3000 quit结尾小结本篇实验使用高级ACL完成网段访问控制。高级ACL可以同时匹配源IP目的IP灵活实现网段隔离。记住两个关键点高级ACL尽量靠近源端部署减少设备转发开销。时刻牢记ACL末尾隐含拒绝一定要显式放行需要通过的流量。后续博文会继续分享基本ACL、ACL过滤端口、ACL在路由器上配置、以及双向阻断服务器访问的拓展实验。 如果文章对你有帮助欢迎点赞收藏有疑问评论区交流。拓展思考如果把ACL调用改成Vlanif30的outbound方向效果会怎么样优缺点是什么如果要求VLAN10和服务器完全双向不能通信该如何修改ACL