acl number 3001
step 20
rule 21 deny ip destination 8.8.8.8 0
rule 22 deny ip source 8.8.8.8 0
rule 2000 permit ip
interface GigabitEthernet3/2/0/47
port link-mode route
description description Internet_F/W
ip address 10.238.51.10 255.255.255.248
ospf dr-priority 255
packet-filter 3001 inbound
packet-filter 3001 outbound
acl 配置了禁止访问8.8.8.8,在出接口上应用了,但交换机本身还是能ping通,什么原因
(0)
最佳答案
包过滤对访问交换机本机地址的报文通常不生效[4]。这是因为发往交换机本身的报文(例如用于Ping或SSH的ICMP/TCP报文)会上送CPU处理,交换机会优先匹配高优先级的系统规则,从而绕过用户配置的包过滤规则[4]。
如果需要限制对交换机本机的访问,可以参考以下替代方案:
# acl number 3000
rule 0 permit ip source 50.0.0.1 0 destination 50.0.0.2 0
#
policy-based-route 1 permit node 1
if-match acl 3000
apply output-interface NULL0
#
ip local policy-based-route 1(0)
(0)
暂无评论
交换机自身能ping通8.8.8.8,是因为你配置的packet-filter 无法过滤发往交换机自身的报文。
交换机的报文处理分为“转发”和“接收”两种路径,而packet-filter只作用于其中一种:
转发报文(会被过滤):指的是那些穿过交换机、目标不是交换机本身的流量。你配置的packet-filter就是用来过滤这类流量的。
接收报文(不会被过滤):指的是目的地址就是交换机自己(如管理IP)的流量。这类报文会直接上送CPU处理,并优先匹配系统自身的高优先级规则,从而绕过了用户配置的packet-filter。
所以,你在交换机上Ping 8.8.8.8,发出的ICMP请求和收到的回复都属于“接收报文”,因此不会被ACL拦截。
要实现“交换机本身也无法Ping通8.8.8.8”,可以尝试以下几种方法:
方法一:配置本地ACL(Local ACL)
这是最直接的方案,通过专门针对本地流量的ACL进行过滤。
配置后,再从交换机Ping 8.8.8.8,应该就会被阻止了。
方法二:使用本地策略路由(Local PBR)
此方法通过将去往8.8.8.8的报文扔进“黑洞”NULL0接口来实现丢弃,是纯软件实现,不占用ACL硬件资源。
方法三:升级版本并使用控制平面 policing(CoPP)
(0)
暂无评论
接口下 packet-filter 只过滤【穿越流量】,不会过滤交换机本机始发 / 本机接收流量!
交换机 CPU 自身发起 ping 8.8.8.8,属于本地流量,不受接口 inbound/outbound 的 packet-filter 管控,所以 ACL 不生效。
一、流量区分
穿越流量(终端转发流量)
内网 PC → 交换机 → G3/2/0/47 → 互联网
✅ 会被接口 packet-filter 拦截,ACL 生效。
交换机本机流量(当前场景)
交换机主控 CPU 发起 ping 8.8.8.8
❌ 接口 packet-filter 不控制本机流量,直接放行。
二、两种解决方案
方案 1:使用【控制平面 ACL】(acl 4000~4999,全局下发,推荐)
该 ACL 专门管控去往交换机 CPU、从 CPU 发出的本机流量
plaintext
acl number 4000
rule 10 deny ip destination 8.8.8.8 0
rule 20 deny ip source 8.8.8.8 0
rule 1000 permit ip
# 全局应用,过滤本机上行流量
packet-filter control-plane acl 4000 outbound
生效后:交换机自身 ping 8.8.8.8 直接不通。
方案 2:在 OSPF 默认路由 / 静态路由层面规避(备选)
如果仅想限制本机访问外网 DNS,可配置静态黑洞路由
plaintext
ip route-static 8.8.8.8 255.255.255.255 NULL 0
⚠️ 弊端:全网所有设备访问 8.8.8.8 都会被黑洞,不止交换机本机。
三、补充关键知识点(容易踩坑)
packet-filter inbound/outbound(接口视图)
只管控经过接口转发的数据平面流量,本机始发 / 上 CPU 流量不受限制。
packet-filter control-plane(系统视图)
专门管控控制平面流量(本机收发报文),匹配交换机自身 ping、telnet、ssh 等流量。
现有 ACL 3001 作用范围不变:内网终端跨交换机访问 8.8.8.8 依旧可以被拦截;仅管不了交换机本机。
(0)
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论