18
PROTOCOLO MRTG USANDO WIFI EN LINUX UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA ADMINISTRACIÓN DE REDES. PROYECTO 1 PROTOCOLO MRTG USANDO WIFI EN LINUX ALUMNOS: GRANADOS CHAVARRIA EDUARDO HERNANDEZ BERMUDES ANDRES. NAVA NAVA ALEJANDRO GRUPO TEORIA: 2 PROFESOR: ING. ALEJANDRO MENA FECHA DE ENTREGA: 10 DE OCTUBRE DEL 2008.

PROTOCOLO MRTG USANDO WIFI EN LINUX

Embed Size (px)

DESCRIPTION

PROTOCOLO MRTG USANDO WIFI EN LINUX

Citation preview

Page 1: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

FACULTAD DE INGENIERÍA

ADMINISTRACIÓN DE REDES.

PROYECTO 1

PROTOCOLO MRTG USANDO WIFI EN LINUX

ALUMNOS:

GRANADOS CHAVARRIA EDUARDO

HERNANDEZ BERMUDES ANDRES.

NAVA NAVA ALEJANDRO

GRUPO TEORIA: 2

PROFESOR: ING. ALEJANDRO MENA

FECHA DE ENTREGA: 10 DE OCTUBRE DEL 2008.

Page 2: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

ÍNDICE:

Introducción _____________________________________________________________________

Equipo del proyecto _______________________________________________________________

Desarrollo _______________________________________________________________________

Instalación del SNMP ______________________________________________________________

Configuración del SNMP ___________________________________________________________

Instalación de Apache2 _____________________________________________________________

Configuración de Apache2 __________________________________________________________

Instalación de MRTG ______________________________________________________________

Configuración de MRTG ___________________________________________________________

Resultados _____________________________________________________________________

Problemáticas presentadas en el desarrollo ____________________________________________

Conclusiones ____________________________________________________________________

Page 3: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

INTRODUCCIÓN.

Se implementara un monitoreo del ancho de banda en una red de datos implementada sobre la interfaz WiFi entre dos equipos con GNU/Linux como sistema operativo.

La administración de red es necesaria para poder asegurar que se brindan correctamente los servicios para los que esta diseñada, además de asegurar que cumple con un nivel aceptable de seguridad. Para la medición del trafico se utilizara el Protocolo Simple de Administración de Red (en ingles, Simple Network Manager Protocol SNMP) y el Graficador de Trafico para Routers (Multi Router Traffic Grapher, MRTG).

El SNMP es un protocolo en la capa de aplicación (capa 7) del modelo OSI, que permite una estructura de mensajes para el intercambio de información entre el administrador y el agente SNMP, para que el protocolo pueda ser implementado se requiere de:

• Un administrador SNMP, es un sistema empleado para controlar la actividad de los componentes de la red, regularmente denominado NMS, Sistema de Administración de Red (Network Management System).

• Un agente SNMP, es el componente software dentro del dispositivo administrado que mantiene los datos del mismo e informa al administrador acerca de ellos, cuando se requiere. Contiene variables de la MIB cuyos valores pueden ser solicitados o modificados por el administrador SNMP, mediante operaciones get y set.

• Una MIB, es una colección de objetos de información de administración, residente en el dispositivo administrado.

MRTG es utilizado para supervisar el trafico en la red mostrando, para obtener esta información pide los datos requeridos o que se desean monitorizar al servidor SNMP y este los interpreta en gráficas en una página de HTML por lo que también es necesario instalar un seridor Web, en este caso Apache2, el MRTG pide la información cada cierto tiempo constante, esto es controlado por el cron. Las gráficas que se pretenden ser mostradas son:

Análisis de trafico para el host eduardo-linux en la interfaz wlan0Análisis de trafico para el host VF-11 en la interfaz ath0

A continuación se muestra un ejemplo de las gráficas que se desean obtener

La red que sera empleara para este proyecto es bajo el estándar IEEE 802.11g también conocido como WiFi, que permite la conexión de equipos de computo de forma inalámbrica, para poder establecer una comunicación es necesario un punto de acceso en caso de desear conectar varios nodos a la red, si solo requerimos conectar dos nodos se puede establecer una conexión mediante ad-hoc (de maquina a maquina).

Page 4: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

EQUIPO DEL PROYECTO.

Para la implementación de la red que requerimos para el proyecto se utilizo un access point y dos host con tarjeta inalámbrica compatible con IEEE 802.11g

