更新时间:2024-01-10                  
                  
                  1  NETFLOW配置  
1.1  NETFLOW概述  
Netflow技术可以提供内置在交换路径中的网络数据流统计功能,并可在最大限度减小对交换机性能影响的前提下提供详细的数据流统计信息。Netflow技术作为交换功能的一部分,能够为企业提供网络的性能规划、趋势分析以及数据优先级等方面的信息,这些统计信息包括用户、协议、端口和服务类型等。
通过分析网络中不同数据流间的差别,可以判断任何两IP数据包是否属于同一个数据流,具体可以通过分析IP数据包的下属7个属性来实现,即数据包的:源IP地址、目标IP地址、源通信端口号、目标通信端口号、第三层协议类型、TOS字节(DSCP)、网络设备输入(或输出)的逻辑网络端口(ifIndex)。
Netflow技术就是利用分析IP数据包的上述7个属性,快速区分网络中传送的各种不同类型业务的数据流。对区分出的每个数据流,Netflow可以进行单独地跟踪和准确计量,记录其传送方向和目的地等流向特性,统计其起始和结束时间,服务类型,包含的数据包数量和字节数量等流量信息。对采集到的数据流流量和流向信息,Netflow可以定期输出原始记录,也可以对原始记录进行自动汇聚后输出统计结果。
交换机采集到端口上的这些流的信息通过Exporter将它们组装成Netflow报文发送到远端的Netflow Collector进行统计分析。目前交换机上支持的Netflow版本包括V1,V5和V9,用户可以根据需要选择相应的版本。其中,Netflow V9是一种全新的灵活和可扩展的Netflow数据输出格式,采用了基于模板(Template)的统计数据输出。在发送V9的数据信息之前需要发送模板信息,与模版记录相对应的流数据记录可能出现在相同或后来的输出报文中。模版记录并不需要在每个输出报文中都携带。因此,Collector必须存储模板记录来解释在后面的数据报文中收到的相应的流数据记录。
Collector上的模板存在一定的生存周期,Exporter必须定期发送所有的Template Records和Options Template Records去更新Collector上的模板。触发更新的条件包括:
A)每N个输出报文发送一个更新;
B)每N分钟更新一次;
当其中一个条件到期,Exporter必须发送Template FlowSet和Options Template。
 
 
1.2  NETFLOW配置任务列表  
• 开启Netflow功能
• 配置inactive时间
• 配置export信息
• 接口采样配置
• Show命令显示
• Clear命令
1.3  NETFLOW配置任务  
1.3.1开启Netflow功能
使用下面的命令开启Netflow功能:
| 步骤 | 命令  | 目的  | 
| Step1 | config | 进入到全局配置模式 | 
| Step2 | netflow enable | 在全局模式下开启Netflow功能 | 
可以输入no netflow enable来关闭Netflow功能。
1.3.2配置inactive时间
从特权模式开始,配置流的inactive时间:
| 步骤 | 命令  | 目的  | 
| Step1 | config | 进入到全局配置模式 | 
| Step2 | netflow timeout inactive time   | 设置inactive时间。默认的值为15秒 | 
可以输入no netflow timeout inactive恢复默认的时间配置。一条流在设定的inactive时间之内没有收到新的报文,则该条流被定义为inactive,流的信息将被超时输出。
1.3.3配置export信息
在下面的命令模式下可对Netflow 的输出信息进行配置:
| 步骤 | 命令  | 目的  | 
| Step1 | config | 进入到全局配置模式 | 
| Step2 | netflow export destination A.B.C.D port | 指定输出报文发送的IP地址和端口号。 | 
| Step3 | netflow export version version | 指定输出报文发送的版本格式。包括三个版本,V1,V5,V9。 | 
| Step4 | netflow export template refresh-rate times | 设置发送模板记录间隔的报文数目。times是间隔的报文数目,范围1-600,默认值20 | 
| Step5 | netflow export template timeout-rate time | 设置发送模板记录的间隔时间。time是间隔时间,取值范围1-3600(分钟,默认值30) | 
| Step6 | netflow export template options export-stats | 设置发送模板选项导出统计。 | 
| Step7 | netflow export template options refresh-rate times | 设置发送模板选项记录间隔的报文数目。times是间隔的报文数目,范围1-600,默认值20 | 
| Step8 | netflow export template options timeout-rate time | 设置发送模板选项记录的间隔时间。time是间隔时间,取值范围1-3600(分钟,默认值30) | 
  
