# ACL 与流量过滤 ## 场景 要限制某段地址只能访问特定端口,或者把某些流量在接口上直接丢掉。 ## 前置条件 - 知道源/目的地址、协议和端口 - 明确是「入口」还是「出口」过滤 - 想清楚默认策略是 permit 还是 deny ## 配置 ### H3C ```text system-view acl advanced 3000 rule 0 deny tcp source 10.0.0.0 0.0.0.255 destination 10.0.1.10 0 destination-port eq 3389 rule 10 permit ip source 10.0.0.0 0.0.0.255 rule 20 deny ip quit interface GigabitEthernet1/0/1 packet-filter 3000 inbound quit ``` ### 华为 ```text acl number 3000 rule 5 deny tcp source 10.0.0.0 0.0.0.255 destination 10.0.1.10 0 destination-port eq 3389 rule 10 permit ip source 10.0.0.0 0.0.0.255 rule 20 deny ip quit interface GigabitEthernet0/0/1 traffic-filter inbound acl 3000 quit ``` ## 验证 ```text display acl 3000 display packet-filter interface GigabitEthernet1/0/1 display acl 3000 statistics ``` 规则后面的命中计数能说明有没有生效。 ## 回滚 ```text interface GigabitEthernet1/0/1 undo packet-filter 3000 inbound ``` ## 坑 - **`rule 20 deny ip` 这类兜底规则**,没放行的全被拒,先确认没有遗漏。 - 规则是**按序号从小到大匹配,命中即停**,顺序错了结果完全不同。 - 编号间隔留大一点(10、20、30),中间好插规则。 - 反掩码写错(`0.0.0.255` 和 `255.255.255.0` 别混)。 - 只配了 inbound,出方向还是全放行。 - 忘了允许管理流量,把自己关在外面。