网络流配置和故障排除第1部分

我将介绍Netflow配置和一些有用的命令来解决NetFlow问题。 

适用于5.x的Nexus 1000v 净流量配置:

连结1000v在5.x中有一些预定义的流记录: 

  • 净流量 IPv4原始输入 -传统的IPv4输入NetFlow
  • 净流量 IPv4原始输出 -传统IPv4输出NetFlow
  • 净流量协议端口 -协议和端口聚合方案
  • 网络流第2层切换输入 -第2层交换输入NetFlow
  • 网络流原始 -具有原始AS的传统IPv4输入NetFlow

要查看将要收集的不同字段,请发出以下命令:
显示流记录{netflow | netflow-original} 预定义记录名称

在Nexus 1000v中创建流记录 (如果使用预定义的记录,请跳过):

  • 启用功能:
    功能流
     
  • 通过名称创建流记录:
    流记录 名称
     
  • (可选)为其提供描述:
    描述 描述
     
  • 定义流记录以匹配以下之一:
    匹配{ip {协议| 抛} | ipv4 {目标地址|源地址} |运输{目的地港口|源端口} |数据链接{{mac {source-address | 目的地-address}} |醚型| vlan | vxlan}} 

    快速说明:Netflow不支持将数据链接字段与同一记录中的其他字段类型混合使用。
    • IP-匹配以下IP选项之一:
      • 协议
      • 抛(服务类型)
    • IPv4-匹配以下选项之一:
      • 源地址
      • 目的地址
    • 运输-匹配以下运输选项之一:
      • 目的端口
      • 源端口
    • 数据链接-流记录中收集的数据与以下数据链接选项之一匹配:
      • 苹果电脑源地址
      • 苹果电脑目标地址
      • 醚型
      • 虚拟局域网
      • 虚拟局域网
         
  • 指定收集选项以定义要在流记录中收集的信息:
    收集{计数{字节[长] |包[long]} |时间戳记系统正常运行时间{第一|持续} |传输TCP标志} 

    快速说明: 
    • 计数器-收集以下格式之一的流记录信息:
      • 字节-收集在32位计数器中,除非指定了长64位计数器 
      • 数据包-收集在32位计数器中,除非指定了长64位计数器
        注意:Cisco建议在数据速率超过1 Gbps的系统中使用64位计数器
    • Timestamp sys-uptime-收集流中第一个和最后一个数据包的系统正常运行时间
    • 传输tcp标志-收集流中数据包的TCP传输层标志
  • 校验: 
    显示流程记录 名称

创建一个流导出器:

  • 创建流导出器:
    流量出口商 名称
     
  • (可选)为其提供描述:
    描述 描述
     
  • 指定目标的IP地址: 
    目的地 {ipv4-addr | ipv6-addr}
     
  • 指定将流记录发送到的IP地址到NetFlow收集:
    来源lc-exp ipv4-addr/面具
     
  • 指定到达NetFlow收集器的目标UDP端口号:
    运输udp 端口号
     
  • 指定NetFlow版本9:
    版本9
     
  • 指定以下版本9导出器重发计时器之一,它是exporter-stats和interface表的值:
    选项{exporter-stats |接口表}超时
     
  • 设置模板数据重新发送计时器,其值以秒为单位:
    模板数据超时 s
     
  • 校验:
    显示流程导出器 名称

 

创建一个流量监视器:

  • 通过名称创建流量监视器:
    流量监控器 名称
     
  • (可选)为流监视器创建描述:
    描述 描述
     
  • 添加现有的出口商:
    出口商 名称
     
  • 添加现有的流记录或使用预定义的记录:
    记录{名称 | netflow {ipv4}] | netflow-原始|原始输入|原始输出|协议端口} 
     
  • 校验:
    显示流量监控器 名称

 

将流量监视器添加到端口配置文件:

  • 输入命名端口配置文件的端口配置文件配置模式:
    港口-profile [type {ethernet | vethernet}] 名称
     
  • 将流量监视器应用于端口配置文件,以接收传入(输入)或传出(输出)流量:
    IP流量监控器 名称 {输入|输出}
     
  • 校验: 
    显示端口配置文件[expand-interface] [名称 名称]

 

对Nexus 1000v上的Netflow进行故障排除:

  • 显示流程界面- 显示有关NetFlow接口的信息
  • 显示流导出器- 显示有关出口商的信息和统计信息
  • 显示流超时- 显示有关NetFlow超时的信息
  • 显示流量监控器 名称 缓存模块 -显示有关NetFlow流量监视器的信息。与statistics命令略有不同,因为它还包括缓存的条目
  • 显示流量监控器 名称 统计模块 -显示有关流量监控器统计模块的信息

