interface Vlan-interface1036
ip binding vpn-instance Core_AppDB_Zone
ip address 10.74.36.1 255.255.255.0
packet-filter 3036 outbound
#
return
[AGG]dis cu int vlan 1044
#
interface Vlan-interface1044
description OCEANBASE_SOC
ip binding vpn-instance Core_AppDB_Zone
ip address 10.74.44.1 255.255.255.0
packet-filter 3044 outbound
[AGG]dis acl 3036
Advanced IPv4 ACL 3036, 8 rules,
ACL's step is 5
rule 10 permit ip source 10.74.36.0 0.0.0.255
rule 20 permit tcp source 10.74.34.0 0.0.0.255 destination 10.74.36.0 0.0.0.255
rule 9990 deny ip source 10.74.32.0 0.0.31.255
rule 10000 permit ip
[AGG]dis acl 3044
Advanced IPv4 ACL 3044, 15 rules,
ACL's step is 5
rule 10 permit ip source 10.74.44.0 0.0.0.255
rule 20 permit tcp source 10.74.33.0 0.0.0.255 destination 10.74.44.0 0.0.0.255 source-port eq 22
rule 30 permit tcp source 10.74.33.0 0.0.0.255 destination 10.74.44.0 0.0.0.255 source-port range 2881 2885
rule 40 permit tcp source 10.74.33.0 0.0.0.255 destination 10.74.44.0 0.0.0.255 source-port range 62881 63881
rule 50 permit tcp source 10.74.33.0 0.0.0.255 destination 10.74.44.0 0.0.0.255 destination-port eq 22
rule 60 permit tcp source 10.74.33.0 0.0.0.255 destination 10.74.44.0 0.0.0.255 destination-port eq www
rule 70 permit tcp source 10.74.33.0 0.0.0.255 destination 10.74.44.0 0.0.0.255 destination-port range 2881 2884
rule 80 permit tcp source 10.74.33.0 0.0.0.255 destination 10.74.44.0 0.0.0.255 destination-port range 3306 3307
rule 90 permit tcp source 10.74.33.0 0.0.0.255 destination 10.74.44.0 0.0.0.255 destination-port eq 8080
rule 100 permit icmp source 10.74.33.0 0.0.0.255 destination 10.74.44.0 0.0.0.255
rule 110 permit tcp source 10.74.35.40 0 destination 10.74.44.0 0.0.0.255
rule 120 permit tcp source 10.74.35.0 0.0.0.255 destination 10.74.44.0 0.0.0.255 source-port range 1521 1522
rule 130 permit tcp source 10.74.39.0 0.0.0.255 destination 10.74.44.0 0.0.0.255 destination-port eq 2883
rule 9990 deny ip source 10.74.32.0 0.0.31.255
rule 10000 permit ip
[AGG]
如上,源 10.74.36.3,目的10.74.44.17,这里ACL 中rule 9990 deny为什么没有拦截,还能正常访问?
核心结论
10.74.36.3 → 10.74.44.17 流量不会被 rule 9990 deny 拦截,根源两点:
rule 9990 匹配源段:10.74.32.0 0.0.31.255,先算网段范围;
ACL 是出方向 packet-filter 绑定在 Vlanif,流量匹配逻辑区分 “源、目的是否属于本 VLAN 接口网段”。
一、先计算 rule 9990 拒绝的源地址段
掩码反掩码 0.0.31.255,块大小 32:
网络段:10.74.32.0 ~ 10.74.63.255
你的源 IP:10.74.36.3,确实落在 10.74.32.0/19 范围内,单看 IP 是匹配这条 deny 规则的。
关键不在 IP 段,在 ACL 绑定位置 + 流量方向。
二、梳理组网与流量走向
Vlanif1036:10.74.36.1/24,绑定 acl 3036 outbound
本接口网段:10.74.36.0/24
Vlanif1044:10.74.44.1/24,绑定 acl 3044 outbound
本接口网段:10.74.44.0/24
流量:10.74.36.3 (Vlan1036) → 10.74.44.17 (Vlan1044)
完整转发路径:
流量从接入侧进入交换机,路由转发到 Vlanif1044;
从Vlanif1044 接口 outbound 方向转发出去,去往 10.74.44.0/24 终端;
此时生效的 ACL 是 packet-filter 3044 outbound,acl 3036 只在 Vlanif1036 出方向生效,对这条跨 VLAN 流量不生效。
三、分清楚两条 ACL 各自管控什么流量
1. ACL 3036(绑定 Vlanif1036 outbound)
仅管控:源为 10.74.36.0/24,从 Vlanif1036 往外转发的流量。
场景举例:10.74.36.x 访问 10.74.44.x,流量离开 Vlanif1036 时才会匹配 acl3036。
2. ACL 3044(绑定 Vlanif1044 outbound)
管控:所有从 Vlanif1044 接口向外转发的流量,你这条跨 VLAN 流量最终从 Vlanif1044 发出,匹配 acl3044。
四、逐条核对 acl 3044 对 10.74.36.3→10.74.44.17 的匹配顺序
acl 规则从小到大依次匹配,命中即停止后续规则:
rule10:permit ip source 10.74.44.0 0.0.0.255
源是 10.74.36.3,不匹配,跳过;
rule20~rule130:所有规则源是 10.74.33.0/24、10.74.35.40、10.74.35.0/24、10.74.39.0/24,均不包含 10.74.36.3,全部跳过;
rule9990:deny ip source 10.74.32.0 0.0.31.255
虽然源 IP 段匹配,但这条规则排在前面十几条允许规则之后,只有前面全部不命中才会走到这条;
rule10000:permit ip
所有前面规则未匹配的流量全部放行。
完整逻辑复现
10.74.36.3→10.74.44.17 进入 acl3044 校验:
rule10~rule130 全都不匹配 → 走到 rule9990(deny 段)→ 再往下还有 rule10000 全允许,rule9990 只拦截同源段、且前面规则未放行的流量,但末尾全局 permit 覆盖了它。
等于:只要不是前面精确放行的业务源,先过一次 deny 段,但最后一条全部放通,deny 9990 形同虚设。
五、两个核心问题总结
流量生效的是 acl3044,不是 acl3036;acl3036 的 deny 9990 管不到这条跨 VLAN 流量;
acl3044 内部规则顺序错误:
rule9990 deny 放在一堆业务允许规则之后、全局 permit 之前;
全局rule 10000 permit ip兜底,任何未被前面业务规则放行的流量,即使匹配 9990 deny,依然会被最后一条允许放行。
六、修复方案(两种按需选择)
方案 1:把黑名单 deny 规则移到 ACL 最前面(推荐)
plaintext
acl number 3044
undo rule 9990
rule 0 deny ip source 10.74.32.0 0.0.31.255
原理:黑名单优先匹配,只要源属于 10.74.32.0/19,直接丢弃,不会走到后面业务放行与全局 permit。
方案 2:删除末尾兜底 permit(不推荐,容易误阻断运维)
plaintext
acl number 3044
undo rule 10000
默认 ACL 末尾隐含 deny all,未匹配任何允许规则的流量全部丢弃。
补充:acl3036 同样存在相同缺陷
acl3036 里 rule9990 deny 也在业务规则后、rule10000 permit 前,10.74.32.0/19 网段访问 10.74.36.0/24 同样不会被拦截,建议同步调整规则顺序。
七、补充验证命令
plaintext
# 查看流量是否匹配对应ACL规则计数
display acl 3044
# 查看VLANIF出方向ACL绑定关系
display packet-filter interface Vlan-interface 1044
# 测试流量并抓ACL计数增量,确认命中哪条rule
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论