能ping通但tracert全是星号,而且你已经开启了 ip unreachables enable 和 ip ttl-expires enable,这说明问题不在基础配置,而在于防火墙生成了ICMP超时报文,但在发出或回程时被丢弃了。
这是最常见的原因。H3C防火墙的攻击防范功能中,有一个针对 Traceroute 的签名检测,它会主动丢弃 Traceroute 探测报文或回应的 ICMP 超时报文。
关键点:你在Web界面看到攻击防范是空的,不代表命令行下没有配置。部分防御策略可能通过命令行下发,但未在Web界面同步显示。
请在防火墙命令行执行以下命令确认:
如果输出中包含 firewall defend tracert 或 signature detect traceroute action drop,这就是根因。
解决方法:关闭该功能
有案例显示,删除 signature detect traceroute action drop logging 后,tracert 回显立即恢复正常。
如果你的防火墙对出方向流量做了 NAT(源地址转换),那么 ICMP 超时报文(Type 11)在经过 NAT 时,需要 ALG(应用层网关)辅助进行地址转换。如果 NAT ALG 未开启,ICMP 差错报文可能无法正确回送到发起 tracert 的终端。
确认方法:
解决方法:在系统视图下开启
官方案例明确指出,在防火墙上开启 nat alg icmp-error 后,NAT 场景下的 tracert 下一跳信息恢复正常显示。
虽然你提到攻击防范为空,但仍需确认安全策略或域间策略是否放行了 ICMP 超时报文。
Traceroute 依赖的 ICMP 超时报文,其 Type = 11。如果策略中只放行了 ping(Type 8/0),而没有放行 Type 11,回程报文会被丢弃。
检查方法:
确认策略中是否有类似 permit icmp-type ttl-exceeded(即 Type 11)的放行规则。
如果以上检查都正常,可以在终端发起 tracert 的同时,在防火墙上执行以下命令,观察报文被哪个模块丢弃:
有案例中,正是通过 debugging firewall packet-filter all 发现报文被丢到了 InLoopBack0,从而定位到是“路由跟踪防范”功能导致的。
display current-configuration | include icmp敲下去只有service icmp-traceroute这一个
你tracert的是哪里的地址,没有回显是因为中间设备没有开启回显
2个都是内网的地址,我在防火墙上tracert -a 内网地址和目标内网地址回显是****但ping那些也是带的源地址是正常的
兄弟 -a后面是跟你的防火墙地址的 目的地址是你内网地址
现象:防火墙命令行本机发起 tracert(带‑a 指定源),全程全部星号;ping 同一目标完全通;
ip unreachables enable、ip ttl‑expires enable全局已开启;攻击防范为空;能看到 UDP 探测会话表。
核心原理区分
Local安全域,必须有安全策略允许该 ICMP 差错报文进入 Local 域,否则直接丢弃,输出***。service icmp‑traceroute:只管控【穿越防火墙转发的业务流量】,对防火墙本机发起的 tracert 完全无效,有这条配置也解决不了本机 tracert 问题。#1.查看去往Local域的全部安全策略,重点看是否放行ICMP差错报文
display security‑policy rule source‑zone any destination‑zone local
#2.开启ICMP调试,复现tracert,看防火墙能否收到中间设备返回的Type11报文
debugging ip icmp
terminal debugging
terminal monitor
#复现 tracert -a 源IP 目标IP
undo debugging all
#3.查看会话表,确认UDP探测报文有会话,ICMP‑type11不会生成对应UDP反向会话
display firewall session table verbose | include udp
#4.测试不带‑a参数,使用出接口IP作为源,对比现象
tracert x.x.x.x
#5.使用‑p固定UDP目的端口,规避IPS/特征识别UDP扫描丢弃
tracert -a 源IP -p 50000 x.x.x.x
any‑>local安全策略没有放行 ICMP 差错报文,报文到达防火墙就被安全策略丢弃(最高概率)。ip ttl‑expires enable,中间节点本身就不回复 TTL 超时报文。如果
display security‑policy rule source‑zone any destination‑zone local输出没有允许 ICMP 的规则,会直接复现该故障。
system‑view
security‑policy
#测试策略,允许所有域去往Local域的ICMP报文,复现tracert看是否恢复
rule name PERMIT_ICMP_TO_LOCAL
source‑zone any
destination‑zone local
service icmp
action permit
quit
⚠️生产环境不要永久配置 any→local 全放 ICMP;定位故障后,细化策略,仅放行
ICMP Type‑3、Type‑11差错报文,缩小安全面。
icmp deny,拦截入方向 ICMP 差错报文。display current‑configuration interface GigabitEthernet 1/0/x | include icmp
display current‑configuration | include signature‑detect
现象:不带‑a 源正常;带‑a 内网源 IP 就全部 *。解决:本机 tracert 尽量不指定内网源 IP;或者配置 NAT 回流处理本机源 NAT 场景。
表格
| 现象 | 根因 |
|---|---|
| 不带‑a 正常;带‑a 内网源就全部 * | 本机 tracert 带内网源触发源 NAT,返回 ICMP type11 目的 IP 为转换后 IP,报文匹配异常 |
| 无论是否带‑a,全部 *;debug 看不到 type11 报文 | *‑>Local安全策略未放行 ICMP 差错报文(最常见) |
| debug 能看到 type11 报文打印,但 tracert 依旧 * | 固件版本 bug,建议升级版本 |
| debug 看不到 type11,调整 local 策略也无效 | 中间三层设备关闭 ip ttl‑expires enable,中间节点本身不返回 TTL 超时报文 |
补充:
display firewall session table ipv4 destination‑ip只能看到本机向外发出的 UDP 探测会话;ICMP‑Type11 差错报文不会继承 UDP 会话,不会出现在这条会话中,所以能看到 UDP 会话,但 tracert 依旧全部星号,这是该故障典型迷惑现象。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
display current-configuration | include icmp敲下去只有service icmp-traceroute这一个