ACL需求如下:
Guest 网段 是 10.100.38.0/23 和 10.100.48.0/23 ,不能访问内网 10.100.0.0/16 ,仅放行上互联网10.100.40.12。默认保底是全放通。
#
acl number 3010
rule 1 permit ip source 10.100.38.0 0.0.1.255 destination 10.100.40.12 0
rule 2 permit ip source 10.100.48.0 0.0.1.255 destination 10.100.40.12 0
rule 4 deny ip source 10.100.38.0 0.0.1.255 destination 10.100.0.0 0.0.255.255
rule 5 deny ip source 10.100.48.0 0.0.1.255 destination 10.100.0.0 0.0.255.255
rule 35 permit ip
#
interface Vlan-interface38
description SSID_LG-Guest
ip address 10.100.38.1 255.255.254.0
packet-filter 3010 inbound
#
interface Vlan-interface48
description SSID_LG-Guest2
ip address 10.100.48.1 255.255.254.0
packet-filter 3010 inbound
#
最终测试10.100.38.0/23、10.100.48.0/23还是可以正常访问内网10.100.0.0/16
一、核心故障根源(2 个致命问题叠加)
问题 1:ACL 规则顺序逻辑错误(最高优先级问题)
当前规则顺序:
允许访问互联网网关 10.100.40.12
拒绝访问内网 10.100.0.0/16
末尾全允许
流量匹配逻辑:Guest 访问内网 10.100.0.0/16 时,会匹配 rule5 拒绝,理论拦截;但你同时把 ACL 绑定在 VLANIF 入方向,存在第二个关键漏洞。
问题 2:packet-filter inbound 绑定 VLANIF 入方向,只能拦截本 VLAN 内终端主动进三层接口的流量,无法拦截 VLAN 间三层转发回程流量
S10506X-G V7 平台机制:
packet-filter inbound 在 Vlan-interface 入方向:仅过滤从该 VLAN 终端发往三层接口的上行报文;
内网 10.100.0.0/16 主动发起访问 Guest 网段、或者内网回包给 Guest 时,报文是其他 VLANIF 入、Vlan38/48 出,不会经过 Vlan38/48 的 inbound 过滤;
你的需求是双向阻断 Guest 与内网互通,仅绑定 inbound 只能拦 Guest 主动访问内网,无法拦截内网主动访问 Guest,且存在路由转发旁路;
更深层:你的放行网关 10.100.40.12 属于10.100.0.0/16大网段!!
10.100.40.12 落在 10.100.0.0/16 范围内,rule1/rule2 放行网关的规则优先级高于 rule4/rule5 拒绝内网,设备匹配逻辑:
Guest 访问 10.100.0.0/16 任意地址时,只要目的是 10.100.40.12 匹配允许;其余 10.100.0.0/16 地址匹配拒绝。
但如果测试时出现能访问内网,本质是:
1)10.100.40.12 属于内网大段,规则冲突覆盖;
2)仅 inbound 绑定只能管控 Guest 主动出,内网主动进 Guest 网段无过滤;
3)规则掩码书写无错误:10.100.38.0 0.0.1.255 正确匹配 / 23 网段。
二、规则冲突拆解(关键)
目标网段 10.100.40.12 包含在 10.100.0.0/16 里:
rule1:允许源 Guest → 目的 10.100.40.12
rule4:拒绝源 Guest → 目的 10.100.0.0/16
当报文目的是 10.100.40.12,优先匹配 rule1 直接放行,不会走到 rule4;但目的是 10.100.1~10.100.39、10.100.41~10.100.255 会匹配 rule4 拒绝。
如果你测试时访问的内网地址恰好是网关同段,会误以为全部内网都能通。
三、两种标准修复方案(推荐方案 1,最严谨)
方案 1:调整 ACL 规则顺序,精准隔离(推荐)
思路:先拒绝内网大段,再放行互联网网关,解决网段包含冲突;同时 VLANIF 双向绑定过滤,拦截双向流量。
plaintext
acl number 3010
# 1. 先拒绝所有访问内网10.100.0.0/16
rule 1 deny ip source 10.100.38.0 0.0.1.255 destination 10.100.0.0 0.0.255.255
rule 2 deny ip source 10.100.48.0 0.0.1.255 destination 10.100.0.0 0.0.255.255
# 2. 例外放行互联网网关(拒绝规则之后,作为特例)
rule 10 permit ip source 10.100.38.0 0.0.1.255 destination 10.100.40.12 0
rule 11 permit ip source 10.100.48.0 0.0.1.255 destination 10.100.40.12 0
# 兜底全放通
rule 35 permit ip
接口绑定双向过滤(解决内网主动访问 Guest 无拦截)
plaintext
# Vlan38同时绑定入、出方向,双向管控
interface Vlan-interface38
packet-filter 3010 inbound
packet-filter 3010 outbound
# Vlan48同理
interface Vlan-interface48
packet-filter 3010 inbound
packet-filter 3010 outbound
方案 2:拆分目的网段,精准区分网关与内网(无规则顺序依赖)
不调整顺序,修改拒绝规则排除网关地址,适合不愿改现有 rule 序号场景:
plaintext
acl number 3010
# 放行网关不变
rule 1 permit ip source 10.100.38.0 0.0.1.255 destination 10.100.40.12 0
rule 2 permit ip source 10.100.48.0 0.0.1.255 destination 10.100.40.12 0
# 拒绝内网时排除10.100.40.12
rule 4 deny ip source 10.100.38.0 0.0.1.255 destination 10.100.0.0 0.0.255.255 destination-not 10.100.40.12 0
rule 5 deny ip source 10.100.48.0 0.0.1.255 destination 10.100.0.0 0.0.255.255 destination-not 10.100.40.12 0
rule 35 permit ip
接口依旧需要双向绑定 packet-filter inbound+outbound。
四、验证 ACL 是否生效排查命令
查看 ACL 匹配计数,确认拒绝规则有命中:
plaintext
display acl 3010
matched 数值增长代表流量匹配到规则;若 rule4/5 计数始终 0,说明流量没走到拒绝规则(网段包含冲突)。
2. 查看接口包过滤绑定状态:
plaintext
display packet-filter interface Vlan-interface 38
display packet-filter interface Vlan-interface 48
确认 inbound、outbound 均已绑定 3010。
3. 测试流量分段验证:
测试 1:Guest 终端 ping 10.100.40.12 → 通(预期)
测试 2:Guest 终端 ping 10.100.10.10(内网业务地址)→ 不通(修复后预期)
五、极简总结
核心冲突:互联网网关 10.100.40.12 属于内网 10.100.0.0/16 大段,放行规则优先级高于拒绝规则,导致内网网关段能访问;
绑定缺陷:仅 inbound 入方向过滤,只能拦截 Guest 主动上行,内网主动访问 Guest 无拦截,必须加 outbound;
最优修复:调整 ACL 规则顺序,先拒绝内网、再放行网关,接口双向绑定 packet-filter。
请问下需要怎么修正呢
请问下需要怎么修正呢
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明