Access Point:Router Belkin Wireless G Router, modelo F5D7230-4 capaz de soportar el estándar 802.11g

HostEn la siguiente tabla se muestran los host que tuvo la red durante el desarrollo del proyecto

Modelo Sistema Operativo NIC Dirección IP*

Acer Aspire One Debian Lenny IEEE 802.11bgAtheros bg wifi interface

192.168.2.3

Sony Vaio FE630F

Ubuntu 8.04 IEEE 802.11abgIntel PRO wireless ABG network connection

192.168.2.4

*Las direcciones IP se asignaron por DHCP.

Desarrollo:

Instalación del servidor SNMP.

El servidor SNMP fue instalado en el equipo Sony Vaio, para instar se utilizó apt-get:

$ sudo apt-get install snmp snmpd

Page 5: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

CONFIGURACIÓN DEL SERVIDOR SNMP.

Para configurar el SNMP se utilizo el comando snmpconf:

Al iniciar el programa nos pide donde creara el archivo de configuración, se ejecuto como root y se selecciona la opción que almacena en /etc/snmp/snmpd.conf

$ sudo snmpconf

Cuando nos pregunta que tipo de archivo de configuración se desea crear, elegir la opción 1 (snmpd.conf).

En la siguiente pantalla nos da una lista de los parámetros que pueden ser configurados, que son:

1: Extending the Agent2: Monitor Various Aspects of the Running Host3: System Information Setup4: Trap Destinations5: Agent Operating Mode6: Access Control Setup

Se configura la opción 3: System Information Setup, donde pide la localización física y datos de contacto del| administrador:

1: The [typicallly physical] location of the system2: The contact information for the administrator3: The proper value for the sysServices object

Page 6: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

En 1: The [typicallly physical] location of the system, colocamos la ubicación del administrador y en 2: The contact information for the administrator colocamos el nombre y correo del administrador, posteriormente salimos de este submenú con finished.

En el menu anterior elejimos la opción 5: Agent Operating Mode. En el nuevo submenú elegir 4: The IP address and port number that the agent will listen on, aquí ingresamos el puerto y protocolo que utiliza, en este caso introducimos:

tcp:161

En la opción 1: Should the agent operate as a master agent or not, despliega una lista de argumentos que acepta aquí se introduce: agentx.

y regresamos al menú principal con finished.

