====== Graficar el tráfico del enlace con MRTG ====== (Este tutorial es un trabajo en progreso). ===== Configuración del enrutador ===== Para graficar el tráfico, primeramente es necesario preparar el enrutador (//router//). Supongamos que es un modem-router Huawei SmartAX de los que abundan por las empresas, que tiene la direción 192.168.1.1 Accedemos al enrutador por telnet:((La autenticación suele ser en muchos casos la palabra //admin// tanto para //login// como //password// (de ser este el caso, es recomendable cambiarla, si podemos).)) telnet 192.168.1.1 Si nos dice algo como 'Login Successful' es que ya estamos en la interfaz de comandos del enrutador. Desde ahi realizaremos algunas operaciones. Primero habilitamos la notificación de cambios de estado (//trap//) y lo comprobamos: modify snmp trap enable get snmp trap Ahora eliminamos ciertas comunidades que a veces vienen predeterminadas, para en su lugar crear una personalizada con acceso de solo lectura, para que un posible atacante no pueda modificar nuestra configuración si llega a averiguar la comunidad. Nótese que a los efectos de SNMP versiones 1 y 2c, la comunidad no es una simple cadena de texto, sino que realmente es una contraseña, por lo que dejar los valores predeterminados representa una vulnerabilidad (porque son demasiado comunes), especialmente si una comunidad tiene acceso de lectura y escritura (rw). En este tutorial, utilizaremos la comunidad COMUNEMPRESA.((Para mejor compatibilidad con diferentes aplicaciones, podemos asignar a la cadena de la comunidad hasta 32 caracteres alfanuméricos (hay distinción de mayúsculas y minúsculas).)) Adicionalmente, podemos declarar una dirección IP específica a la cual enviar las notificaciones de cambios de estado. Los últimos dos comandos son para comprobación: delete snmp comm community private delete snmp comm community public create snmp comm community COMUNEMPRESA ro create snmp host community COMUNEMPRESA ip 192.168.1.2 get snmp comm get snmp host Finalmente, guardamos los cambios, y salimos: commit exit Para poder utilizar el protocolo SNMP, debemos cerciorarnos que en el agente (agent) tenemos habilitada la entrada y salida en el puerto UDP 161 (solo para el acceso desde el equipo autorizado a hacer consultas SNMP), la salida en el puerto UDP 162, y también que en el gestor (manager) esté habilitada la entrada en los puertos UDP 161 y 162 (solo para paquetes provenientes del agente), y la salida hacia el puerto UDP 161 del agente. En este caso el agente sería el enrutador, y el gestor sería la PC, por lo que habría que configurar el cortafuegos que utilicemos en la PC y posiblemente también el propio enrutador (lo cual usualmente se puede hacer desde su interfaz de configuración web). ===== Instalación y configuración del software ===== 01- Comencemos instalando ''mrtg'': aptitude install mrtg Opcionalmente podemos comprobar si recibimos datos del enrutador, para lo cual utilizamos el siguiente comando, que debería producir bastante información: snmpwalk -v1 -c COMUNEMPRESA 192.168.1.1 -m ALL .1 02- Ahora, generamos la configuración de ''mrtg'' con este comando:((Otra manera de hacerlo: cfgmaker --output=/etc/mrtg.cfg COMUNEMPRESA@192.168.1.1)) cfgmaker COMUNEMPRESA@192.168.1.1 > /etc/mrtg.cfg 03- Revisamos el fichero ''/etc/mrtg.conf'' para confirmar si la configuración se escribió: editor /etc/mrtg.conf Para que el gráfico aparezca de forma correcta, ponemos esta entrada en el fichero: Options[_]: growright, bits 04- Ahora para generar las imágenes del tráfico, ejecutamos este comando: indexmaker /etc/mrtg.cfg --output=/var/www/mrtg/index.html 2> /dev/null& Para graficar más de un enrutador, repetimos el paso 2, pero dirigiendo la salida a otro fichero (''mrtg2.cfg'') y luego copiamos su contenido en el primer fichero (''mrtg.cfg'') 05- Ahora editamos el crontab: crontab -e Agregamos estas dos entradas: /5 * * * * root indexmaker /etc/mrtg.cfg --output=/var/www/mrtg/index.html 2> /dev/null& */5 * * * * root /usr/bin/mrtg /etc/mrtg.cfg 2> /dev/null& 06- Creamos un virtual host llamado ''mrtg'' y colocamos esto dentro: ServerName mrtg.dominio.cu ServerAdmin admin@dominio.cu DocumentRoot /var/www/mrtg Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On 07- Hacer el enlace simbólico **(cuál?)** 08- Crear un registro en el DNS con el nombre ''mrtg'' 09- Reiniciar el servicio de DNS (usualmente bind9) 10- Reiniciar cron 11- Reiniciar apache Con suerte, ya todo debe estar listo. ===== Notas ===== Estos pasos sirven para cualquier enrutador, solo que en los telindus 1421 y 1423 la comunidad snmp del enrutador coincide con el password del equipo. Para otros enrutadores hay que entrar al modo de programación y habilitarle las conexiones snmp. Los 1421 o 1423 en ocasiones vienen desactivadas. Puedes pedirle a los compañeros de ETECSA que te lo activen y si no quieren darte la clave de full access que te creen un usuario de read only, funciona igual para el mrtg. Con MRTG se puede graficar casi todo lo que te propongas si sabes programar un poco en bash. Antiguamente yo graficaba la cola de los MX, la descarga y subida de los SQUID, el tráfico de las 24 puertas que tenía mi switcher gestionable capa2 pues tenía comunidad snmp, la temperatura, presión y humedad relativa de mi localidad dada por un fichero que bajaba de NOOA y en algún lugar que no recuerdo ví hasta un termómetro gestionable que tenía conexión por ethernet, que graficaba la temperatura real del nodo.