全部博文(1015)
分类: 系统运维
2012-07-19 16:32:58
概述
在需要对Cisco设备上查看数据的流量传输情况的时候,我们可以用到的技术是IP Accounting,但是可以看出这个技术记录出的流量是非常简洁的,只能看到数据包的量,却看不到数据包的协议。下面有一项技术在IP Accounting的基础上增加了一些有用的附加功能,它不仅能记录数据的数量,并且还可以记录出协议等信息,这就是NetFlow。
Cisco开发的NetFlow共4个版本,分别是ver 1 ,ver 5,ver 8,ver 9,它们的特点是:
V9不向后兼容v8和v5,需要独立开启。
V8只支持聚合缓存,不支持新feature。
V5只支持主缓存,不支持新feature。
V1,不要使用,建议用5和9。
在网络设备上抓包,在每台设备上独立进行,不需要所有设备开启。
配置Netflow的条件:
(1)必须先开启路由功能,
(2)CEF必开
(3)并且会消耗额外CPU和内存资源。
Netflow抓的包包含:
IP-to-IP
IP-to- MPLS
Frame Relay
ATM
egress (outgoing)
下面7个参数相同即被认为是同一流,作相同记录,否则另作记录
(1)Source IP address
(2)Destination IP address
(3)Source port number
(4)Destination port number
(5)Layer 3 protocol type
(6)Type of service (ToS)
(7)Input logical interface
Netflow抓到的包可以向远程主机发送,发送时使用协议UDP,端口号默认为9996,这些远程主机的IP和端口号可以随意更改。
配置
说明:Netflow是基于接口开启的,在某个接口开启后,就在相应接口的相应方向抓取数据包,
在接口上开启Netflow时,有先决条件需要打开。
1.全局开启CEF(必开)
R1(config)ip cef
2.接口开启Netflow(可开多个接口)
(1)早于IOS版本12.2(14)S, 12.0(22)S, or 12.2(15)T的
r1(config)#int f0/0
r1(config-if)#ip route-cache flow
(2)等于或晚于IOS版本12.2(14)S, 12.0(22)S, or 12.2(15)T的
r1(config)#int f0/0
r1(config-if)#ip flow ingress
3.定义远程采集主机,(最多两台)
(1)定义远程IP地址,设备将抓过的数据包发向远程主机(默认端口为UDP 9991)
R1(config)Ip flow-export destination 10.1.1.2 90
(2)配置数据包源地址
R1(config)# ip flow-export source f0/0
4.定义Netflow版本
(1)全局定义Netflow版本(默认版本1,不同IOS支持的版本不同)
r1(config)#Ip flow-export ver 5
5.查看效果:
(1)在r2上ping R3的20.1.1.3
r2#ping 20.1.1.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.1.1.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/12 ms
r2#
(2)在R1上查看记录:
r1#sh ip cache flow
IP packet size distribution (10 total packets):
1-32 64 96 128 160 192 224 256 288 320 352 384 416 448 480
.000 .000 .000 1.00 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000
512 544 576 1024 1536 2048 2560 3072 3584 4096 4608
.000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000
IP Flow Switching Cache, 278544 bytes
2 active, 4094 inactive, 2 added
6 ager polls, 0 flow alloc failures
Active flows timeout in 30 minutes
Inactive flows timeout in 15 seconds
last clearing of statistics never
Protocol Total Flows Packets Bytes Packets Active(Sec) Idle(Sec)
-------- Flows /Sec /Flow /Pkt /Sec /Flow /Flow
SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts
Fa0/0 10.1.1.2 Fa0/1 20.1.1.3 01 0000 0800 5
Fa0/1 20.1.1.3 Fa0/0 10.1.1.2 01 0000 0000 5
说明:从以上结果可以看出,拥有很详细的数据包记录。
(3)查看更详细
r1#sh ip cache verbose flow
IP packet size distribution (10 total packets):
1-32 64 96 128 160 192 224 256 288 320 352 384 416 448 480
.000 .000 .000 1.00 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000
512 544 576 1024 1536 2048 2560 3072 3584 4096 4608
.000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000
IP Flow Switching Cache, 278544 bytes
0 active, 4096 inactive, 2 added
32 ager polls, 0 flow alloc failures
Active flows timeout in 30 minutes
Inactive flows timeout in 15 seconds
last clearing of statistics never
Protocol Total Flows Packets Bytes Packets Active(Sec) Idle(Sec)
-------- Flows /Sec /Flow /Pkt /Sec /Flow /Flow
ICMP 2 0.0 5 100 0.0 0.0 15.0
Total: 2 0.0 5 100 0.0 0.0 15.0
SrcIf SrcIPaddress DstIf DstIPaddress Pr TOS Flgs Pkts
Port Msk AS Port Msk AS NextHop B/Pk Active
r1#
并且看到协议也有所记录。
(4).可清除总记录
R1#clear ip flow stats
6.聚合参数
说明:可以将数据包中某些需要的数据聚合后显示,比如BGP AS号码,或者前缀等信息
(1)配置聚合BGP AS(事先配好BGP)
r1(config)#ip flow-aggregation cache as 进入聚合配置模式
r1(config-flow-cache)#cache entries 2000 配置可聚合的最多条目
r1(config-flow-cache)#cache timeout inactive 200 配置不活动会话的超时时间
r1(config-flow-cache)#cache timeout active 50 配置活动会话的时间
r1(config-flow-cache)#enabled 开启
(2)配置记录中Origin-as 在源和目的中包含as
R1(config)#ip flow-export version 5 peer-as
7.查看结果:
(1)从R2 ping r3
R2#ping 20.1.1.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.1.1.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/8 ms
R2#
(2)查看记录:
r1#sh ip cache flow aggregation as
IP Flow Switching Cache, 132104 bytes
4 active, 1996 inactive, 4 added
398 ager polls, 0 flow alloc failures
Active flows timeout in 50 minutes
Inactive flows timeout in 200 seconds
Src If Src AS Dst If Dst AS Flows Pkts B/Pk Active
Fa0/1 30 Fa0/0 0 1 10 100 0.9
Fa0/0 0 Fa0/1 30 1 10 100 0.9
r1#
说明:可以看到拥有的AS记录情况。