在IOS设备上配置NetFlow输出

     

    在Cisco IOS设备上执行以下步骤来配置Netflow的输出

    Tip
    请参考Cisco 版本列表来确认支持NetFlow的Cisco平台和IOS版本

     

    启用 NetFlow 输出

    在MSFC或者路由器上进入全局配置模式,然后对每一个你想启用Netflow的接口执行下面的命令:

    interface {interface} {interface_number}

    ip flow ingress

    bandwidth

    exit

     

    Tip
    在一些最新的IOS版本中Cisco Express Forwarding必须被启用。在路由器或MSFC的全局配置模式下执行ip cef命令

    这将单独启用指定的接口的Netflow。对于Cisco IOS设备,NetFlow是基于每个接口来启用的。bandwidth命令是可选的,它用于设定接口的速度,单位是每秒千比特。接口速度或者连接速度在之后的流量图中用于计算使用率。

    输出NetFlow数据

    执行以下命令将Netflow数据输出到Netflow Analyzer所运行的服务器上:

     

    命令 目的
    ip flow-export destination{hostname|ip_address}9996 输出Netflow缓存条目到指定的IP地址,使用Netflow Analyzer服务器的IP地址,并且配置 NetFlow 监听端口,默认端口是9996。
    ip flow-export source {interface}{interface_number} 设定输出到指定IP地址的Netflow输出中的源IP地址。Netflow Analyzer将在此地址上执行设备的SNMP请求。
    ip flow-export version 5 [peer-as | origin-as] 设定Netflow输出的版本为版本5。NetFlow Analyzer 只支持版本 5、版本7和版本9。如果您的路由器使用BGP,则可以指定在输出中包含origin-as或者peer-as-不可能包含两者。
    ip flow-cache timeout active 1

    分割活动期长的流为1分钟的片段。您可以选择1到60之间的任何分钟值。如果使用默认的30分钟,则流量报表可能显得不会那么连续平滑。将值设置为1分钟以便进行数据错误排查是很重要的。

    为了 显示故障排除数据,设定这个值为 1 分钟 是非常重要的。

    ip flow-cache timeout inactive 15 保证定期输出完成的流。默认值为15秒,可以选择10到600之间的任何值。如果选择的值大于250秒。也许Netflow Analyzer将报告流量等级过低。
    snmp-server ifindex persist 全局启用ifIndex持续化(接口名)。这将保证ifIndex值在设备重启后也有效。

     

    Tip
    关于Netflow Analyzer的BGP报表的更多信息, 请参考 为BGP配置NetFlow

     

    检验设备配置

    在 正常(不是配置) 模式下 执行下面命令去检验NetFlow输出是否配置正确:

     

    命令 目的
    show ip flow export 显示当前的NetFlow配置
    show ip cache flow 该命令显示了所有当前活动的流,还显示设备输出了多少Netflow数据。
    show ip cache verbose flow

    设备配置示例

    以下是在路由器上执行的命令集示例。该命令用来启用接口FastEthernet 0/1上的Netflow版本5,输出到端口9996上的192.168.9.101机器上。

     

    router#enable

    Password:*****

    router#configure terminal

    router-2621(config)#interface FastEthernet 0/1

    router-2621(config-if)#ip flow ingress

    router-2621(config-if)#exit

    router-2621(config)#ip flow-export destination 192.168.9.101 9996

    router-2621(config)#ip flow-export source FastEthernet 0/1

    router-2621(config)#ip flow-export version 5

    router-2621(config)#ip flow-cache timeout active 1

    router-2621(config)#ip flow-cache timeout inactive 15

    router-2621(config)#snmp-server ifindex persist

    router-2621(config)#^Z

    router#write

    router#show ip flow export

    router#show ip cache flow

    *可以对各接口重复以上命令来启用Netflow的输出

     

    impo

    为了准确地查看流入/流出流量,需要对路由器上的所有接口都启用NetFlow数据输出。假设一个路由器有两个接口A和B,由于默认情况下,Netflow数据统计只针对进入(ingress)数据进行,当您只启用接口A的NetFlow数据输出时,它只能输出接口A的流入(IN)流量和接口B的流出(OUT)流量。接口A的流出流量只能由接口B的NetFlow输出数据才能得到。所以如果不启用接口B的数据输出,将得不到接口A的流出流量信息。

    即使您只对接口A的管理感兴趣,也请同时输出接口A和接口B的NetFlow数据。您随后可以从许可管理链接取消管理接口B。

     

     

     

    关闭NetFlow

    在全局模式下执行下面命令去停止输出NetFlow数据:

     

    命令 目的
    no ip flow-export destination{port_number} 这将停止输出Netflow缓存条目到指定端口号上的指定目的IP地址。
    interface {interface_number} 这将禁用指定接口的Netflow输出。对要禁用Netflow输出的各接口重复执行该命令。
    no ip flow ingress or no ip flow egress
    exit

     

    Tip

    关于配置IOS设备的Netflow数据输出的更详细信息,请参考 Cisco's NetFlow 的命令文档