Introducción

Metas

Notas

Ejercicios

Por favor, encuentra a tus compañeros de clase que están usando el mismo router que tu y forma un grupo con ellos para hacer los siguientes ejercicios juntos. Elegir una persona del grupo para que entre en el router del grupo, pero todos ayudan con la configuración.

Configure sus enrutadores virtuales para enviar mensajes syslog a su servidor.

Los routers son capaces de enviar mensajes syslog a múltiples destinos, de forma que un router puede enviar mensajes a 4 o incluso 5 destinos. Por lo tanto es necesario configurar el router para que envíe mensajes a cada uno de los PCs del grupo.

Configure los enrutadores a continuación para enviar registros a srv1.campusY.ws.nsrc.org (100.68.Y.130)

Debes entrar por SSH a los routers de tu grupo y hacer lo siguiente:

$ ssh nmmlab@bdr1.campusY.ws.nsrc.org
bdr1.campusY> enable
bdr1.campusY# config terminal

Repetir el comando "logging 100.68.Y.130" para cada router de tu grupo.

logging 100.68.6.130 logging facility local0 logging userinfo

bdr1.campusY(config)# logging 100.68.Y.130
bdr1.campusY(config)# logging facility local0
bdr1.campusY(config)# logging userinfo
bdr1.campusY(config)# exit
bdr1.campusY# write memory

Ejecutar 'show logging' para ver un resumen de la configuración de registro (logging).

bdr1.campusY# show logging

Salir del router (exit)

bdr1.campusY# exit

Eso es todo. El router debería estar enviando paquetes UDP SYSLOG a tu PC en el puerto 514. Para verificarlo, entrar a tu servidor y hacer lo siguiente:

$ sudo -s
# apt-get install tcpdump        (no te preocupes si ya está instalado)
# tcpdump -s0 -nv -i eth0 port 514

Ahora una persona del grupo debe volver a entrar en el router y hacer lo siguiente:

$ ssh nmmlab@bdr1.campusY.ws.nsrc.org
bdr1.campusY> enable
bdr1.campusY# config terminal
(config)# exit
bdr1.campusY> exit

Deberías ver en la pantalla de tu PC la salida de TCPDUMP. Será algo parecido a:

tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
14:05:02.620767 IP (tos 0x0, ttl 254, id 43, offset 0, flags [none], proto UDP (17), length 215)
    100.68.6.1.62222 > 100.68.6.130.514: [udp sum ok] SYSLOG, length: 187
        Facility local0 (16), Severity notice (5)
        Msg: 466: Feb 22 14:05:01.545: %SSH-5-SSH2_USERAUTH: User 'nmmlab' authentication for SSH2 Session from 100.64.0.241 (tty = 2) using crypto cipher 'aes128-cbc', hmac 'hmac-sha1' Succeeded

Ahora puedes configurar el software de registro (logging) en tu servidor para recibir esta información y registrarla en un nuevo conjunto de ficheros.

Instalar syslog-ng

Acceder via SSH a tu servidor

$ ssh sysadm@srv1.campusY.ws.nsrc.org 

Estos ejercicios se hacer como root. Si no estás como root en tu máquina entonces debes pasar a ser root tecleando:

$ sudo -s
# apt-get update
# apt-get install syslog-ng syslog-ng-core

Editar /etc/syslog-ng/syslog-ng.conf

Encontrar las líneas:

source s_src {
       system();
       internal();
};

y cambiarlas a:

source s_src {
       system();
       internal();
       udp();
};

Salvar el fichero y salir.

Ahora crear una sección de configuración para los registros de nuestra red:

# cd /etc/syslog-ng/conf.d/
# editor 10-network.conf

En este fichero, copiar y pegar lo siguiente:

    filter f_routers { facility(local0); };

    log {
            source(s_src);
            filter(f_routers);
            destination(routers);
    };

    destination routers {
     file("/var/log/network/$YEAR/$MONTH/$DAY/$HOST-$YEAR-$MONTH-$DAY-$HOUR.log"
     owner(root) group(root) perm(0644) dir_perm(0755) create_dirs(yes)
     template("$YEAR $DATE $HOST $MSG\n"));
    };

