• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

需要实现访客可以访问外网但禁止访问内网

1天前提问
  • 0关注
  • 0收藏,83浏览
粉丝:0人 关注:0人

问题描述:

请问这样写为什么ACL没生效? 访客还是可以Ping通内网,acl也没有匹配次数

interface Vlan-interface19

 description Corp-Guest

 ip address 10.187.19.254 255.255.255.0

 packet-filter 3000 inbound

#

acl advanced 3000

 rule 5 deny ip source 10.187.19.0 0.0.0.255 destination 10.187.0.0 0.0.255.255

 rule 10 permit ip

#

 

6 个回答
粉丝:96人 关注:11人

acl限制 


方向改一下试试

改成outbound也不行

骑牛看流星 发表时间:1天前 更多>>

改成outbound也不行

骑牛看流星 发表时间:1天前
粉丝:0人 关注:8人

您好!根据您提供的ACL配置,可能存在以下几种原因导致ACL没有生效:

1. ACL规则顺序:确保ACL规则顺序正确。在H3C设备中,ACL规则的优先级是从高到低排列的。如果您的拒绝规则(rule 5)在允许规则(rule 10)之前,那么它将不会生效。您可以将规则调整顺序,确保拒绝规则在允许规则之前。

2. 接口配置模式:确保您在正确的接口配置模式下进行配置。通常情况下,ACL需要在接口的路由模式或桥接模式下进行配置。

3. IP地址范围:检查您配置的IP地址范围是否正确。确保`10.187.0.0`和`10.187.255.255`之间的范围是您想要限制的访客IP地址。

4. 路由协议:如果您的设备启用了路由协议(如OSPF、BGP等),请确保这些协议没有覆盖或修改您的ACL规则。

5. 其他ACL规则:检查是否有其他ACL规则与您冲突,或者是否有其他ACL规则被更高优先级的规则覆盖。

您可以尝试以下步骤进行排查:

1. 确认接口配置模式是否为路由模式或桥接模式。
2. 检查ACL规则顺序,确保拒绝规则在允许规则之前。
3. 确认IP地址范围是否正确。
4. 检查是否有其他ACL规则与您冲突。

如有需要,请提供更多信息。

粉丝:5人 关注:0人

1. ACL统计未开启

在H3C设备上,默认情况下ACL规则不会记录匹配次数。你需要为规则开启计数功能,才能看到是否命中。如果没有开启,执行 display acl 3000 看到的匹配次数可能始终为0,即使规则实际生效了。

2. 流量未经过VLAN接口的inbound方向

  • 场景:访客PC与网关(10.187.19.254)处于同一网段,当访客访问内网(如10.187.20.1)时,流量首先通过二层到达网关,然后由网关进行三层转发。理论上,流量进入VLAN接口(网关)的inbound方向时会被ACL检查。

  • 例外:如果访客访问的是同网段的其他访客PC,则流量只在二层交换,不会经过VLAN接口的inbound方向,ACL自然不生效。但用户明确是ping内网,所以应该是跨网段访问。

  • 可能问题:如果访客PC的默认网关不是10.187.19.254,或者网络中存在其他路由导致流量走了别的路径,则不会经过该VLAN接口。

3. ACL应用方向有误

你应用的是 inbound,检查进入VLAN接口的流量。对于访客发往内网的包,这是正确的。但如果你在测试时是从内网ping访客,那流量方向是相反的(内网→访客),此时需要应用 outbound 或在内网侧接口上应用 inbound。但用户描述是“访客可以ping通内网”,说明是访客主动发起,所以方向正确。

4. ACL规则中的地址范围不匹配

  • 源地址:10.187.19.0 0.0.0.255 正确匹配访客网段。

  • 目的地址:10.187.0.0 0.0.255.255 匹配 10.187.0.0/16 整个B段。如果内网地址不在这个范围内(比如是 10.188.x.x),则规则不会匹配。请确认内网地址是否确实属于 10.187.0.0/16

5. 规则顺序问题

当前规则5是deny,规则10是permit any。如果规则5没有匹配,就会匹配规则10,从而允许所有流量。所以关键在于规则5为什么不匹配。

6. 设备硬件转发与ACL资源问题

