分享是一种生活态度,求知,求真,分享工作,分享生活!

ASA对2种方式Traceroute报文的处理

Cisco iqianyue 1499次浏览 0个评论 扫描二维码

tracert

问题描述

ASA丢弃某些LINUX主机的traceroute报文。

ASA对于Traceroute报文的处理机制

Traceroute报文工作机制分为两种:基于UDP端口以及基于ICMP。
基于UDP端口的traceroute需要在ACL中打开相应UDP端口。
基于ICMP的traceroute稍显复杂。ASA默认情况下将ICMP报文看做无状态的连接,因此如果需要通过ICMP报文,例如在 traceroute中,其反方向的回包为ICMP的time-exceeded包,因此需在接口用ACL允许该报文,否则traceroute将失败。 另一种方法是配置ICMP Inspection. 一旦配置了ICMP Inspection,ASA会将ICMP会话看做有状态的连接,从而允许返回流量。而由于traceroute报文利用了ICMP的time- exceeded错误作为其工作机制,因此需要同时打开ICMP ERROR的Inspection.

故障排除步骤

  1. 检查主机使用的是基于UDP端口的traceroute还是基于ICMP time-exceeded的traceroute。
  2. 如果是基于UDP端口的traceroute,需要在ACL中打开相应端口,从UDP的33434开始,每次加1。一般LINUX主机用 的是基于UDP的traceroute,而微软的操作系统大多用基于ICMP的traceroute。如果要修改LINUX主机的traceroute成 为基于ICMP的,可在trace时加上-I 关键字:

  1. 如果是基于ICMP的traceroute,则推荐打开icmp以及icmp error的inspection:

总结

  1. 首先需要弄清主机使用何种机制traceroute,是基于ICMP的还是UDP端口的。
  2. 在ACL中允许相应的流量通过,必要时将ICMP连接看做有状态的连接。
  3. 查看log,并进行抓包分析。

iqianyue , 版权所有丨如未注明 , 均为原创,转载请注明iqianyue
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论

表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址