Continuamos con el 6: Access Control Setup para dar de alta las comunidades, primero se configura la opción 3: a SNMPv1/SNMPv2c read-only access community name: (nombre de la comunidad de solo lectura: lecture, red que se utiliza es la 192.168.2.0/24 y dejar en blanco la OID.

En la opción 4: a SNMPv1/SNMPv2c read-write access community name, que es la comunidad de lectura y escritura se utiliza el nombre: writing, con IP local como 127.0.0.1 dejando en blanco el OID.

Regresar al menú principal con finished, y salir del menú principal del configuración con finished. Enseguida tecleamos quit y preguntara si desea sobre escribir el archivo a lo cual accedemos con overwrite. Después de esto regresamos a la consola y podemos verificar el archivo con:

$ less /etc/snmp/snmp.conf

Page 7: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

A continuación se muestra el archivo de configuración:

########################################################################### # # snmpd.conf # # - created by the snmpconf configuration program #

########################################################################### # SECTION: System Information Setup # # This section defines some of the information reported in # the "system" mib group in the mibII tree.

# syslocation: The [typically physical] location of the system. # Note that setting this value here means that when trying to # perform an snmp SET operation to the sysLocation.0 variable will make # the agent return the "notWritable" error code. IE, including # this token in the snmpd.conf file will disable write access to # the variable. # arguments: location_string

syslocation "Sony Vaio"

# syscontact: The contact information for the administrator # Note that setting this value here means that when trying to # perform an snmp SET operation to the sysContact.0 variable will make # the agent return the "notWritable" error code. IE, including # this token in the snmpd.conf file will disable write access to # the variable. # arguments: contact_string

syscontact "Eduardo G; [email protected]"

Page 8: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

########################################################################### # SECTION: Agent Operating Mode # # This section defines how the agent will operate when it # is running.

# master: Should the agent operate as a master agent or not. # Currently, the only supported master agent type for this token # is "agentx". # # arguments: (on|yes|agentx|all|off|no)

master agentx

# agentaddress: The IP address and port number that the agent will listen on. # By default the agent listens to any and all traffic from any # interface on the default SNMP port (161). This allows you to # specify which address, interface, transport type and port(s) that you # want the agent to listen on. Multiple definitions of this token # are concatenated together (using ':'s). # arguments: [transport:]port[@interface/address],...

agentaddress 161 agentaddress tcp:161

########################################################################### # SECTION: Access Control Setup # # This section defines who is allowed to talk to your running # snmp agent.

# rocommunity: a SNMPv1/SNMPv2c read-only access community name # arguments: community [default|hostname|network/bits] [oid]

rocommunity lecture 192.168.2.0/24 rocommunity lecture 127.0.0.1

# rwcommunity: a SNMPv1/SNMPv2c read-write access community name # arguments: community [default|hostname|network/bits] [oid]

rwcommunity writing 127.0.0.1 rwcommunity writing 192.168.2.2

## END OF FILE CONFIG.#

Por ultimo volvemos a cargar la configuración al demonio del snmp.Con:

$ sudo /etc/init.d/snmpd reload

Para verificar que el puerto 161 este abierto se puede comprobar con el siguiente comando:

$ netstat -natup | grep 161

Page 9: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

Para comprobar que e servicio y la configuración han sido levantados correctamente utilizamos el mbrowser que es un navegador de MIB para SNMP, se pude descargar con:

$ sudo apt-get install mbrowser

Primero se realiza una prueba en el host local llenando los campos de comunidad de lectura con “lecture” y la comunidad de escritura con “writing” y navegando por el árbol de las MIBs, por ejemplo en: /iso/org/dod/internet/mgmt/mib-2/system/sysDescr

Page 10: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

Una vez que ha contestado se realiza la misma prueba con el host que pertenece a la comunidad de solo lectura (lecture) colocando en Host Name la IP.

Page 11: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

Ya que se comprobó que la conexión se realizo satisfactoriamente entre las dos computadoras se prosiguió con las instalación y configuración del MRTG, sin embargo, como ya se dijo anteriormente este programa utiliza un servidor web por lo tanto se prosiguió a instalar primero Apache2 en la computadora que pertenece al administrador, Acer Aspire One.

INSTALACIÓN DE APACHE2.

Para instalar el servidor apache se introduce el siguiente comando:

$ sudo apt-get install apache2

CONFIGURACIÓN DE APACHE2.

El servidor apache no necesito configuración solo creamos el directorio de trabajo de mrtg bajo el root de apache (/var/www)

# mkdir /var/www/mrtg

Con este directorio se accede a la pagina de trabajo de mrtg con la siguiente dirección

http://192.168.2.3/mrtg

Donde 192.168.2.3 es la dirección IP dentro de la red local para nuestro servidor web

Hasta aquí no se ha generado una pagina de índice para el directorio mrtg, el navegador nos generara el índice del directorio automáticamente.

A continuación se muestra la pagina de índice que genera el navegador estando el directorio mrtg vacío

Page 12: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

INSTALACIÓN DE MRTG.

Para instalar el mrtg en sistemas debian se ejecuta el gestor de paquetes apt

# apt-get install mrtg

El paquete mrtg esta en los repositorios predeterminados de debian así que los únicos requisitos son tener una conexion a internet y los repositiorios bien configurados, en caso de no tener estos requisitos se puede bajar manualmente el paquete e instalarlo con el siguiente comando

# dpkg -i <paquete>.deb

CONFIGURACIÓN DE MRTG.

Para la configuración se utilizaron los programas cfgmaker e indexmaker, cgkmaker nos establece la configuración que debemos de tener en /etc/mrtg.cfg e indexmaker nos construye la pagina de indice para el directorio de trabajo de mrtg (en este caso /var/www/mrtg)

Para obtener el archivo de configuracion para mrtg se ejecuta el siguiente comando

# cfgmaker comunidad@host

Page 13: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

Este comando manda a stdout la configuracion que debe de ir en mrtg así que tenemos la opción de especificar el archivo de salida en el programa o continuar de la siguiente forma

# cfgmaker comunidad@host >> /etc/mrtg.cfg

Con esto redirigimos la salida del programa de stdout al archivo de configuracion, si ya existia el archivo se agrega el nuevo contenido al final del mismo

Con esto ya podemos crear nuestro archivo /etc/mrtg.cfg con los hosts que vamos a analizar de la siguiente manera:

# cfgmaker [email protected] >> /etc/mrtg.cfg# cfgmaker [email protected] >> /etc/mrtg.cfg

Al introducir estos comandos se genera la configuración para que nos muestre las interfaces de red activas de cada host, sin embargo en este proyecto solo se va a analizar la interfaz de red inalámbrica, por lo que se quitaron las demás interfaces (que además estaban comentadas) del archivo de configuración.

A continuación se muestra el contenido del archivo de configuración de mrtg:

###################################################################### ## /etc/mrtg.cfg START

### Global Config Options

# for Debian WorkDir: /var/www/mrtg

### Global Defaults

## Deshabilitamos el soporte para IPv6EnableIPv6: no ## Nuestro servidor snmp es version 2c por lo que no requerimos soportar la version 3EnableSnmpV3: no ## Establecemos el tiempo de refresco de la pagina a 5 minutos (300 segundos)Refresh: 300

##Title[^]: Traffic Analysis for

## Configuraciones para el Host1

###################################################################### # Comando que se ejecuto para obtener las configuraciones # /usr/bin/cfgmaker [email protected]

###################################################################### # System: VF-11 # Description: Linux VF-11 2.6.26-1-686 #1 SMP Wed Sep 10 16:46:13 UTC 2008 i686 # Contact: root@VF-11 # Location: Random Location ######################################################################

## Interfaz de red inalambrica compatible con WiFi

### Interface 4 >> Descr: 'ath0' | Name: 'ath0' | Ip: '192.168.2.3' | Eth: '' ###

Target[192.168.2.3_4]: 4:[email protected]: SetEnv[192.168.2.3_4]: MRTG_INT_IP="192.168.2.3" MRTG_INT_DESCR="ath0"

Page 14: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

MaxBytes[192.168.2.3_4]: 1250000 Title[192.168.2.3_4]: Traffic Analysis for 4 -- VF-11 PageTop[192.168.2.3_4]: <h1>Traffic Analysis for 4 -- VF-11</h1>

<div id="sysdetails"> <table>

<tr> <td>System:</td> <td>VF-11 in Random Location</td>

</tr> <tr>

<td>Maintainer:</td> <td>root@VF-11</td>

</tr> <tr>

<td>Description:</td> <td>ath0 </td>

</tr> <tr>

<td>ifType:</td> <td>ethernetCsmacd (6)</td>

</tr> <tr>

<td>ifName:</td> <td>ath0</td>

</tr> <tr>

<td>Max Speed:</td> <td>1250.0 kBytes/s</td>

</tr> <tr>

<td>Ip:</td> <td>192.168.2.3 (VF-11.local)</td>

</tr> </table>

</div>

## Configuraciones para el Host1

###################################################################### # Comando que se ejecuto para obtener las configuraciones # /usr/bin/cfgmaker [email protected]

###################################################################### # System: eduardo-linux # Description: Linux eduardo-linux 2.6.24-19-generic #1 SMP Wed Aug 20 22:56:21 UTC 2008 i686 # Contact: "Eduardo G; [email protected]" # Location: "Sony Vaio" ######################################################################

## Interfaz de red inalambrica compatible con WiFi

### Interface 4 >> Descr: 'wlan0' | Name: 'wlan0' | Ip: '192.168.2.4' | Eth: '' ###

Target[192.168.2.4_4]: 4:[email protected]: SetEnv[192.168.2.4_4]: MRTG_INT_IP="192.168.2.4" MRTG_INT_DESCR="wlan0" MaxBytes[192.168.2.4_4]: 1250000 Title[192.168.2.4_4]: Traffic Analysis for 4 -- eduardo-linux PageTop[192.168.2.4_4]: <h1>Traffic Analysis for 4 -- eduardo-linux</h1>

<div id="sysdetails"> <table>

<tr> <td>System:</td> <td>eduardo-linux in "Sony Vaio"</td>

</tr> <tr>

<td>Maintainer:</td> <td>"Eduardo G; [email protected]"</td>

</tr> <tr>

<td>Description:</td> <td>wlan0 </td>

Page 15: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

</tr> <tr>

<td>ifType:</td> <td>ethernetCsmacd (6)</td>

</tr> <tr>

<td>ifName:</td> <td>wlan0</td>

</tr> <tr>

<td>Max Speed:</td> <td>1250.0 kBytes/s</td>

</tr> <tr>

<td>Ip:</td> <td>192.168.2.4 (eduardo-linux.local)</td>

</tr> </table>

</div>

## /etc/mrtg.cfg END######################################################################

Page 16: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

Resultados Las gráficas obtenidas fueron las siguientes

http://192.168.2.3/mrtg

http://192.168.2.3/mrtg/192.168.2.3_4.html

http://192.168.2.3/mrtg/192.168.2.4_4.html

Page 17: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

Videos.Aqui se muestra todo el desarrollo de la instalaciń e implementaciń de SNMP y MRTG

http://www.youtube.com/watch?v=TCSLS-bYQ7ohttp://www.youtube.com/watch?v=I3LwOoRlQ8Yhttp://www.youtube.com/watch?v=4cUSLzJBIF0

http://www.youtube.com/watch?v=x5_ReHAypkEhttp://www.youtube.com/watch?v=YwZJxYgidtA

Problemáticas presentadas en el desarrollo

La problemática que se nos presento fue la configuración del snmp, nos tratamos de basar en la práctica de laboratorio, sin embargo, había algunos cambios que tuvimos que hacer, el activar directamente el puerto del firewall. Y al intentar hacer directamente la configuración del snmp en el archivo de configuración.

Para este problema usamos el programa snmpconfig como root en el directorio /etc/:

user@host-name:/etc$ sudo snmpconfig

Fuera de esto no se presento otro problema.

Conclusiones.

El proyecto se concluyo de forma satisfactoria dado que se logro implementar el protocolo SNMP y MRTG, además de que se pudo configurar el cron para así poder modificar el tiempo de actualización del refresco de la página y así poder ponerlas en el tiempo que se deseé mayor o menos a los cinco minutos, esto es en el archivo /etc/cron.d/mrtg

Modificando:# each minute 0-59/1 * * * * root if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then env LANG=C /usr/bin/mrtg /etc/mrtg.cfg >> /var/log/mrtg/mrtg.log 2>&1; fi

También para poder agregar más gráficas de información que deseemos leer tales como: puertos abertos, memoria libre, uso de CPU, usuarios conectados, etc. (todas las MIBs disponibles), se añada en el archivo /etc/mrtg.cfg, posteriormente actulizar con:

$sudo indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

Por ejemplo para puertos abiertos:

Page 18: PROTOCOLO MRTG USANDO WIFI EN LINUX

PROTOCOLO MRTG USANDO WIFI EN LINUX

### TCP ABIERTOS ###

Target[arpanet.tcp]: .1.3.6.1.2.1.6.9.0&.1.3.6.1.2.1.6.9.0:[email protected]

RouterUptime[arpanet.tcp]: [email protected]

Options[arpanet.tcp]: nopercent,growright,gauge

Title[arpanet.tcp]: Conexiones TCP abiertas

PageTop[arpanet.tcp]: <h1>Conexiones TCP abiertas</h1>

MaxBytes[arpanet.tcp]: 1000000

YLegend[arpanet.tcp]: Conexiones

ShortLegend[arpanet.tcp]: Conexiones

LegendI[arpanet.tcp]: Conexiones:

LegendO[arpanet.tcp]:

Legend1[arpanet.tcp]: Conexiones TCP abiertas

La sintaxys es:

### NOMBRE DE LA GRÁFICA###Target[arpanet.tcp]: MIBs:comunidad@IPhost

RouterUptime[arpanet.tcp]: [email protected]

Options[arpanet.tcp]:OPCIONES COMO: nopercent,growright,gauge

Title[arpanet.tcp]: TITULO DEL GRAFICO

PageTop[arpanet.tcp]: <h1>TITULO DEL GRAFICO</h1>

MaxBytes[arpanet.tcp]:

YLegend[arpanet.tcp]: nombre del eje Y

ShortLegend[arpanet.tcp]: Leyenda del gráfico

LegendI[arpanet.tcp]: Conexiones:

LegendO[arpanet.tcp]:

Legend1[arpanet.tcp]: Conexiones TCP abiertas

Con esto nos da mucho más opciones de medir el uso de la computadora deseada.

Bibliografía:

➢ HowTo Multi Router Traffic Grapherhttp://arpaneting.es/stuff/mrtg_howto.html

➢ Manual de MRTG disponible en linux:$ man mrtg

➢ Manual de SNMP disponible en linux$ man snmp