NetFlow的工作原理和配置介绍

  

 NetFlow的工作原理和配置介绍

NetFlow监控涉及到的设备:

被监控的交换机(也可能是镜像服务器)和收集器(监控软件所在的设备)

工作原理:

NetFlow使用流(流)来完成统计数据,网络监控,甚至网络规划。流有方向这个属性,在一个接口或者一个vlan下,某一方向上具有相同参数的数据包组成了流(流)。上边这句话是思科文档中翻译过来的,如果你没看懂,你可以简单理解为具有相同五元组(相同的源地址,目的地址,源端口,目的端口,协议)的数据包可以称之为一个流(流)。

被监控的交换机,将端口进出方向的数据包进行分析,把相关信息(源地址,目的地址,源端口,目的端口,协议,包大小等信息)放进NetFlow包中,发到收集器(NetFlow收集器)中,这个处理过程将消耗被监控设备的cpu和内存。收集器(监控软件,都是第三方的)将数据进行整理,呈现报表。

v5只支持ipv4
v9支持ipv4和ipv6

配置命令示例(NetFlow v5,设备:asr1001x):

 <代码> HK-test流出口国
  目的地10.136.76.117
  源Loopback1
  传输udp 9998
  export-protocol netflow-v5  

输出器主要用于配置输出参数,有地址和端口,输出源地址和版本,目标地址是收集器的ip,端口取决于收集器的监听端口,源端口是发送端口,抓包时候会看见源地址是loopback1的ip。

 <代码> HK-test-monitor流监控器
  出口国HK-test
  高速缓存类型直接
  记录netflow-original  

监控器:将流记录和输出器绑定,这里流记录使用默认netflow-original配置,因为v5不能自定义模板,缓存使用直接的效果是立即将解析好的数据包发送到监控服务器,而不进行聚合汇总。

 <代码>取样器测试1
  模式确定1外2  

采样比:按一比二比例,将所有的流量全部抓下来

 <代码> GigabitEthernet0/0/4接口
  ip流量监控器试取样器测试1输入
  ip流量监控器试取样器测试1输出 

配置到接口下

配置命令示例(netflow v9,设备:asr1001x):

 <代码>流记录试一试
  描述测试
  与ipv4源地址
  ipv4匹配目的地址
  与ipv4协议
  匹配运输sourceport
  匹配运输destinationport
  收集计数字节
  收集计数器数据包长
  收集时间戳sysuptime第一
  收集时间戳sysuptime去年
  
  流出口国try_exporter
  描述test_ex
  目的地10.136.76.117
  源Loopback1
  传输udp 9999
  模板数据超时30
  
  流量监控器试试
  描述测试
  出口国try_exporter
  高速缓存类型直接
  试着记录
  
  取样器test1
  模式确定1无所不能的2
  
  接口GigabitEthernet0/0/4
  ip流量监控器试取样器test1输入
  ip流量监控器试取样器test1输出 

与v5不同的是多添加了流记录的配置,并且调用了试试这个流记录。

配置命令示例(netflow v9,设备:nexus 5 k):

链接:cisco-N6k-netflow——原版
提取码:pa8i

 <代码>流出口国ext
  目的地10.136.17.146
  传输udp 9996
  源Vlan40
  version 9  

输出器主要用于配置输出参数,有地址和端口,输出源地址和版本,目标地址是收集器的ip,端口取决于收集器的监听端口,源端口是发送端口,抓包时候会看见源地址是int vlan 40的ip。

 <代码> rdt流记录
  与ipv4源地址
  ipv4匹配目的地址
  匹配的ip协议
  匹配的ip服务条款
  匹配传输源端口
  匹配运输目的港
  收集计数字节
  收集计数器数据包长
  收集时间戳sys-uptime第一
  收集时间戳sys-uptime去年
  收集ip版本 

流记录:收集相关信息,用于监控数据流量

 <代码>取样器slt
  模式1外128  

采样比:每128个包,选取一个包

 <代码>取样器
  模式1外1  

采样比:一比一,将所有的流量全部抓下来

 <代码>太流监控器
  rdt记录
  出口国ext代码 

监控器:将流记录和输出器绑定

 <代码> int vlan 40
  ip流量监控器太输入采样器完整的 

将监控器和一比一的采样比应用在接口,经测试,发现只能配置输入方向的netflow监控,无法配置输出方向。

V5数据包样式

默认wireshark是无法解析netflow数据包的,需要将对应端口解析成cflow格式。比如,我是用的是这9999个端口,需要:选中一个数据包→右键→解码为→添加下图内容,然后才能解析。

NetFlow的工作原理和配置介绍