提示
X
本案例来自tskb,请前往tskb修改源内容:立即前往
'>

【AF】新架构packet-trace命令进行报文跟踪方法介绍

|

问题描述

新架构packet-trace命令进行报文跟踪方法介绍

解决方案

packet-trace命令用于跟踪报文在设备上的处理情况,可用于日常的流量不通的排障。
packet-trace命令可以在前端控制台和ssh账号登录后执行命令,具体见:进入命令行方法
需要在config模式下进行packet-trace配置, 首先执行config即可进入config模式。
在config模式中可以新增一个packet-trace配置来过滤想要排障的流量信息,可通过如下字段去配置要过滤的流量:
  1. admin(config)# packet-trace name testroute  
  2. admin(config-name-testro~)#
  3.   arp-sender-ip                            arp发送方ipv4地址过滤
  4.   arp-sender-mac                           arp发送方Mac地址过滤
  5.   arp-target-ip                            arp目标方ipv4地址过滤
  6.   arpop                                    arp操作过滤
  7.   device                                   配置设备过滤
  8.   dstip                                    目的主机ip过滤
  9.   dstmac                                   目的mac过滤
  10.   dstport                                  目的端口过滤
  11.   ethertype                                二层协议过滤
  12.   inifname                                 入接口过滤
  13.   inport                                   物理入接口过滤
  14.   ip                                       主机ip过滤
  15.   mac                                      mac过滤
  16.   outport                                  物理出接口过滤
  17.   pcap                                     抓包接口过滤
  18.   port                                     端口过滤
  19.   ppp-protocol                             ppp协议过滤
  20.   protocol                                 三层协议过滤
  21.   srcip                                    源主机ip过滤
  22.   srcmac                                   源mac过滤
  23.   srcport                                  源端口过滤
复制代码
如下,配置一个packet-trace规则,目的ip为22.22.22.25,协议为icmp,配置完成后,通过packet-trace on命令打开packet-trace 功能。
  1. admin(config)# packet-trace name testroute
  2. admin(config-name-testro~)# dstip 22.22.22.25
  3. admin(config-name-testro~)# protocol icmp
  4. admin(config-name-testro~)# exit
  5. admin(config)# packet-trace on
复制代码
完成过滤规则配置后,执行debug dataplane(如果没有添加packect-trace,不可执行该命令,容易搞挂设备)命令即可开始过滤对应报文的处理信息,通过执行undebug dataplane可以关闭打印。
如果要删除packet-trace规则,执行no packet-trace name XXX 即可,若要删除packet-trace规则前,务必先关闭打印,否则删除规则后会出现大量日志输出,影响业务
以下为具体几个可通过packet-trace的调试信息分析丢包原因举例:
如下输出,可以看出报文因路由查找失败被丢弃


如下输出,可以看出报文因acl策略拒绝被丢弃


如下输出,可以看出报文在转发时,设备获取下一跳MAC地址失败,路由不可达:



建议与总结

常见丢包点  
名称解释解决方法
[local policy]local policy https drop跨接口使用使用webui访问其他接口,接口webui管理方式未开启开启接口webui管理方式
[local policy]local policy ping drop同上,接口ping未开启入、出接口都要开启ping
[local policy]local policy ssh drop同上,接口ssh未开启入、出接口都要开启ssh
[arp]packet cache is full没有学习到下一跳的arp,报文缓存满了排查下一跳IP正确性
[nat]snat after match, alloc nat resource fail匹配的snat端口资源不够用检查wan口IP数目和会话数量,一般在acl开启长连接情况下可能出现
[qos]cache is too much drop packet流控通道队列报文缓存满了检查流控配置,检查流量和出接口带宽是否匹配
[policy]policy appcontrol set drop报文匹配到拒绝的策略检查策略配置,是否为正确对包
[qos]enqueue perip fail流控单IP限制队列缓存满了检查流控配置,检查单IP流量大小
[route]packet route lookup fail报文查找路由失败检查路由配置
[ip4-input]ttl is 0收到ttl<=1的报文检查是否有环路
[arp]dst ip is not local iparp请求不是入接口IP
[output-send]vlan flood can't find out port二层泛洪没有找到出接口检查AF二层vlan配置
[ssf] policy drop插件丢包检查安全策略
[flow-fast]interface jumbo frame switch is disable收包巨帧报文,但是接口没有开启巨帧开关admin(config-interface-eth1)# jumbo enable
[flow-fast]input check process failed入接口报文校验失败一般是vlan没有放通,需要检查vlan配置
[ddos]deny for ipstat overflow报文频率超过DDos阈值被丢包或封锁检查DDos配置
[ha]local ha process check fail双机场景备机丢包备机策略,大部分报文不处理,一般只处理本机或协议报文
[flow-notip]vrouter drop bpdu packetbpdu报文二层放通,三层丢弃
[ddos]scan unknow port drop本机DDos拒绝非本地服务端口检查本机DDos配置
[input-packet]overload protect drop packetCPU过载丢包检查设备CPU使用情况,流量大小等

新手626351 发表于 2022-12-16 08:19
  

谢谢分享!好东西!!!
新手626351 发表于 2023-1-14 10:18
  
共享文章不错!!!!!!
张宇畅 发表于 2023-1-22 23:42
  
感谢分享新架构packet-trace命令进行报文跟踪方法介绍
新手626351 发表于 2023-1-24 10:30
  
感谢楼主分享,学习一下
暗夜星空 发表于 2023-2-1 10:00
  
坚持每日学习打卡
新手378833 发表于 2023-8-5 21:24
  
楼主分享的案例很实用,具有典型性,希望有更多这样的干货供我们学习参考,非常感谢!
新手378833 发表于 2023-8-5 21:26
  
学习学习学习!!!!!!!!
新手716814 发表于 2023-8-11 15:24
  
感谢楼主的精彩分享,有助工作!!!
新手115207 发表于 2023-8-29 09:05
  
感谢分享新架构packet-trace命令进行报文跟踪方法介绍

我要分享
文档编号: 222743
作者: admin
更新时间: 2023-01-11 18:56
适用版本: