Flexible Netflow

Netflow é uma tecnologia disponível no Cisco IOS que fornece estatísticas dos pacotes que atravessam um roteador ou Switch. O Netflow coleta e exporta os dados para fins de monitoração, segurança da rede, análise de trafego, análise de capacidade, IP accounting e etc.

Ao invés de apenas contar os pacotes, o NetFlow considera esses pacotes como parte de um fluxo, monitorando o início, meio e fim. Podemos definir um fluxo como uma sequência unidirecional de pacotes que possuem características comuns entre a origem e o destino.

Flexible Netflow (FNF)

Flexible Netflow (FNF) aprimora o NetFlow com a possibilidade de personalização dos parâmetros para análise do tráfego e facilita a criação de configurações com uma granularidade bem bacana. O FNF é dividido em três funções: a seleção de dados que queremos analisar (flow record), a coleta de dados (flow monitor) e a exportação dos dados para um coletor (flow export).

Para concluir a configuração, um monitor de fluxo pode ser aplicado a uma ou várias interfaces.

Segue abaixo o script bem intuitivo e o resultado da coleta.

Configuração

flow exporter EXPORTER
 description Netflow Collector
 destination 10.10.10.10
 source Loopback0
 transport udp 9996
 template data timeout 60
! Configuração do Flow Exporter
!
flow record QoS
match ipv4 tos
match ipv4 precedence
match ipv4 dscp
match ipv4 protocol
match ipv4 source address
match ipv4 destination address
match transport source-port
match transport destination-port
collect counter bytes long
collect counter packets long
! Configuração do Flow Record
!
flow monitor MONITOR-QoS
cache timeout inactive 30
record QoS
exporter EXPORTER
exit
! Configuração do Flow Monitor
!
ip cef
!
interface e0/0.45
ip flow monitor MONITOR-QoS input
! Aplicando o Flow Monitor a interface
!
 

Output

R5#sh flow monitor MONITOR-QoS cache format ta
  Cache type:                               Normal
  Cache size:                                 4096
  Current entries:                               5
  High Watermark:                               12
  Flows added:                                 398
  Flows aged:                                  393
    - Active timeout      (  1800 secs)          2
    - Inactive timeout    (    30 secs)        391
    - Event aged                                 0
    - Watermark aged                             0
    - Emergency aged                             0
IPV4 SRC ADDR    IPV4 DST ADDR    TRNS SRC PORT  TRNS DST PORT  IP TOS  IP DSCP  IP PREC  IP PROT            bytes long             pkts long
===============  ===============  =============  =============  ======  =======  =======  =======  ====================  ====================
155.1.45.4       224.0.0.10                   0              0  0xC0    0x30           6       88                 18000                   300
155.1.146.6      155.1.45.5               16384          52366  0xB8    0x2E           5       17                 60000                  1000
150.1.6.6        150.1.5.5                   80          63906  0x40    0x10           2        6                   385                     5
150.1.6.6        155.1.45.5                1967          54932  0xB8    0x2E           5       17                    52                     1
155.1.146.6      155.1.45.5               16384          54932  0xB8    0x2E           5       17                 13740                   229
R5#

Até logo!

Netflow

por Woshington Silva

NetFlow é uma tecnologia desenvolvida pela Cisco e  já vem integrada ao IOS de seus equipamentos permitindo a coleta de informações e estatísticas do tráfego de uma rede.

Ao invés de apenas contar os pacotes, o NetFlow considera esses pacotes como parte de um fluxo, monitorando o  início, meio e fim. Podemos definir um fluxo como uma sequencia unidirecional de pacotes que possuem características comuns entre a origem e o destino.

Para que os pacotes possam fazer parte do mesmo fluxo, as características abaixo devem ser apresentadas:

  • Mesmo Endereço  de Origem;
  • Mesmo Endereço  de destino;
  • Mesma Porta lógica de origem;
  • Mesma Porta lógica de destino;
  • Mesmo Protocolo de camada 3;
  • Mesmo Tipo de serviço (ToS);
  • Mesma interface (independente de ser física ou lógica);