某些交换机可能由于硬件资源不足(如ACL资源耗尽)导致新配置的ACL未下发到硬件,表现为规则不生效。可以检查ACL资源使用情况。

🛠️ 排查与解决步骤

第一步:开启ACL规则计数并测试

在ACL视图下为规则添加计数功能:

acl advanced 3000
rule 5 deny ip source 10.187.19.0 0.0.0.255 destination 10.187.0.0 0.0.255.255 counting rule 10 permit ip counting保存配置后,再次从访客PC ping内网地址,然后查看ACL统计:
display acl 3000
观察 rule 5 的匹配次数是否增加。如果增加,说明ACL已生效,只是之前未开启统计。如果不增加,继续下一步。

第二步:确认流量路径

在访客PC上执行 tracert <内网IP>(Windows)或 traceroute <内网IP>(Linux),查看第一跳是否为 10.187.19.254。如果不是,说明默认网关设置有误,需将访客PC的网关指向 10.187.19.254

第三步:检查ACL应用状态

登录交换机,进入VLAN接口视图,确认ACL已正确应用:

interface Vlan-interface19
display this应显示 packet-filter 3000 inbound。如果命令存在但怀疑未生效,可以尝试重新应用:
undo packet-filter 3000 inbound
packet-filter 3000 inbound第四步:在物理端口上应用ACL(备选方案)

如果VLAN接口上的ACL始终不生效,可以考虑在连接访客的接入端口上应用ACL inbound,直接在二层入口阻断访客访问内网的流量。但注意,在物理端口上应用ACL需要匹配所有访客流量,且要确保不影响其他VLAN。配置示例:

interface GigabitEthernet1/0/1 # 连接访客的端口
port access vlan 19 packet-filter 3000 inbound但这样每个访客端口都要配置,不够灵活。建议优先解决VLAN接口ACL的问题。

第五步:检查ACL资源

执行以下命令查看ACL资源是否充足:

display acl resource
如果资源不足,可能需要优化现有ACL或升级设备。

第六步:检查是否有其他规则覆盖

如果在其他位置(如全局、物理端口)应用了允许的ACL,可能会覆盖此处的deny。检查所有接口的ACL应用情况。

粉丝:43人 关注:1人

调用在物理接口

粉丝:6人 关注:1人

vlanif接口不生效就在物理口上调用试试,配置是没问题的

军刺 五段
粉丝:3人 关注:0人

一、核心问题分析

1. 最关键:Ping 基于 ICMP 协议,你的 ACL 只拦截了 IP(不包含 ICMP)

deny ip 规则仅匹配 TCP/UDP 等基于 IP 承载的协议,但 Ping 使用的是 ICMP(互联网控制报文协议)ICMP 属于 IP 协议簇但不属于 ip 报文类型(ACL 中 ip 特指 TCP/UDP/SCTP 等),因此 rule 5 deny ip 根本拦截不到 Ping 包。

2. ACL 应用方向 / 位置可能存在逻辑偏差

packet-filter 3000 inbound 是在 Vlan-interface19 入方向应用 ACL,这个方向本身没问题,但如果访客网关不在此接口(比如走其他三层接口),ACL 也不会生效。

3. 无匹配次数的直接原因

规则未命中任何流量 → 要么协议不匹配,要么源 / 目的网段写反,要么方向错。

4. 兜底规则 rule 10 permit ip 无风险,但需确保前序规则能命中

这条规则是允许所有未被拦截的流量,本身没问题,但前提是前面的拦截规则能正确命中。

二、修复后的完整配置(可直接复制使用)

interface Vlan-interface19

 description Corp-Guest

 ip address 10.187.19.254 255.255.255.0

 packet-filter 3000 inbound  # 入方向应用 ACL 保留,方向正确

#

 

acl advanced 3000

 # 第一步:先拦截 ICMPPing 核心协议),包含请求和响应

 rule 5 deny icmp source 10.187.19.0 0.0.0.255 destination 10.187.0.0 0.0.255.255

 # 第二步:拦截访客网段到内网的所有 IP 流量(TCP/UDP 等)

 rule 6 deny ip source 10.187.19.0 0.0.0.255 destination 10.187.0.0 0.0.255.255

 # 第三步:兜底允许其他流量(比如访客访问外网)

 rule 10 permit ip

 

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明