参考文档: 连结1000v for VMWare系统管理配置指南

适用于3.6E的IOS XE灵活Netflow配置:

我将对3.6.4的IOS-XE进行配置,因为它是ISE 2.0+的非常稳定的版本,并允许NetFlow收集安全组标签。 

以下是在IOS XE 3.6中使用灵活NetFlow的先决条件:

  • 必须配置源接口。如果您不这样做,则导出器将保持禁用状态
  • 必须为每个流监视器配置一个有效的记录名称
  • 必须启用IPv6路由才能将流记录导出到IPv4目标服务器
  • 必须为流导出器配置IPFIX导出协议,以IPFIX格式导出NetFlow记录
  • 必须为IPv4流量的IPv4路由配置交换机
  • 必须启用CEF或分布式CEF
  • 对于IPv6流量,必须为IPv6路由配置交换机
  • 对于IPv6流量,必须启用CEF IPv6或分布式CEF

在IOS-XE中创建流记录:

  • 创建一个流记录,它将进入流记录配置模式:
    流记录 名称
     
  • (可选的) 给它一个描述:
    描述 描述
     
  • 指定一个匹配项:
    • 比赛 应用名称 -匹配应用程序名称
    • 匹配数据链接 -数据链接(layer2)字段
      • dot1q -Dot1q字段
        • 优先 - dot1q标头中的CoS字段
        • vlan- 数据包所在的VLAN
          • 输入- 数据包在输入上的VLAN
          • 输出- 虚拟局域网数据包进入输出
      • 醚型 -数据包的以太网类型
      • 苹果电脑 -MAC字段
        • 目的地址输入- 输入中来自数据包的目标MAC地址
        • 目的地址输出- 来自输出数据包的目标MAC地址
        • 源地址输入- 输入中来自数据包的源MAC地址
        • 源地址输出- 来自输出的数据包的源MAC地址
      • vlan- 数据包所在的VLAN 
        • 输入- 数据包在输入上的VLAN
        • 输出- 虚拟局域网数据包进入输出
    • 比赛流程 -流识别字段
      • cts- 思科可信安全性字段
        • 目标组标签- 目标组标签
        • 来源组标签- 源组标签
      • 方向 -监测流向的方向
    • 匹配界面- 接口字段
      • 输入 -输入接口
      • 输出 -输出接口
    • 匹配ipv4 -IPv4字段
      • 目的地址 -目的地址 
      • 协议 -IPv4协议
      • 源地址 -源地址
      • -服务类型
      • ttl -IPv4 TTL
      • -IPv4标头中的IP版本
    • 匹配ipv6 -IPv6字段 
      • 目的地址 -基于目标地址的字段 
      • 跳数限制 -IPv6跳数限制
      • 协议 -有效载荷协议
      • 源地址 基础领域
      • 交通等级 -IPv6流量类别
      • -IPv6标头中的IP版本
    • 火柴运输 -传输层字段
      • 目的端口 -运输目的港
      • icmp -ICMP字段
        • ipv4 -IPv4 ICMP字段
          • -ICMP代码 
          • 类型 -ICMP类型
        • ipv6 -IPv6 ICMP字段
          • -ICMP代码 
          • 类型 -ICMP类型
      • igmp类型 -IGMP类型
      • 源端口 -传输源端口
    • 匹配无线ssid -标识无线网络的SSID名称(3650/3850交换机)
       
  • 指定收集字段:
    • 搜集
      • 计数器 -柜台领域
        • 个字节 -总字节数
          • layer2 -第2层字节总数
            • -第2层字节总数(64位计数器)
          • -总字节数(64位计数器)
        • -包总数
          • -数据包总数(64位计数器)
      • 流用户名 -与流程关联的用户名
      • 接口 -接口字段
        • 输入 -输入接口
        • 输出 -输出接口
      • 绝对时间戳 -基于1970年1月1日UTC 00:00的时间戳记
        • 第一 -绝对可以看到第一个数据包 
        • 持续 - 绝对是最后一个数据包被看到的时间 
      • 传输tcp标志 -收集传输TCP标志 
        • 确认 -TCP确认标志
        • wr -TCP拥塞窗口减少标志
        • ce -TCP ECN回显标志 
        • -TCP完成标志
        • sh -TCP推送标志
        • 第一次 -TCP重置标志
        • 同步 -TCP同步标志
        • 敦促 -TCP紧急标志
      • 收集无线
        • ap 苹果电脑地址 -无线接入点MAC地址
        • 客户端Mac地址 -无线客户端MAC地址
           
  • 校验:
    显示流程记录[名称 名称]

 

