1 Monitorización de Netflow con NfSen - Gestión de Redes

2 Introducción

2.1 Metas

2.2 Notas

3 Exportar flujos desde un enrutador Cisco

Configurará su enrutador para que exporte los mismos datos de flujos a todos las PCs de su grupo.

3.1 Grupo 1, Enrutador 1

rtr1 ==> pc1 en puerto 9001
rtr1 ==> pc2 en puerto 9001
rtr1 ==> pc3 en puerto 9001
rtr1 ==> pc4 en puerto 9001

3.2 Grupo 2, Enrutador 2

rtr2 ==> pc5 en puerto 9001
rtr2 ==> pc6 en puerto 9001
rtr2 ==> pc7 en puerto 9001
rtr2 ==> pc8 en puerto 9001

etc.

4 Configurando los Enrutadores

$ ssh cisco@rtrX.ws.nsrc.org
rtrX> enable

o, si ssh no esta configurado todavia:

$ telnet 10.10.1.254
Username: cisco
Password:
Router1>enable
Password:

Lo siguiente configura la interfaz FastEthernet 0/0 para exportar los flujos. Reemplace 10.10.X.A a .D con la dirección IP de las PCs en tu grupo.

rtrX# configure terminal
rtrX(config)#

flow exporter EXPORTER-1
 description Export to pcA
 destination 10.10.X.A
 transport udp 9001
 template data timeout 60

flow exporter EXPORTER-2
 description Export to pcB
 destination 10.10.X.B
 transport udp 9001
 template data timeout 60

flow exporter EXPORTER-3
 description Export to pcC
 destination 10.10.X.C
 transport udp 9001
 template data timeout 60

flow exporter EXPORTER-4
 description Export to pcD
 destination 10.10.X.D
 transport udp 9001
 template data timeout 60

flow monitor FLOW-MONITOR-V4
 exporter EXPORTER-1
 exporter EXPORTER-2
 exporter EXPORTER-3
 exporter EXPORTER-4
 record netflow ipv4 original-input
 cache timeout active 300

interface FastEthernet 0/0
 ip flow monitor FLOW-MONITOR-V4 input
 ip flow monitor FLOW-MONITOR-V4 output

snmp-server ifindex persist

Ya que no se ha especificado una versión del protocolo para los registros de flujos exportados, se usa el valor por defecto que es Netflow v9.

Los paquetes Netflow v9 n opueden ser decodificados en el receptor hasta que éste haya recibido un paquete con la plantilla. El comando template data timeout 60 le dice al enrutador que lo envíe cada 60 segundos, para hacer que los ejercicios del laboratorio funcionen más rápido. (En producción un valor de 300 segundos está bien).

El comando cache timeout active 300 rompe los flujos con tiempo de vida largo en fragmentos de 5 minutos. Si lo dejas con el valor por defecto de 30 minutos, las gráficas de tráfico tendrán picos.

Aparte: si quiere monitorizar flujos IPv6 tendrás que crear un nuevo monitor de flujos (flow monitor) para IPv6 y asociarlo a la interfaz y los exportadores existentes.

flow monitor FLOW-MONITOR-V6
  exporter EXPORTER-1
  exporter EXPORTER-2
  exporter EXPORTER-3
  exporter EXPORTER-4
  record netflow ipv6 original-input
  cache timeout active 300
 interface FastEthernet 0/0
  ipv6 flow monitor FLOW-MONITOR-V6 input
  ipv6 flow monitor FLOW-MONITOR-V6 output

El comando snmp-server ifindex persist habilita globalmente la persistencia de ifIndex. Esto asegura que los valores ifIndex se conserven durante el reinicio del enrutador - También si se añaden o eliminan módulos con interfaz para los dispositivos de red.

Ahora verificaremos lo que hemos hecho:

En primer lugar, salir de la sesión de configuración:

rtrX(config)# end
rtrX# show flow exporter EXPORTER-1
rtrX# show flow exporter EXPORTER-2
etc...
rtrX# show flow monitor FLOW-MONITOR-V4

Es posible ver los flujos individuales que están activos en en enrutador:

rtrX# show flow monitor FLOW-MONITOR-V4 cache

Pero en un enrutador ocupado habrá miles de flujos individuales, así que esto no será útil. Presionar 'q' para salir de la pantalla que mnuestra la información, si es necesario.

Alternativamente, se pueden agrupar los flujos de forma que se pueden ver los "top talkers" (destinos y origen del tráfico). Esto se hace con un comando muy largo en la línea de comandos:

rtrX# show flow monitor FLOW-MONITOR-V4 cache aggregate ipv4 source address
      ipv4 destination address sort counter bytes top 20

Si todo parece estar bien, entonces escribir la configuración en ejecución (running-config) a la RAM no volátil (la startup-config):

rtrX#wr mem

Ahora podemos salir del router:

rtrX#exit

Asegurarse de que la herramienta tcpdump está instalada:

$ sudo apt-get install tcpdump

Verificar que los flujos están llegando de tu router a tu PC:

$ sudo tcpdump -i eth0 -nn -Tcnfp port 9001

Esperar unos segundos y debería verse algo como lo siguiente:

06:12:00.953450 IP s2.ws.nsrc.org.54538 > noc.ws.nsrc.org.9009: NetFlow v5, 9222.333 uptime, 1359871921.013782000, #906334, 30 recs
  started 8867.952, last 8867.952
    10.10.0.241/0:0:53 > 10.10.0.250/0:0:49005 >> 0.0.0.0
    udp tos 0, 1 (136 octets)
  started 8867.952, last 3211591.733
    10.10.0.241/10:0:0 > 0.0.0.0/10:0:4352 >> 0.0.0.0
    ip tos 0, 62 (8867952 octets)
[...]

Estos son paquetes UDP que contiene registros de flujos individuales. (Notar que la salida obtenida puede no ser correcta, ya que tcpdump no entiende Netflow adecuadamente)

OPCIONAL: puede usar tshark (versión en texto de wireshark), que es capaz de entender completamente paquetes Netflow v9:

$ sudo apt-get install tshark
$ sudo tshark -i eth0 -nnV -s0 -d udp.port==9001,cflow udp port 9001

Ya hemos terminado este laboratorio.

Ir a ejercicio2-instalar-nfdump-nfsen.