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

1 Introducción

1.1 Metas

1.2 Notas

2 Configurar el Recolector (Collector)

2.1 Instalar NFDump y el software asociado

Nfdump es parte de las herramientas del colector de flujo Netflow, que incluye:

nfcapd, nfdump, nfreplay, nfexpire, nftest, nfgen

Hay un paquete en Ubuntu, pero es demasiado viejo - por lo que vamos a instalar desde el código fuente. En primer lugar, compruebe que dispone de las herramientas y dependencias necesarias:

$ sudo apt-get update
$ sudo apt-get install build-essential autoconf
$ sudo apt-get install rrdtool mrtg librrds-perl librrdp-perl librrd-dev \
       libmailtools-perl php5 bison flex

Ahora proceda a descargar y construir. Tenga en cuenta que sólo el último paso (make install) tiene que hacerse como root.

$ cd
$ wget http://noc.ws.nsrc.org/downloads/nfdump-1.6.13.tar.gz
$ tar xvzf nfdump-1.6.13.tar.gz
$ cd nfdump-1.6.13
$ ./configure --help      # optional, shows the build settings available
$ ./configure --enable-nfprofile --enable-nftrack
$ make
$ sudo make install

2.1.1 Probando nfcapd y nfdump

$ mkdir /tmp/nfcap-test
$ nfcapd -E  -p 9001 -l /tmp/nfcap-test

... después de un tiempo, una serie de flujos deben ser mostrados en pantalla.

Detenga la herramienta con CTRL + C y luego revise el contenido en /tmp/nfcap-test

$ ls -l /tmp/nfcap-test

Deberá ver uno o más archivos llamados nfcapd.<AÑO><MES><DÍA><HR><MIN>

Procesar el/los archivo(s) con nfdump:

nfdump -r /tmp/nfcap-test/nfcapd.201Ywwxxyyzz | less
nfdump -r /tmp/nfcap-test/nfcapd.201Ywwxxyyzz -s srcip/bytes

Debe obtener alguna información útil :)

2.2 Instalación y configuración de NfSen

DDescargar y compilar. El parche es para arreglar un problema reportado en http://sourceforge.net/p/nfsen/bugs/31/

$ cd
$ wget http://noc.ws.nsrc.org/downloads/nfsen-1.3.6p1.tar.gz
$ tar xvzf nfsen-1.3.6p1.tar.gz
$ cd nfsen-1.3.6p1
$ wget http://noc.ws.nsrc.org/downloads/nfsen-socket6.patch
$ patch -p0 < nfsen-socket6.patch
$ cd etc
$ cp nfsen-dist.conf nfsen.conf
$ editor nfsen.conf

Ajuste la variable $BASEDIR

$BASEDIR = "/var/nfsen";

Ajuste los usuarios adecuadamente para que Apache pueda acceder a los archivos:

$WWWUSER = 'www-data';
$WWWGROUP = 'www-data';

Ajuste el tamaño del búfer a algo pequeño y observara datos rápidamente. No se recomienda hacer esto en un sistema de producción.

# Receive buffer size for nfcapd - see man page nfcapd(1)
$BUFFLEN = 2000;

Encuentre la definición de fuentes (%sources), y cámbiela a:

%sources=(
'rtrX' => {'port'=>'9001','col'=>'#0000ff','type'=>'netflow'},
 );                

(Sustituir el router de su grupo para rtrX, y descomente o elimine las fuentes existentes de muestra).

Finalmente cambia $HTMLDIR de /var/www/nfsen/ a /var/www/html/nfsen/

$HTMLDIR    = "/var/www/html/nfsen/";

Ahora, guarde y salga del archivo.

2.3 Cree el usuario netflow en el sistema

$ sudo useradd -d /var/nfsen -G www-data -m -s /bin/false netflow

2.4 Instalar NFSen e iniciarlo

Cambie de nuevo al directorio donde está el código fuente:

$ cd
$ cd nfsen-1.3.6p1

Ahora, finalmente, instalamos:

$ sudo perl install.pl etc/nfsen.conf

Presione ENTER cuando se le pida la ruta de Perl.

2.5 Instalar el script de inicio

Con el fin de que nfsen se inicie y se detenga automáticamente cuando se inicie el sistema, se tiene que agregar un enlace al diretorio init.d apuntando al script de inicio nfsen:

$ sudo ln -s /var/nfsen/bin/nfsen /etc/init.d/nfsen
$ sudo update-rc.d nfsen defaults 20

Para iniciar NfSen

$ sudo service nfsen start

Compruebe que los procesos nfcapd se han inciado:

$ ps auxwww | grep nfcapd

2.6 Ver los flujos a través de la web:

Puede encontrar la página de nfsen aquí:

http://pcX.ws.nsrc.org/nfsen/nfsen.php

Si está trabajando en parejas, entonces ambos deben apuntar su navegador web al PC que está recibiendo flujos.

Es posible que aparezca un mensaje como:

Frontend - Backend version mismatch!

Esto desaparecerá si vuelve a cargar la página, no es un problema.

¡Ya está! Continúe en el tercer laboratorio, ejercicio3-nfsen-top-talkers

3 NOTAS

3.1 Añadiendo fuentes

Si tuvieras varios enrutadores en la red todos enviando los flujos al misma colector, puede o bien configurarlos para que envíen a diferentes puertos del colector, o le puede decir a NFSen la dirección IP de origen de cada router. esto permite a Nfsen mostrar datos diferentes de cada origen.

NO HACERLO AHORA!!! Ya que sólo tiene un único router, pero si lo necesitase, lo haría de la siguiente manera:

%sources = (
    'rtrX'  => { 'port' => '9001', 'col' => '#0000ff', 'type' => 'netflow' },
    'rtrY'  => { 'port' => '9002', 'col' => '#00ff00', 'type' => 'netflow' },
    'gw'    => { 'port' => '9996', 'col' => '#ff0000', 'type' => 'netflow' },
);

Usted tendrá que ejecutar esto cada vez que modifique '/var/nfsen/etc/nfsen.conf':

$ sudo /etc/init.d/nfsen reconfig

Debería ver:

New sources to configure : gw rtrY
Continue? [y/n] y

Add source 'gw'
Add source 'rtrY'

Start/restart collector on port '9002' for (rtr2)[pid]
Start/restart collector on port '9996' for (gw)[pid]

Restart nfsend:[pid]