1.3.4接口采样配置
通过下面的命令配置端口的采样信息:
| 步骤 | 命令  | 目的  | 
| Step1 | config | 进入到全局配置模式 | 
| Step2 | interface  interface-name | 进入接口配置模式 | 
| Step3 | netflow {ingress | egress} dscp_mask dscp_value mask | 配置端口上的DSCP映射的值。该值将作为区分流的一个关键字。缺省的情况下所有DSCP值的映射都是0 | 
| Step4 | netflow {ingress | egress} {ipv4 | mac} [limit number | sampler number | dst_mask  A.B.C.D | src_mask  A.B.C.D} | 对采样的参数进行配置。 Ingress表示进入方向的报文采样; Egress表示出方向的报文采样; Ipv4表示对ip报文进行采样; Mac表示对二层报文进行采样; Limit设置端口能创建的流记录的最大数;默认值8192 Sampler设置端口采样间隔;默认值1 Dst-mask设置ip报文采样的目的地址掩码;默认掩码255.255.255.255 Src-mask设置ip报文采样的源地址掩码;默认掩码255.255.255.255 | 
可以输入no netflow ingress或no netflow egress 来关闭端口某个方向上的采样。
  1.3.5Show命令显示
可用show命令查看Netflow的相关信息:
| 步骤 | 命令  | 目的  | 
| Step1 | show netflow interface | 查看Netflow的接口配置信息 | 
| Step2 | show netflow export | 查看Netflow的报文和流的统计信息。 | 
| Step3 | show netflow cache {ingress | egress} [ detail | interface interface-name ] | 查看流记录信息。 Ingress查看入方向的流记录信息; Egress查看出方向的流记录信息; Detail查看流记录的详细信息; Interface查看接口的流记录信息; | 
注:每次只能对某一方向的流记录进行查看。
1.3.6Clear命令
通过下面的配置可以清除Netflow的报文和流统计信息:
| 步骤 | 命令  | 目的  | 
| Step1 | clear netflow stats | 清除Netflow的报文和流统计信息 | 
 
1.4   配置示例  
  1.4.1网络环境需求
1.  一台95交换机,一张主控卡,一张支持IPFIX功能的线卡;
2.  两台PC;
3.  若干根以太网直通及交叉线缆;
4.  交换机Console线缆。
1.4.2网络拓扑图

图1 网络拓扑图
1.4.3配置步骤
1)按上图连接好网络;
2)PC1和PC2互发流信息,并运行抓包软件,PC1上运行NetFlow Analyzer软件;
3)配置交换机S1:
Switch_config#netflow enable
Switch _config#netflow export destination 91.0.0.4 9996
Switch _config#netflow export version 9
Switch _config#interface gigaEthernet 2/1  
Switch _config_g2/1#netflow ingress ipv4 mac
Switch _config_g2/1#netflow egress ipv4 mac
Switch _config_g2/1#qui
Switch _config#show netflow cache ingress 
Session information table:
FType   Ifdx/D     P/E-T   SrcIP/SrcMac      DstIP/DstMac       Pkts  Bytes  Src/DstPort
L2      g2/1/in     2054    1111.1111.1111    FFFF.FFFF.FFFF    231   14784   0/0
IPV4    g2/1/in     6       90.0.0.56         90.0.0.100          232   10672   0/0
IPV4    g2/1/in     0       90.0.0.1           1.2.3.4             231   10626   0/0
  Session number: 3
Switch _config#show netflow cache ingress detail 
Detail session information:
Entry: 1
   (L2) ingress on GigaEthernet2/1
   start timestamp at 0:00:00:01, last timestamp at 0:00:05:02
   byte count: 16064, pkt count: 251
   VLAN identifier: 1
   VLAN priority: 0, ethernet type: 2054
   source MAC address: 1111.1111.1111
   destination MAC address: FFFF.FFFF.FFFF
Entry: 2
   (IPv4) ingress on GigaEthernet2/1
   start timestamp at 0:00:00:01, last timestamp at 0:00:05:01
   byte count: 11546, pkt count: 251
   source IP address: 90.0.0.56
   destination IP address: 90.0.0.100
   source port: 0
   destination port: 0
   IP protocol type: 6
   IP type of service(ToS): 60
Entry: 3
   (IPv4) ingress on GigaEthernet2/1
   start timestamp at 0:00:00:01, last timestamp at 0:00:05:01
   byte count: 11546, pkt count: 251
   source IP address: 90.0.0.1
   destination IP address: 1.2.3.4
   source port: 0
   destination port: 0
   IP protocol type: 0
   IP type of service(ToS): 60
Session number: 3