Salvar el fichero y salir.

Crear la carpeta /var/log/network/

# mkdir /var/log/network/

Reiniciar syslog-ng:

# service syslog-ng restart

Probar syslog

Para asegurarnos de que haya algunos mensajes de registros, entrar de nuevo en el router y ejecutar algún comando de configuración (config), luego salir, por ejemplo:

# ssh nmmlab@bdr1.campusY.ws.nsrc.org
bdr1.campusY> enable
bdr1.campusY# config terminal
bdr1.campusY(config)# exit
bdr1.campusY> exit

Asegúrate de salir del router. Si mucha gente entra y luego no sale, entonces otros no podrán tener acceso al router.

En tu PC, ver si empiezan a aparecer mensaje en la carpeta /var/log/network/2015/.../

# cd /var/log/network
# ls
2017

# cd 2017
# ls
02 03 

... esto mostrará la carpeta para el mes
... cd dentro de esta carpeta
# cd 02 
# ls
22 23 

... repetir para el siguiente nivel (el día del mes)
# cd 23
# ls 
100.68.6.1-2017-02-22-14.log

Se puede ver el fichero de registros resultante usando programas como less, more, cat, etc.

Verás que el registro se captura como a continuación;

# less 100.68.6.1-2017-02-22-14.log

2017 Feb 22 14:11:04 100.68.6.1 %SYS-5-CONFIG_I: Configured from console by nmmlab on vty0 (100.64.0.241)
2017 Feb 22 14:11:05 100.68.6.1 %SSH-5-SSH2_CLOSE: SSH2 Session from 100.64.0.241 (tty = 0) for user 'nmmlab' using crypto cipher 'aes128-cbc', hmac 'hmac-sha1' closed
2017 Feb 22 14:12:24 100.68.6.1 %SSH-5-SSH2_SESSION: SSH2 Session request from 100.68.2.135 (tty = 0) using crypto cipher '', hmac '' Failed
2017 Feb 22 14:12:24 100.68.6.1 %SSH-5-SSH2_CLOSE: SSH2 Session from 100.68.2.135 (tty = 0) for user '' using crypto cipher '', hmac '' closed

Resolución de Problemas

Si n oaparecen ficheros dentro de la carpeta /var/log/network directory, entonces otro comando a probar estando dentro del router, en modo configuración, es usar shutdown / no shutdown en un interfaz de Loopback, por ejemplo:

$ ssh nmmlab@bdr1.campusY.ws.nsrc.org

bdr1.campusY> enable
bdr1.campusY# conf t
bdr1.campusY(config)# interface Loopback 999
bdr1.campusY(config-if)# shutdown

Espere unos segundos

bdr1.campusY(config-if)# no shutdown

Luego salga y salve la configuración ("write mem"):

bdr1.campusYconfig-if)# exit
bdr1.campusY(config)# exit
bdr1.campusY# write memory
bdr1.campusY# exit

Comprobar los fichero de registros dentro de /var/log/network

# cd /var/log/network
# ls

... siga la cadena de carpetas

¿Todavía no aparecen ficheros con registros?

Intente el siguiente comando para enviar un mensaje de registro de prueba localmente:

# logger -p local0.info "Hello World\!"

Si todavía no se ha creado ningún fichero dentro de /var/log/network, entonces compruebe la configuración en busca de posibles errores. No olvide reiniciar el servicio syslog-ng cada vez que se cambie la configuración.

¿Qué otros comandos piensas que se podrían ejecutar en el router (TENGA CUIDADO!) que generen mensajes syslog? Puede intentar entrar en el router y escribir una contraseña incorrecta para "enable".

Usar el comando "ls" en la carpeta de registros para ver si se ha creado algún archivo de registros en algún momento.