F5 BIG-IP V9产品的故障处理手册
4.5. 网络设备通常有收集系统信息的宏命令,F5有没有相应命令?
与华为路由器“display base-information”、华为交换机“display diagnostic-information”、思科“show tech-support”和NetScreen防火墙“get tech-support”命令类似,BIG-IP系统也有对应信息收集工具叫F5 Qkview Diagnostic Tool。在CLI界面中执行“qkview”,Qkview工具执行完成后将输出信息保存在文件/var/tmp/
在进行故障诊断和寻求高级技术支持,别忘了执行本命令。
可以通过Web界面执行qkview命令全面采集系统日志信息并下载下来。 通过Qkview工具可以采集BIG-IP上的配置信息及日志信息,以供离线的故障诊断。
如果可以通过Web界面进行管理,则可由System?Support中
运行Qkview工具,运行过程如下:
Qkview运行过程大概会持续3至5分钟,执行结果如下:
2014-3-17
F5 Networks China 第22页, 共44页
F5 BIG-IP V9产品的故障处理手册
点击Download下载Qkview的输出文件 。
注意修改下载文件的文件名以免双机的文件重名冲突。
4.6. 如何查询设备的序列号?
负载均衡器的序列号可能从设备前面板右边的机架安装处获得,是在一个条形码标签下面以bip开头的一串字串。如果设备已经上架,不方便查看设备的序列号的话,也可以通过License文件,获取设备的序列号。License文件保存在/config/bigip.license文件中。在文件中搜寻以下信息:
Registration Key : JSUIF-IISEN-YSJWQ-JRRVP-LIVYDKE Licensed version : 9.2.3 Platform ID : C62a
Appliance SN : Registration Key : JSUIF-IISEN-YSJWQ-JRRVP-LIVYDKE Licensed version : 9.2.3 Platform ID : C62a Appliance SN : bip083200s
其中的bip083200s即为设备的序列号。
2014-3-17
F5 Networks China 第23页, 共44页
F5 BIG-IP V9产品的故障处理手册
4.7. 如何使用TCPDUMP进行Troubleshooting?
当业务无法正常工作时,经常需要在BIG-IP上抓包进行分析定位是什么原因导致数据包没有被常转发。BIG-IP上提供了TCPDUMP抓包分析工具。
TCPDUMP是Unix系统常用的报文分析工具,TCPDUMP经常用于故障定位,如会话保持失效、SNAT通信问题等。本文讲述TCPDUMP命令的基本用法,更详细的使用说明请参见“man tcpdump”。
命令语法:
tcpdump [ -adeflnNOpqRStvxX ] [ -c count ] [ -F file ] [ -i interface ] [ -m module ] [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ] [ -E algo:secret ] [ expression ]
其中:
?
-i
报文捕获监听的接口,如果不指定,默认为系统最小编号的接口(不包括loop-back接口),
一般对指定Vlan名称进行监控,如-i external 是对external vlan进行监控;也可以对指定端口进行监控如 –i 1.1。注意:当vlan 名称过长时,-i后面直接用vlan名称,tcpdump会出现错误提示,这时需要将vlan名改由vlan加vlan ID代替。如有一vlan名称为bip_external,vlan ID为2022,如要对bip_external vlan进行监听,需采用-i vlan2022的方式。 ?
-nn 不将IP地址或端口号转化为域名或协议名称
注:与BIG-IP 4.5版本的TCPDUMP命令不一样,在BIG-IP V9里面必须用两个nn才能使IP地址与端口不会被转化为域名或协议名称显示。
? ? ?
-r -s -w
从文件中读取(该文件由-w选项创建) 确定捕获报文大小
直接将捕获报文写入文件,而不是对其进行解析并通过屏幕显示(与-r选项对应)
注:如果要将TCPDUMP所抓的包保存到文件,建议采用-s1600 –w /var/tmp/filename的方式,-s1600可以保证抓取完整的数据包,而/var/tmp使抓包文件保存在/var/tmp目录。
? ? ?
-x -X
每个报文以十六进制方式显示 每个报文同时以文本和十六进制显示
expression 匹配表达式的分组将进行解析。如果不指定表达式,系统对所有分组进行捕获分析。
F5 Networks China
第24页, 共44页
2014-3-17
F5 BIG-IP V9产品的故障处理手册
复杂表达式可以使用“and”与、“or”或以及“not”非操作进行组合。表达式有三种: ? ? ?
type dir
三种种类:host、net和port。比如:host 10.1.1.1。如果不指定类型,默认为host。 有src、dst、 src or dst和src and dst四种方向。默认为src or dst,即双向。
proto 常见协议有:ip、arp、tcp、udp、icmp等。如果不指定协议类型,默认为所有协议。
举例1:对external接口主机139.212.96.2并且端口为1433的流量进行监控。端口不指定tcp和udp,默认为同时对tcp和udp进行报文捕获。本命令不解析IP地址/端口号为主机名/服务名称,同时显示报文十二进制和文本信息,报文最大为1500字节。
f5-1:~# tcpdump -i external -nn -X -s 1600 port 1433 and host 139.212.96.2 tcpdump: listening on external 21:48:41.295546 139.212.96.2.1201 > 10.75.9.44.1433: . 302192826:302192827(1) ac
k 558871968 win 64360 (DF) 0x0000 012c 0800 4500 0029 38cf 4000 7f06 c3b2 .,..E..)8.@..... 0x0010 8bd4 6002 0a4b 092c 04b1 0599 1203 18ba ..`..K.,........ 0x0020 214f b5a0 5010 fb68 a926 0000 00 !O..P..h.&... 21:48:41.296015 10.75.9.44.1433 > 139.212.96.2.1201: . ack 1 win 64636 (DF) 0x0000 012c 0800 4500 0028 cb2d 4000 7f06 3155 .,..E..(.-@...1U 0x0010 0a4b 092c 8bd4 6002 0599 04b1 214f b5a0 .K.,..`.....!O.. 0x0020 1203 18bb 5010 fc7c a812 0000 0000 0000 ....P..|........ 0x0030 0000 ..
21:48:50.701130 139.212.96.2.1206 > 10.75.9.44.1433: . 304974934:304974935(1) ac
k 565108263 win 64882 (DF) 0x0000 012c 0800 4500 0029 38f7 4000 7f06 c38a .,..E..)8.@..... 0x0010 8bd4 6002 0a4b 092c 04b6 0599 122d 8c56 ..`..K.,.....-.V 0x0020 21ae de27 5010 fd72 0a6b 0000 00 !..'P..r.k... 21:48:50.702567 10.75.9.44.1433 > 139.212.96.2.1206: . ack 1 win 65267 (DF) 0x0000 012c 0800 4500 0028 d3a6 4000 7f06 28dc .,..E..(..@...(. 0x0010 0a4b 092c 8bd4 6002 0599 04b6 21ae de27 .K.,..`.....!..' 0x0020 122d 8c57 5010 fef3 08ea 0000 0000 0000 .-.WP........... 0x0030 0000 ..
举例2:对internal接口主机172.31.230.53和172.31.230.51之间端口8080的流量进行分组捕获。本命令不解析IP地址/端口号为主机名/服务名称,报文最大为1600字节,捕获信息以“/var/tmp/intdump”文件保存:
2014-3-17
F5 Networks China
第25页, 共44页
F5 BIG-IP V9产品的故障处理手册
tcpdump -s 1600 -i internal -w /var/tmp/intdump host 172.31.230.53 and host 172.31.230.51 and port 8080
如果查看该捕获文件,请用tcpdump –r /var/tmp/intdump命令。也可以将捕获的文件下载下来用Ethereal工具解包分析。
4.8. 对某一Virtual Server用TCPDUMP命令无法抓到包如何处理?
可能是该Virtual Server的属性中选用了Performance Layer4类型,导致数据包由四层加层ASIC芯片处理而没有流经CPU引起,碰到这种情况,选取该Virtual Server将type由Performance Layer4临时改为Standard再来用TCPDUMP命令抓包,抓包以后,改回到Performance Layer4。
4.9. TCPDUMP出现“truncated-ip - 1215 bytes missing!”信息是
不是说明网络上有丢包?
在BIG-IP V9里面出现”Truncated-IP xxxx bytes missing”信息,一般来说并不是网络上有丢包引起的,而是在执行TCPDUMP命令时没有加上 –s0或-s1600参数时,而数据包大小超过TCPDUMP缺省的抓包大小(如果不加-s0或-s1600参数,则缺省的每个数据包只抓前面400byes),就会出现truncated-ip的情况。出现这种情况,只需要重新输入tcpdump命令,加上-s0或-s1600即可。
4.10. TCPDUMP 命令中的-i interface中的interface用VLAN名称
(如external或internal)与接口编号(1.1或2.1)有什么区别?
如果采用VLAN名称作为-i的参数,TCPDUMP收集的数据包是经由内部接口到达TMM进程经由中央CPU处理的数据包。
2014-3-17
F5 Networks China 第26页, 共44页