Um fluxo é extinguindo quando:

  • Sua inatividade supera 15 segundos;
  • Sua duração ultrapassa 30 minutos;
  • Uma conexão TCP é encerrada ;
  • A tabela de fluxos está cheia ou usuário redefine configurações de fluxo;

Obs: Quando um pacote é recebido e o mesmo não pertencer a nenhum fluxo existente, ocorrerá a criação de um novo fluxo.

Quando o fluxo é identificado, as informações são  armazenadas na tabela cache NetFlow. Podemos também transferi-las para um coletor que exibira as informações em formas de relatórios e gráficos.  Porém essas informações serão enviadas ao coletor após o término do fluxo.

NetFlow  é inteiramente  transparente para os outros dispositivos da rede, não exige nenhuma configuração nos elementos que serão monitorados. Sua única exigência é que seja habilitada na interface do equipamento (Roteador).

Abaixo veremos uma configuração básica do Netflow.

Configurando o Netflow no router:
Router(config)# ip flow-export destination a.b.c.d 9997
!Endereço IP do servidor e porta UDP
Router(config)# ip flow-export version 9
Router(config)# ip flow-export source Ethernet 0/1

obs: a versão do netflow e a porta devem ser a mesma do coletor, outro ponto importante é o que o ip cef esteja habiltado.

Configurando as interfaces:
Router(config)# interface Ethernet 0/0
Router(config-if)# ip route-cache flow
Router(config-if)# ip flow ingress

Existem duas formas de verificarmos os dados coletados: a primeira, via CLI e a segunda via o coletor, ressaltando mais uma vez que os dados só serão coletados após o término do fluxo. Caso haja o desejo de analisar o tráfego em tempo real, o ideal é usarmos os comandos via CLI.

Um dos comandos via CLI em que possamos verificar os dados é o:

Router# show ip cache flow

Onde obtemos informações como distribuição do tamanho dos pacotes, número de fluxos ativos, protocolos utilizados, interface de origem e destino, endereço IP de origem e destino, porta de origem e destino e  tamanho dos pacotes.

Particularmente tive um experiência muito satisfatória ao usar o NetFlow, na empresa em que trabalho recebemos a solicitação para a abertura de um chamado, onde o cliente informava que o link de uma determinada localidade estava com alta utilização e gostaria de receber um relatório com a origem  desse tráfego.

Após contato com o cliente, identificamos que o mesmo não possuía um coletor para construção de gráficos e relatórios baseados em Netflow, a única coisa que nos restava era usar os recursos que a CLI podia nos oferecer. Então decidimos configurar o roteador para que exibisse os 10 maiores fluxo por pacote.

Para que isso fosse possível utilizamos os seguintes comandos na CLI:

Router(config)# ip flow-top-talkers
Router(config-flow-top-talkers)# top 10
Router(config-flow-top-talkers)# sort-by packets

Para visualizar os top 10 o comando é show ip flow top-talkers.

Em resumo, com o NetFlow podemos obter benefícios como:

  • Monitoramento da banda ;
  • Análise de tráfego;
  • Análise da rede;
  • Gerência de segurança;
  • Monitoramento de aplicativos;
  • Rastreamento da migração de aplicativos;
  • Validação de QoS;
  • Planejamento de capacidade;
  • Identificação de worms e malwares

Ou seja, podemos considerar o NetFlow como uma importante ferramenta que nos possibilita compreender, melhorar  e identificar possíveis  problemas que estão acorrendo na rede.

Referências

http://labcisco.blogspot.com/2013/08/cisco-netflow-na-classificacao-do.htmlhttps://www.telcomanager.com/pt-br/o-que-e-netflowhttp://www.teleco.com.br/tutoriais/tutorialgmredes2/pagina_3.asp