在IOS-XE中创建流导出器:

  • 创建命名的流导出器:
    流量出口商 名称
     
  • (可选的) Create a 描述:
    描述 名称
     
  • 设置IPv4 / IPv6目标地址:
    目的地 {ipv4-addr | ipv6-addr}
     
  • 指定用于访问NetFlow收集器的接口:
    资源 接口
     
  • 指定用于访问NetFlow收集器的UDP端口:
    运输udp 港口

    注意:默认端口是4739
     
  • 指定NetFlow的版本:
    出口协议{netflow-v9 | ipfix}
     
  • 校验:
    显示流导出器[名称 名称]
     

在IOS-XE中创建流量监视器:

  • 创建一个命名的流量监视器并进入流量监视器配置模式:
    流量监控器 名称
     
  • (可选)为流量监控器创建描述
    描述
     
  • 将流导出器与此流监视器相关联:
    出口商 名称
     
  • 将流记录与监视器关联:
    记录 名称
     
  • 将流高速缓存与特定的流监视器相关联:
    缓存{超时{有效|无效} |输入普通}
     
  • 校验:
    显示流监视器[名称 名称]
     

将流应用于IOS-XE中的接口:

  • 进入接口配置模式:
    接口 输入mod / 数
     
  • 将IPv4或IPv6流监视器与输入或输出数据包相关联:
    IP流量监控器 名称 {输入|输出}
     
  • 校验:
    显示流程界面

 

对ios-xe上的netflow进行故障排除:

  • 显示流量监控器 名称 快取 -显示流量监控器的状态,统计信息和数据
  • 显示流量监控器 名称 统计-  显示流量监控器的高级统计信息和数据
  • 显示流导出器模板- 用于显示导出器模板信息,例如模板中的字段,导出器格式的版本,导出器的名称,关联的流监视器以及其他信息
  • 显示流导出器export-ids netflow-v9 -在学习可以导出的不同导出字段及其ID时用作参考
  • 显示流导出程序选项应用程序表- 显示可以使用的详细应用程序选项

有用的调试:

  • 调试流记录 -启用流记录的调试 
  • 调试流记录错误
  • 调试流记录详细 -小心这一点
  • 调试流导出器
  • 调试流监视器

 

参考文档: 适用于IOS XE 3.6E的Cisco Flexible 净流量配置指南

 

9.6的ASA 网络流配置

作为一个支持NetFlow版本9服务。 作为一个支持有状态的IP流跟踪方法,该方法仅导出指示流中重要事件的那些记录。 作为一个还导出包含相同信息的系统日志消息。 

配置NSEL收集器:

您必须至少具有一个已配置的收集器,然后才能使用NSEL,并且必须配置NSEL收集器,然后才能通过MPF配置过滤器。

  • 添加一个可以向其发送NetFlow数据包的NSEL连接器:
    流出口目的地 接口名称{ipv4-address |主机名} udp-port

    在ASA上,您最多可以配置五个收集器以将NetFlow导出到其中。配置收集器后,模板记录将自动发送到所有已配置的NSEL收集器
     

通过模块化策略框架配置流导出操作:

  • 定义标识要为其导出NSEL事件的流量的类映射:
    类图 名称
     
  • 配置ACL以匹配特定流量,或者简单地匹配任何流量:
    匹配访问列表 ACL名称

    要么

    匹配任何
     
  • 定义政策图:在这种情况下,您有两个不同的选项- 
    • 将策略图应用于全局策略策略图:
      政策图global_policy
      名称
       
    • 定义策略映射以将流导出操作应用于定义的类:
      政策图 名称
      名称
       
  • 配置流导出动作:
    flow-export事件类型{all |流创建|流否决|流拆|流程更新}目的地 流出口主机
     
  • 全局添加服务策略:
    服务政策 名称 全球
     

配置Netflow计时器和Syslog:

  • 指定将模板记录发送到所有配置的输出目标的时间间隔:
    流导出模板超时率 分钟

    默认值为30分钟。
     
  • 指定流更新事件之间的时间间隔(以分钟为单位):
    流出口活动刷新间隔

    默认值为1分钟
     
  • 将流创建事件的发送延迟指定的秒数:
    流出口延迟流创建

    此设置必须至少比您的活动刷新间隔和超时时间长5秒。
     
  • 禁用由于NSEL而变得多余的系统日志消息:
    记录flow-export-syslog禁用

 

在asa上对Netflow进行故障排除:

  • 显示流量出口柜台- 显示NSEL的运行时计数器,包括统计数据和错误数据
  • 显示日志流-export-syslogs -列出NSEL事件捕获的所有系统日志消息
  • 显示运行配置流导出- 显示当前配置的NetFlow命令
  • 显示运行配置日志记录- 显示禁用的系统日志消息,它们是冗余的系统日志消息,因为它们通过NetFlow导出相同的信息