Gestão de Sistemas e Redes, práctica sobre MIB y SNMP
 
Sergio González González
Instituto Politécnico de Bragrança (http://www.ipb.pt/), Portugal
sergio.gonzalez@hispalinux.es
Jónatan Grandmontagne García
Instituto Politécnico de Bragrança (http://www.ipb.pt/), Portugal
thestalker44@hotmail

Gestão de Sistemas e Redes, práctica sobre MIB y SNMP
por Sergio González González
por Jónatan Grandmontagne García
Documento que muestra las respuestas a las preguntas formuladas en el trabajo práctico sobre SNMP de Gestão de Sistemas e Redes

Tabla de contenidos
1. Definir uma MIB de ejemplo	000
Primera Pregunta, definición de una MIB:	000
Respuesta a la primera pregunta:	000
2. Descubrir información de gestión en MIBs	000
Segunda pregunta, descubrir información de gestión en MIBs:	000
Respuestas a la segunda pregunta:	000
¿Cuándo (día y hora) se efectuó el último reset a la impresora con la dirección IP 192.168.69.100?	000
¿Cuántas interfaces físicas (excluyendo el loopback y las interfaces virtuales) tiene el switch con la dirección IP 192.168.69.200?	000
¿Cuál es la velocidad (en MBps) de estas interfaces?	000
¿Cuál es la dirección MAC de la interfaz que ha recibido más paquetes?	000
3. Configuración de MRTG	000
Tercera pregunta, configuración de MRTG para la obtención de estadísticas de ancho de banda	000
Respuesta a la tercera pregunta:	000
Instalación y configuración de apache y MRTG	000
Leer la información del switch con MRTG	000
Configuración de cron	000
Asegurar el directorio /var/www/mrtg	000
A. mrtg.cfg	000
B. httpd.conf	000
4. Licencia	000
Bibliografía	000

Lista de figuras
3-1. Pantalla de configuración de apache durante la instalación	000
3-2. Pantalla de configuración de MRTG durante la instalación	000
3-3. Pantalla de autentificación para el directorio /var/www/mrtg	000

Capítulo 1. Definir uma MIB de ejemplo
Primera Pregunta, definición de una MIB:
El primer ejercicio, definir una MIB de ejemplo, pedía lo siguiente:
Definir una MIB que se destinará a equipar un sistema integrado en una pequeña red de comunicación. Esta define cuatro parámetros:
•	La dirección IP del sistema
•	El nombre del sistema (un string)
•	El tiempo transcurrido desde que el sistema se ha encendido (en centésimas de segundo)
•	Una tabla de encaminamiento, donde cada línea incluirá: una dirección de destino, una política de encaminamiento y la dirección del próximo router (next hop)
Para completar esta pregunta, la MIB ha de ser escrita en SMI y la sintaxis validada en http://www.simpleweb.org/ietf/mibs/
Respuesta a la primera pregunta:
La MIB realizada, en respuesta a la pregunta anterior, ha sido la siguiente:
MIB-IPC DEFINITIONS ::= BEGIN

IMPORTS
        mgmt, IpAddress, TimeTicks
                FROM RFC1155-SMI
        OBJECT-TYPE
                FROM RFC-1212;

        --  MIB-II (same prefix as MIB-I)
        
        mib-2      OBJECT IDENTIFIER ::= { mgmt 1 }       

        -- This data type is used to model textual information taken
        -- from the NVT ASCII character set.  By convention, objects
        -- with this syntax are declared as having

        DisplayString ::=
                OCTET STRING

        -- groups in MIB-IPC
        
        system       OBJECT IDENTIFIER ::= { mib-2 1 }
        
        ip           OBJECT IDENTIFIER ::= { mib-2 4 }

-- System IP address

sysIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "System IP address."
        ::= { system 1 }

-- System name

sysName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..255))
        
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "An administratively-assigned name for this
                managed node.  By convention, this is the node's
                fully-qualified domain name."
        ::= { system 2 }

-- System uptime

sysUpTime OBJECT-TYPE
        SYNTAX  TimeTicks
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The time (in hundredths of a second) since the
                network management portion of the system was last
                re-initialized."
        ::= { system 3 }

-- Route table

IpRouteEntry ::=
        SEQUENCE {
                ipRouteDest
                        IpAddress,
                ipRouteMetric1
                        INTEGER,
                ipRouteNextHop
                        IpAddress
        }

ipRouteTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF IpRouteEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "This entity's IP Routing table."
        ::= { ip 21 }

ipRouteEntry1 OBJECT-TYPE
        SYNTAX  IpRouteEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A route to a particular destination."
        INDEX   { ipRouteDest }
        ::= { ipRouteTable 1 }

ipRouteMetric1 OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The primary routing metric for this route.  The
                semantics of this metric are determined by the
                routing-protocol specified in the route's
                ipRouteProto value.  If this metric is not used,
                its value should be set to -1."
        ::= { ipRouteEntry1 1 }

ipRouteDest OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The destination IP address of this route.  An
                entry with a value of 0.0.0.0 is considered a
                default route.  Multiple routes to a single
                destination can appear in the table, but access to
                such multiple entries is dependent on the table-
                access mechanisms defined by the network
                management protocol in use."
        ::= { ipRouteEntry1 2 }

ipRouteNextHop OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The IP address of the next hop of this route.
                (In the case of a route bound to an interface
                which is realized via a broadcast media, the value
                of this field is the agent's IP address on that
                interface.)"
        ::= { ipRouteEntry1 3 }

END

Capítulo 2. Descubrir información de gestión en MIBs
Segunda pregunta, descubrir información de gestión en MIBs:
El segundo ejercicio, descubrir información de gestión en MIBs, pedía lo siguiente:
Debe intentar descubrir las respuestas a las siguientes preguntas:
	1.	¿Cuándo (día y hora) se efectuó el último reset a la impresora con la dirección IP 192.168.69.100?
	2.	¿Cuántas interfaces físicas (excluyendo el loopback y las interfaces virtuales) tiene el switch con la dirección IP 192.168.69.200?
	3.	¿Cuál es la velocidad (en MBps) de estas interfaces?
	4.	¿Cuál es la dirección MAC de la interfaz que ha recibido más paquetes?
Respuestas a la segunda pregunta:
Las siguientes secciones irán mostrando las respuestas a las preguntas formuladas anteriormente:
¿Cuándo (día y hora) se efectuó el último reset a la impresora con la dirección IP 192.168.69.100?
Para obtener el tiempo que lleva encendido un dispositivo (uptime) se ha de consultar la propiedad sysUpTime. Por lo tanto, para responder a la pregunta formulada, realizamos la siguiente consulta al switch:
$ snmpgetnext -v 2c -c public 192.168.69.100 sysUpTime
system.sysUpTime.0 = Timeticks: (6125790) 17:00:57.90
Luego consultamos la hora en la que se realizó la consulta al switch:
$ date
Thu Jan  8 13:45:59 WET 2004
Resultado: Por lo tanto, la impresora se reseteó el día 7 de enero de 2004 a las 20:45 horas.
¿Cuántas interfaces físicas (excluyendo el loopback y las interfaces virtuales) tiene el switch con la dirección IP 192.168.69.200?
La respuesta a esta pregunta, implica consultar la tabla de información del swich y seleccionar aquellas interfaces que no sean ni virtuales ni el loopback del dispositivo. El comando necesario para obtener esta información es el siguiente:
$ snmptable -v 2c -c public  192.168.69.200 ifTable
SNMP table: interfaces.ifTable

         ifSpecific ifOutQLen ifOutErrors ifOutDiscards ifOutNUcastPkts ifOutUcastPkts ifOutOctets ifInUnknownProtos ifInErrors ifInDiscards ifInNUcastPkts ifInUcastPkts ifInOctets  ifLastChange ifOperStatus ifAdminStatus   ifPhysAddress    ifSpeed ifMtu           ifType                                        ifDescr ifIndex
     transmission.7         0           0             0         4772350          13746  1940714888                 0          0            0            993          8155    1037049 1:22:02:02.51           up            up 0:8:83:8f:a7:a1  100000000  1514   ethernetCsmacd                                              1       1
     transmission.7         0           0             0         4664349         421808  2482458454                 0          0            0           2431        159761   19217896 1:20:53:09.51           up            up 0:8:83:8f:a7:a2  100000000  1514   ethernetCsmacd                                              2       2
     transmission.7         0           0             0         4783020         809516  2761883718                 0          0            0          14915        662205  181915950  0:0:00:02.18           up            up 0:8:83:8f:a7:a3  100000000  1514   ethernetCsmacd                                              3       3
     transmission.7         0           0             0         4749309         144533  1986333911                 0          0            0           2317        116627   29774739 1:22:50:47.51           up            up 0:8:83:8f:a7:a4  100000000  1514   ethernetCsmacd                                              4       4
     transmission.7         0           0             0         4738322         481385  2442572860                 0          0            0            959        307312   31926214 1:22:08:35.51           up            up 0:8:83:8f:a7:a5  100000000  1514   ethernetCsmacd                                              5       5
     transmission.7         0           0             0         4609942         184329  2063552036                 0          0            0           1024        146452   21126889 1:21:12:59.51           up            up 0:8:83:8f:a7:a6  100000000  1514   ethernetCsmacd                                              6       6
     transmission.7         0           0             0         4570658          64120  1941847088                 0          0            1            831         48561   16209315 1:21:11:49.51           up            up 0:8:83:8f:a7:a7  100000000  1514   ethernetCsmacd                                              7       7
     transmission.7         0           0             0         4562475          95065  1967716857                 0          0            0            902         80321   19917442 1:21:01:37.51           up            up 0:8:83:8f:a7:a8  100000000  1514   ethernetCsmacd                                              8       8
     transmission.7         0           0             0         4786196          11776  1941059350                 0          0            0            409          8221    3541791 1:23:22:33.52           up            up 0:8:83:8f:a7:a9  100000000  1514   ethernetCsmacd                                              9       9
     transmission.7         0           0             0         4794692         227185  2150433545                 0          0            0           1165        162634   26097246 1:22:01:31.52           up            up 0:8:83:8f:a7:aa  100000000  1514   ethernetCsmacd                                             10      10
     transmission.7         0           0             0         4741560         279553  2135385002                 0         22            0           1062        196260   64498462 1:20:56:50.52           up            up 0:8:83:8f:a7:ab  100000000  1514   ethernetCsmacd                                             11      11
     transmission.7         0           0             0         3666652           5814   362696158                 0          6            0            498          7185     812693 1:22:36:41.52         down            up 0:8:83:8f:a7:ac  100000000  1514   ethernetCsmacd                                             12      12
     transmission.7         0           0             0         3488975           1965   147925597                 0          0            0            236        162027   10503852 1:22:30:49.52           up            up 0:8:83:8f:a7:ad  100000000  1514   ethernetCsmacd                                             13      13
     transmission.7         0           0             0         4572777         175482  2053173030                 0          0            0           1048        128640   22127495 1:21:44:59.52           up            up 0:8:83:8f:a7:ae  100000000  1514   ethernetCsmacd                                             14      14
     transmission.7         0           0             0               0              0           0                 0          0            0              0             0          0  0:0:00:02.21         down            up 0:8:83:8f:a7:af   10000000  1514   ethernetCsmacd                                             15      15
     transmission.7         0           0             0               0              0           0                 0          0            0              0             0          0  0:0:00:02.21         down            up 0:8:83:8f:a7:b0   10000000  1514   ethernetCsmacd                                             16      16
     transmission.7         0           0             0         4782093          53827  1946338824                 0          0            0           1183         40510   26129359 1:23:48:31.52           up            up 0:8:83:8f:a7:b1  100000000  1514   ethernetCsmacd                                             17      17
     transmission.7         0           0             0         4789950          15862  1939740042                 0          0            0            981         12901    8359441 1:20:58:51.52           up            up 0:8:83:8f:a7:b2  100000000  1514   ethernetCsmacd                                             18      18
     transmission.7         0           0             0               0              0           0                 0          0            0              0             0          0  0:0:00:02.22         down            up 0:8:83:8f:a7:b3   10000000  1514   ethernetCsmacd                                             19      19
     transmission.7         0           0             0               0              0           0                 0          0            0              0             0          0  0:0:00:02.22         down            up 0:8:83:8f:a7:b4   10000000  1514   ethernetCsmacd                                             20      20
     transmission.7         0           0             0         4795827         148538  2062665727                 0          1            0            991        115003   19733915 1:20:51:35.52           up            up 0:8:83:8f:a7:b5  100000000  1514   ethernetCsmacd                                             21      21
     transmission.7         0           0             0         3913197         247640  1031029451                 0          0            0            895        185945   40156211 1:20:52:11.52           up            up 0:8:83:8f:a7:b6  100000000  1514   ethernetCsmacd                                             22      22
     transmission.7         0           0             0               0              0           0                 0          0            0              0             0          0  0:0:00:02.23         down            up 0:8:83:8f:a7:b7   10000000  1514   ethernetCsmacd                                             23      23
     transmission.7         0           0             0               0              0           0                 0          0            0              0             0          0  0:0:00:02.23         down            up 0:8:83:8f:a7:b8   10000000  1514   ethernetCsmacd                                             24      24
     transmission.7         0           0             0          496327       44488501  3242352498                 0          0            0        4390506      43624908 3633754744  0:0:00:02.25           up            up 0:8:83:8f:a7:b9 1000000000  1514   ethernetCsmacd                                             25      25
     transmission.7         0           0             0         4340432       40291305   304304064                 0          8            0         547564      41977834 2708781050  0:0:00:02.25           up            up 0:8:83:8f:a7:ba 1000000000  1514   ethernetCsmacd                                             26      26
 .ccitt.zeroDotZero         0           0             0               0              0           0                 0          0            0              0             0          0  0:0:00:05.08           up            up 0:8:83:8f:a7:80          0  1514      propVirtual                                   DEFAULT_VLAN      29
 .ccitt.zeroDotZero         0           0             0               0              0           0                 0          0            0              0             0          0  0:0:00:00.00           up            up                          0 32768 softwareLoopback HP ProCurve Switch software loopback interface    4124

Observando la columna ifType, vemos que hay tres tipos de interfaces:
•	ethernetCsmacd
•	propVirtual
•	softwareLoopback
Resultado: Para obtener el número de interfaces físicas se obtiene contando las entradas ethernetCsmacd de la tabla anterior, por lo tanto, el número total de interfaces físicas que tiene el switch son: 26.
¿Cuál es la velocidad (en MBps) de estas interfaces?
Observando la Tabla de información del switch, vemos una columna denominada ifSpeed. Observando los valores de la misma y viendo a qué interfaz corresponde, podemos ver qué velocidad posee cada interfaz. De esta manera, la repuesta a la presente pregunta será:
Resultado: 
   ifSpeed ifIndex
 100000000       1
 100000000       2
 100000000       3
 100000000       4
 100000000       5
 100000000       6
 100000000       7
 100000000       8
 100000000       9
 100000000      10
 100000000      11
 100000000      12
 100000000      13
 100000000      14
  10000000      15
  10000000      16
 100000000      17
 100000000      18
  10000000      19
  10000000      20
 100000000      21
 100000000      22
  10000000      23
  10000000      24
1000000000      25
1000000000      26
¿Cuál es la dirección MAC de la interfaz que ha recibido más paquetes?
Mirando la Tabla de información del switch, podemos obtener la siguiente tabla:

ifInNUcastPkts ifInUcastPkts   ifPhysAddress           ifType                                        ifDescr ifIndex
           993          8155 0:8:83:8f:a7:a1   ethernetCsmacd                                              1       1
          2431        159761 0:8:83:8f:a7:a2   ethernetCsmacd                                              2       2
         14915        662205 0:8:83:8f:a7:a3   ethernetCsmacd                                              3       3
          2317        116627 0:8:83:8f:a7:a4   ethernetCsmacd                                              4       4
           959        307312 0:8:83:8f:a7:a5   ethernetCsmacd                                              5       5
          1024        146452 0:8:83:8f:a7:a6   ethernetCsmacd                                              6       6
           831         48561 0:8:83:8f:a7:a7   ethernetCsmacd                                              7       7
           902         80321 0:8:83:8f:a7:a8   ethernetCsmacd                                              8       8
           409          8221 0:8:83:8f:a7:a9   ethernetCsmacd                                              9       9
          1165        162634 0:8:83:8f:a7:aa   ethernetCsmacd                                             10      10
          1062        196260 0:8:83:8f:a7:ab   ethernetCsmacd                                             11      11
           498          7185 0:8:83:8f:a7:ac   ethernetCsmacd                                             12      12
           236        162027 0:8:83:8f:a7:ad   ethernetCsmacd                                             13      13
          1048        128640 0:8:83:8f:a7:ae   ethernetCsmacd                                             14      14
             0             0 0:8:83:8f:a7:af   ethernetCsmacd                                             15      15
             0             0 0:8:83:8f:a7:b0   ethernetCsmacd                                             16      16
          1183         40510 0:8:83:8f:a7:b1   ethernetCsmacd                                             17      17
           981         12901 0:8:83:8f:a7:b2   ethernetCsmacd                                             18      18
             0             0 0:8:83:8f:a7:b3   ethernetCsmacd                                             19      19
             0             0 0:8:83:8f:a7:b4   ethernetCsmacd                                             20      20
           991        115003 0:8:83:8f:a7:b5   ethernetCsmacd                                             21      21
           895        185945 0:8:83:8f:a7:b6   ethernetCsmacd                                             22      22
             0             0 0:8:83:8f:a7:b7   ethernetCsmacd                                             23      23
             0             0 0:8:83:8f:a7:b8   ethernetCsmacd                                             24      24
       4390506      43624908 0:8:83:8f:a7:b9   ethernetCsmacd                                             25      25
        547564      41977834 0:8:83:8f:a7:ba   ethernetCsmacd                                             26      26
             0             0 0:8:83:8f:a7:80      propVirtual                                   DEFAULT_VLAN      29
             0             0                 softwareLoopback HP ProCurve Switch software loopback interface    4124
Resultado: Se puede apreciar a simple vista cual es la interfaz que más paquetes ha recibido. En este caso es la interfaz 25, cuya MAC es la 00:08:83:8f:a7:b9.

Capítulo 3. Configuración de MRTG
Tercera pregunta, configuración de MRTG para la obtención de estadísticas de ancho de banda
El tercer ejercicio, Configuración de MRTG, pedía lo siguiente:
Instalar apache y MRTG teniendo en cuenta que:
•	MRTG deberá ser configurado para leer la información de las interfaces del switch 192.168.69.200 y actualizar las páginas y los gráficos respectivos en el directorio /var/www/mrtg
•	La página de MRTG debe protegerse con una clave (.htaccess)
•	El cron deberá configurarse de forma que actualice los gráficos cada 5 minutos.
Respuesta a la tercera pregunta:
Los pasos necesarios para completar esta pregunta han sido la instalación y configuración de apache y MRTG en un sistema Debian GNU/Linux y, finalmente, el establecimiento de una clave de acceso en el directorio donde MRTG almacena los datos recabados.
Instalación y configuración de apache y MRTG
Primeramente instalaremos apache, cuya configuración no va a variar de la que trae por defecto Debian GNU/Linux. Para proceder ejecutamos:
# apt-get install apache
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
0 actualizados, 1 se instalarán, 0 reinstalados, 0 para eliminar y 0 no actualizados.
Se necesita descargar 0B/365kB de archivos.
Se utilizarán 0B de espacio de disco adicional después de desempaquetar.
¿Desea continuar? [S/n]
Leyendo bitácoras... Hecho.
Preconfiguring packages ...
(Leyendo la base de datos ...
218303 ficheros y directorios instalados actualmente.)
Preparando para reemplazar apache 1.3.29.0.1-3 (usando .../apache_1.3.29.0.1-3_i386.deb) ...
Stopping web server: apacheNo process in pidfile `/var/run/apache.pid' found running; none killed.
.
Desempaquetando el reemplazo de apache ...
Configurando apache (1.3.29.0.1-3) ...
Figura 3-1. Pantalla de configuración de apache durante la instalación

Starting web server: apacheProcessing config directory: /etc/apache/conf.d
.

localepurge: checking system for new locale ...
localepurge: processing locale files ...
localepurge: processing man pages ...
Tras lo cual apache estará ejecutándose. Seguidamente instalamos MRTG como sigue, respondiendo que sí a la pregunta formulada durante la configuración del paquete:
# apt-get install mrtg
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Se instalarán los siguientes paquetes extras:
  libsnmp-session-perl
Paquetes recomendados
  libio-socket-inet6-perl
Se instalarán los siguientes paquetes NUEVOS:
  libsnmp-session-perl mrtg
0 actualizados, 2 se instalarán, 0 para eliminar y 2 no actualizados.
Se necesita descargar 0B/625kB de archivos.
Se utilizarán 1896kB de espacio de disco adicional después de desempaquetar.
¿Desea continuar? [S/n]
Leyendo bitácoras... Hecho.
Preconfiguring packages ...
Figura 3-2. Pantalla de configuración de MRTG durante la instalación

Seleccionando el paquete libsnmp-session-perl previamente no seleccionado.
(Leyendo la base de datos ...
218303 ficheros y directorios instalados actualmente.)
Desempaquetando libsnmp-session-perl (de .../libsnmp-session-perl_0.97-2_all.deb) ...
Seleccionando el paquete mrtg previamente no seleccionado.
Desempaquetando mrtg (de .../mrtg_2.9.29-1_i386.deb) ...
Configurando libsnmp-session-perl (0.97-2) ...

Configurando mrtg (2.9.29-1) ...

localepurge: checking system for new locale ...
localepurge: processing locale files ...
localepurge: processing man pages ...
Ahora que ya tenemos el software necesario para proseguir con la práctica. En la siguiente sección se verá como obtener los datos del switch con MRTG.
Leer la información del switch con MRTG
Para conseguir que MRTG lea la información de las interfaces del switch que está detrás de la IP 192.168.69.200, ejecutamos el siguiente comando:
# /usr/bin/cfgmaker public@192.168.69.200
Tras lo cual consultará al switch y generará automáticamente un archivo de configuración para este1. Por defecto, Debian GNU/Linux ya deja configurado el sistema de la forma requerida en el ejercicio: los archivos de MRTG irán al directorio /var/www/mrtg.
La variable WorkDir: es la encargada de decirle a MRTG donde almacenar los datos obtenidos de los dispositivos. Por este motivo, es necesario que dicha variable tenga el valor /var/www/mrtg.
Configuración de cron
Finalmente hemos de comprobar que la entrada del cron encargada de actualizar MRTG se ejecute cada 5 minutos. La configuración por defecto de Debian ya lo deja así, por lo que no tendríamos que tocar nada, como se aprecia en el archivo del cron para MRTG:
$ cat /etc/cron.d/mrtg
0-55/5 *        * * *   root    if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then /usr/bin/mrtg /etc/mrtg.cfg >> /var/log/mrtg/mrtg.log 2>&1; fi
Como se puede apreciar en la línea anterior, se ha definido un rango de minutos de 0 a 55, y luego se ha dividido este rango de 5 en 5, lo que implica que se ejecutará cada 5 minutos.
Asegurar el directorio /var/www/mrtg
Para asegurar el directorio de información de MRTG, haremos uso de los archivos .htaccess y .htpasswd. Antes de crearlos, configuraremos apache para que busque dichos archivos en el directorio /var/www/mrtg añadiendo las siguientes líneas al /etc/apache/httpd.conf2:
<Directory /var/www/mrtg/>
        AllowOverride AuthConfig
        Order allow,deny
        Allow from all
</Directory>
Ahora le decimos a apache que lea de nuevo su archivo de configuración:
# /etc/init.d/apache reload
Reloading apache configuration.
Y ha lo tenemos listo para que nos solicite autentificación al tratar de acceder al directorio /var/www/mrtg. Para finalizar creamos el archivo .htaccess bajo el directorio /var/www/mrtg, cuyo contenido será:
AuthUserFile /var/www/mrtg/.htpasswd
AuthName "Mrtg"
AuthType Basic

<Limit GET POST>
Require valid-user
</Limit>
Como a la variable AuthUserFile le hemos asignado el valor /var/www/mrtg/.htpasswd, hemos de crear dicho archivo, que será el archivo de los usuarios, con sus respectivas claves, que tengan acceso al directorio /var/www/mrtg. Para crearlo, ejecutamos:
# htpasswd -c .htpasswd mrtg
New password: (user password)
Re-type new password: (user password)
Adding password for user mrtg
Y una vez ha finalizado la generación del archivo, su contenido será:
mrtg:lZZyhcwfGKZyo
Si ahora tratamos de acceder al directorio mrtg de nuestro servidor web, obtendremos un cuadro como el siguiente, preguntándonos por un usuario y una clave de acceso:
Figura 3-3. Pantalla de autentificación para el directorio /var/www/mrtg

Si tecleamos el usuario y la clave introducidos en la generación del archivo .htpasswd, tendremos acceso a dicho directorio, en caso contrario no.
Para ver un ejemplo de la información que allí puede verse, pulse aqui (./recursos/www/mrtg/192.168.69.200_10.html).
Notas
1. 	En el Apéndice A se encuentra el archivo de configuración generado para el switch.
2. 	En el Apéndice B está el archivo /etc/apache/httpd.conf utilizado para la realización de esta práctica.

Apéndice A. mrtg.cfg
# Created by 
# /usr/bin/cfgmaker public@192.168.69.200

### Global Config Options

#  for UNIX
# WorkDir: /home/http/mrtg

#  for Debian
WorkDir: /var/www/mrtg
  
#  or for NT
# WorkDir: c:\mrtgdata

### Global Defaults

#  to get bits instead of bytes and graphs growing to the right
# Options[_]: growright, bits

######################################################################
# System: HP ProCurve Switch 2524
# Description: HP J4813A ProCurve Switch 2524, revision F.04.08, ROM F.02.01  (/sw/code/build/info(f01))
# Contact: 
# Location: 
######################################################################

### Interface 1 >> Descr: '1' | Name: '1' | Ip: '' | Eth: '00-08-83-8f-a7-a1' ###

Target[192.168.69.200_1]: 1:public@192.168.69.200:
SetEnv[192.168.69.200_1]: MRTG_INT_IP="" MRTG_INT_DESCR="1"
MaxBytes[192.168.69.200_1]: 12500000
Title[192.168.69.200_1]: Traffic Analysis for 1 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_1]: <H1>Traffic Analysis for 1 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>1  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>1</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 2 >> Descr: '2' | Name: '2' | Ip: '' | Eth: '00-08-83-8f-a7-a2' ###

Target[192.168.69.200_2]: 2:public@192.168.69.200:
SetEnv[192.168.69.200_2]: MRTG_INT_IP="" MRTG_INT_DESCR="2"
MaxBytes[192.168.69.200_2]: 12500000
Title[192.168.69.200_2]: Traffic Analysis for 2 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_2]: <H1>Traffic Analysis for 2 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>2  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>2</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 3 >> Descr: '3' | Name: '3' | Ip: '' | Eth: '00-08-83-8f-a7-a3' ###

Target[192.168.69.200_3]: 3:public@192.168.69.200:
SetEnv[192.168.69.200_3]: MRTG_INT_IP="" MRTG_INT_DESCR="3"
MaxBytes[192.168.69.200_3]: 12500000
Title[192.168.69.200_3]: Traffic Analysis for 3 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_3]: <H1>Traffic Analysis for 3 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>3  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>3</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 4 >> Descr: '4' | Name: '4' | Ip: '' | Eth: '00-08-83-8f-a7-a4' ###

Target[192.168.69.200_4]: 4:public@192.168.69.200:
SetEnv[192.168.69.200_4]: MRTG_INT_IP="" MRTG_INT_DESCR="4"
MaxBytes[192.168.69.200_4]: 12500000
Title[192.168.69.200_4]: Traffic Analysis for 4 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_4]: <H1>Traffic Analysis for 4 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>4  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>4</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 5 >> Descr: '5' | Name: '5' | Ip: '' | Eth: '00-08-83-8f-a7-a5' ###

Target[192.168.69.200_5]: 5:public@192.168.69.200:
SetEnv[192.168.69.200_5]: MRTG_INT_IP="" MRTG_INT_DESCR="5"
MaxBytes[192.168.69.200_5]: 12500000
Title[192.168.69.200_5]: Traffic Analysis for 5 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_5]: <H1>Traffic Analysis for 5 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>5  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>5</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 6 >> Descr: '6' | Name: '6' | Ip: '' | Eth: '00-08-83-8f-a7-a6' ###

Target[192.168.69.200_6]: 6:public@192.168.69.200:
SetEnv[192.168.69.200_6]: MRTG_INT_IP="" MRTG_INT_DESCR="6"
MaxBytes[192.168.69.200_6]: 12500000
Title[192.168.69.200_6]: Traffic Analysis for 6 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_6]: <H1>Traffic Analysis for 6 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>6  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>6</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 7 >> Descr: '7' | Name: '7' | Ip: '' | Eth: '00-08-83-8f-a7-a7' ###

Target[192.168.69.200_7]: 7:public@192.168.69.200:
SetEnv[192.168.69.200_7]: MRTG_INT_IP="" MRTG_INT_DESCR="7"
MaxBytes[192.168.69.200_7]: 12500000
Title[192.168.69.200_7]: Traffic Analysis for 7 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_7]: <H1>Traffic Analysis for 7 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>7  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>7</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 8 >> Descr: '8' | Name: '8' | Ip: '' | Eth: '00-08-83-8f-a7-a8' ###

Target[192.168.69.200_8]: 8:public@192.168.69.200:
SetEnv[192.168.69.200_8]: MRTG_INT_IP="" MRTG_INT_DESCR="8"
MaxBytes[192.168.69.200_8]: 12500000
Title[192.168.69.200_8]: Traffic Analysis for 8 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_8]: <H1>Traffic Analysis for 8 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>8  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>8</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 9 >> Descr: '9' | Name: '9' | Ip: '' | Eth: '00-08-83-8f-a7-a9' ###

Target[192.168.69.200_9]: 9:public@192.168.69.200:
SetEnv[192.168.69.200_9]: MRTG_INT_IP="" MRTG_INT_DESCR="9"
MaxBytes[192.168.69.200_9]: 12500000
Title[192.168.69.200_9]: Traffic Analysis for 9 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_9]: <H1>Traffic Analysis for 9 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>9  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>9</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 10 >> Descr: '10' | Name: '10' | Ip: '' | Eth: '00-08-83-8f-a7-aa' ###

Target[192.168.69.200_10]: 10:public@192.168.69.200:
SetEnv[192.168.69.200_10]: MRTG_INT_IP="" MRTG_INT_DESCR="10"
MaxBytes[192.168.69.200_10]: 12500000
Title[192.168.69.200_10]: Traffic Analysis for 10 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_10]: <H1>Traffic Analysis for 10 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>10  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>10</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 11 >> Descr: '11' | Name: '11' | Ip: '' | Eth: '00-08-83-8f-a7-ab' ###

Target[192.168.69.200_11]: 11:public@192.168.69.200:
SetEnv[192.168.69.200_11]: MRTG_INT_IP="" MRTG_INT_DESCR="11"
MaxBytes[192.168.69.200_11]: 12500000
Title[192.168.69.200_11]: Traffic Analysis for 11 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_11]: <H1>Traffic Analysis for 11 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>11  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>11</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 12 >> Descr: '12' | Name: '12' | Ip: '' | Eth: '00-08-83-8f-a7-ac' ###
### The following interface is commented out because:
### * it is operationally DOWN
# 
# Target[192.168.69.200_12]: 12:public@192.168.69.200:
# SetEnv[192.168.69.200_12]: MRTG_INT_IP="" MRTG_INT_DESCR="12"
# MaxBytes[192.168.69.200_12]: 12500000
# Title[192.168.69.200_12]: Traffic Analysis for 12 -- HP ProCurve Switch 2524
# PageTop[192.168.69.200_12]: <H1>Traffic Analysis for 12 -- HP ProCurve Switch 2524</H1>
#  <TABLE>
#    <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
#    <TR><TD>Maintainer:</TD> <TD></TD></TR>
#    <TR><TD>Description:</TD><TD>12  </TD></TR>
#    <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
#    <TR><TD>ifName:</TD>     <TD>12</TD></TR>
#    <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
#  </TABLE>

### Interface 13 >> Descr: '13' | Name: '13' | Ip: '' | Eth: '00-08-83-8f-a7-ad' ###
### The following interface is commented out because:
### * it is operationally DOWN
# 
# Target[192.168.69.200_13]: 13:public@192.168.69.200:
# SetEnv[192.168.69.200_13]: MRTG_INT_IP="" MRTG_INT_DESCR="13"
# MaxBytes[192.168.69.200_13]: 12500000
# Title[192.168.69.200_13]: Traffic Analysis for 13 -- HP ProCurve Switch 2524
# PageTop[192.168.69.200_13]: <H1>Traffic Analysis for 13 -- HP ProCurve Switch 2524</H1>
#  <TABLE>
#    <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
#    <TR><TD>Maintainer:</TD> <TD></TD></TR>
#    <TR><TD>Description:</TD><TD>13  </TD></TR>
#    <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
#    <TR><TD>ifName:</TD>     <TD>13</TD></TR>
#    <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
#  </TABLE>

### Interface 14 >> Descr: '14' | Name: '14' | Ip: '' | Eth: '00-08-83-8f-a7-ae' ###

Target[192.168.69.200_14]: 14:public@192.168.69.200:
SetEnv[192.168.69.200_14]: MRTG_INT_IP="" MRTG_INT_DESCR="14"
MaxBytes[192.168.69.200_14]: 12500000
Title[192.168.69.200_14]: Traffic Analysis for 14 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_14]: <H1>Traffic Analysis for 14 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>14  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>14</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 15 >> Descr: '15' | Name: '15' | Ip: '' | Eth: '00-08-83-8f-a7-af' ###
### The following interface is commented out because:
### * it is operationally DOWN
# 
# Target[192.168.69.200_15]: 15:public@192.168.69.200:
# SetEnv[192.168.69.200_15]: MRTG_INT_IP="" MRTG_INT_DESCR="15"
# MaxBytes[192.168.69.200_15]: 1250000
# Title[192.168.69.200_15]: Traffic Analysis for 15 -- HP ProCurve Switch 2524
# PageTop[192.168.69.200_15]: <H1>Traffic Analysis for 15 -- HP ProCurve Switch 2524</H1>
#  <TABLE>
#    <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
#    <TR><TD>Maintainer:</TD> <TD></TD></TR>
#    <TR><TD>Description:</TD><TD>15  </TD></TR>
#    <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
#    <TR><TD>ifName:</TD>     <TD>15</TD></TR>
#    <TR><TD>Max Speed:</TD>  <TD>1250.0 kBytes/s</TD></TR>
#  </TABLE>

### Interface 16 >> Descr: '16' | Name: '16' | Ip: '' | Eth: '00-08-83-8f-a7-b0' ###
### The following interface is commented out because:
### * it is operationally DOWN
# 
# Target[192.168.69.200_16]: 16:public@192.168.69.200:
# SetEnv[192.168.69.200_16]: MRTG_INT_IP="" MRTG_INT_DESCR="16"
# MaxBytes[192.168.69.200_16]: 1250000
# Title[192.168.69.200_16]: Traffic Analysis for 16 -- HP ProCurve Switch 2524
# PageTop[192.168.69.200_16]: <H1>Traffic Analysis for 16 -- HP ProCurve Switch 2524</H1>
#  <TABLE>
#    <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
#    <TR><TD>Maintainer:</TD> <TD></TD></TR>
#    <TR><TD>Description:</TD><TD>16  </TD></TR>
#    <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
#    <TR><TD>ifName:</TD>     <TD>16</TD></TR>
#    <TR><TD>Max Speed:</TD>  <TD>1250.0 kBytes/s</TD></TR>
#  </TABLE>

### Interface 17 >> Descr: '17' | Name: '17' | Ip: '' | Eth: '00-08-83-8f-a7-b1' ###

Target[192.168.69.200_17]: 17:public@192.168.69.200:
SetEnv[192.168.69.200_17]: MRTG_INT_IP="" MRTG_INT_DESCR="17"
MaxBytes[192.168.69.200_17]: 12500000
Title[192.168.69.200_17]: Traffic Analysis for 17 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_17]: <H1>Traffic Analysis for 17 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>17  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>17</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 18 >> Descr: '18' | Name: '18' | Ip: '' | Eth: '00-08-83-8f-a7-b2' ###

Target[192.168.69.200_18]: 18:public@192.168.69.200:
SetEnv[192.168.69.200_18]: MRTG_INT_IP="" MRTG_INT_DESCR="18"
MaxBytes[192.168.69.200_18]: 12500000
Title[192.168.69.200_18]: Traffic Analysis for 18 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_18]: <H1>Traffic Analysis for 18 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>18  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>18</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 19 >> Descr: '19' | Name: '19' | Ip: '' | Eth: '00-08-83-8f-a7-b3' ###
### The following interface is commented out because:
### * it is operationally DOWN
# 
# Target[192.168.69.200_19]: 19:public@192.168.69.200:
# SetEnv[192.168.69.200_19]: MRTG_INT_IP="" MRTG_INT_DESCR="19"
# MaxBytes[192.168.69.200_19]: 1250000
# Title[192.168.69.200_19]: Traffic Analysis for 19 -- HP ProCurve Switch 2524
# PageTop[192.168.69.200_19]: <H1>Traffic Analysis for 19 -- HP ProCurve Switch 2524</H1>
#  <TABLE>
#    <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
#    <TR><TD>Maintainer:</TD> <TD></TD></TR>
#    <TR><TD>Description:</TD><TD>19  </TD></TR>
#    <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
#    <TR><TD>ifName:</TD>     <TD>19</TD></TR>
#    <TR><TD>Max Speed:</TD>  <TD>1250.0 kBytes/s</TD></TR>
#  </TABLE>

### Interface 20 >> Descr: '20' | Name: '20' | Ip: '' | Eth: '00-08-83-8f-a7-b4' ###
### The following interface is commented out because:
### * it is operationally DOWN
# 
# Target[192.168.69.200_20]: 20:public@192.168.69.200:
# SetEnv[192.168.69.200_20]: MRTG_INT_IP="" MRTG_INT_DESCR="20"
# MaxBytes[192.168.69.200_20]: 1250000
# Title[192.168.69.200_20]: Traffic Analysis for 20 -- HP ProCurve Switch 2524
# PageTop[192.168.69.200_20]: <H1>Traffic Analysis for 20 -- HP ProCurve Switch 2524</H1>
#  <TABLE>
#    <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
#    <TR><TD>Maintainer:</TD> <TD></TD></TR>
#    <TR><TD>Description:</TD><TD>20  </TD></TR>
#    <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
#    <TR><TD>ifName:</TD>     <TD>20</TD></TR>
#    <TR><TD>Max Speed:</TD>  <TD>1250.0 kBytes/s</TD></TR>
#  </TABLE>

### Interface 21 >> Descr: '21' | Name: '21' | Ip: '' | Eth: '00-08-83-8f-a7-b5' ###

Target[192.168.69.200_21]: 21:public@192.168.69.200:
SetEnv[192.168.69.200_21]: MRTG_INT_IP="" MRTG_INT_DESCR="21"
MaxBytes[192.168.69.200_21]: 12500000
Title[192.168.69.200_21]: Traffic Analysis for 21 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_21]: <H1>Traffic Analysis for 21 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>21  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>21</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 22 >> Descr: '22' | Name: '22' | Ip: '' | Eth: '00-08-83-8f-a7-b6' ###

Target[192.168.69.200_22]: 22:public@192.168.69.200:
SetEnv[192.168.69.200_22]: MRTG_INT_IP="" MRTG_INT_DESCR="22"
MaxBytes[192.168.69.200_22]: 12500000
Title[192.168.69.200_22]: Traffic Analysis for 22 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_22]: <H1>Traffic Analysis for 22 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>22  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>22</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
 </TABLE>

### Interface 23 >> Descr: '23' | Name: '23' | Ip: '' | Eth: '00-08-83-8f-a7-b7' ###
### The following interface is commented out because:
### * it is operationally DOWN
# 
# Target[192.168.69.200_23]: 23:public@192.168.69.200:
# SetEnv[192.168.69.200_23]: MRTG_INT_IP="" MRTG_INT_DESCR="23"
# MaxBytes[192.168.69.200_23]: 1250000
# Title[192.168.69.200_23]: Traffic Analysis for 23 -- HP ProCurve Switch 2524
# PageTop[192.168.69.200_23]: <H1>Traffic Analysis for 23 -- HP ProCurve Switch 2524</H1>
#  <TABLE>
#    <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
#    <TR><TD>Maintainer:</TD> <TD></TD></TR>
#    <TR><TD>Description:</TD><TD>23  </TD></TR>
#    <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
#    <TR><TD>ifName:</TD>     <TD>23</TD></TR>
#    <TR><TD>Max Speed:</TD>  <TD>1250.0 kBytes/s</TD></TR>
#  </TABLE>

### Interface 24 >> Descr: '24' | Name: '24' | Ip: '' | Eth: '00-08-83-8f-a7-b8' ###
### The following interface is commented out because:
### * it is operationally DOWN
# 
# Target[192.168.69.200_24]: 24:public@192.168.69.200:
# SetEnv[192.168.69.200_24]: MRTG_INT_IP="" MRTG_INT_DESCR="24"
# MaxBytes[192.168.69.200_24]: 1250000
# Title[192.168.69.200_24]: Traffic Analysis for 24 -- HP ProCurve Switch 2524
# PageTop[192.168.69.200_24]: <H1>Traffic Analysis for 24 -- HP ProCurve Switch 2524</H1>
#  <TABLE>
#    <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
#    <TR><TD>Maintainer:</TD> <TD></TD></TR>
#    <TR><TD>Description:</TD><TD>24  </TD></TR>
#    <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
#    <TR><TD>ifName:</TD>     <TD>24</TD></TR>
#    <TR><TD>Max Speed:</TD>  <TD>1250.0 kBytes/s</TD></TR>
#  </TABLE>

### Interface 25 >> Descr: '25' | Name: '25' | Ip: '' | Eth: '00-08-83-8f-a7-b9' ###

Target[192.168.69.200_25]: 25:public@192.168.69.200:
SetEnv[192.168.69.200_25]: MRTG_INT_IP="" MRTG_INT_DESCR="25"
MaxBytes[192.168.69.200_25]: 125000000
Title[192.168.69.200_25]: Traffic Analysis for 25 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_25]: <H1>Traffic Analysis for 25 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>25  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>25</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>125.0 MBytes/s</TD></TR>
 </TABLE>

### Interface 26 >> Descr: '26' | Name: '26' | Ip: '' | Eth: '00-08-83-8f-a7-ba' ###

Target[192.168.69.200_26]: 26:public@192.168.69.200:
SetEnv[192.168.69.200_26]: MRTG_INT_IP="" MRTG_INT_DESCR="26"
MaxBytes[192.168.69.200_26]: 125000000
Title[192.168.69.200_26]: Traffic Analysis for 26 -- HP ProCurve Switch 2524
PageTop[192.168.69.200_26]: <H1>Traffic Analysis for 26 -- HP ProCurve Switch 2524</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
   <TR><TD>Maintainer:</TD> <TD></TD></TR>
   <TR><TD>Description:</TD><TD>26  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD>26</TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>125.0 MBytes/s</TD></TR>
 </TABLE>

### Interface 29 >> Descr: 'DEFAULT_VLAN' | Name: 'DEFAULT_VLAN' | Ip: '192.168.69.200' | Eth: '00-08-83-8f-a7-80' ###
### The following interface is commented out because:
### * has a speed of 0 which makes no sense
# 
# Target[192.168.69.200_29]: 29:public@192.168.69.200:
# SetEnv[192.168.69.200_29]: MRTG_INT_IP="192.168.69.200" MRTG_INT_DESCR="DEFAULT_VLAN"
# MaxBytes[192.168.69.200_29]: 0
# Title[192.168.69.200_29]: Traffic Analysis for 29 -- HP ProCurve Switch 2524
# PageTop[192.168.69.200_29]: <H1>Traffic Analysis for 29 -- HP ProCurve Switch 2524</H1>
#  <TABLE>
#    <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
#    <TR><TD>Maintainer:</TD> <TD></TD></TR>
#    <TR><TD>Description:</TD><TD>DEFAULT_VLAN  </TD></TR>
#    <TR><TD>ifType:</TD>     <TD>propVirtual (53)</TD></TR>
#    <TR><TD>ifName:</TD>     <TD>DEFAULT_VLAN</TD></TR>
#    <TR><TD>Max Speed:</TD>  <TD>0.0 Bytes/s</TD></TR>
#    <TR><TD>Ip:</TD>         <TD>192.168.69.200 ()</TD></TR>
#  </TABLE>

### Interface 4124 >> Descr: 'HP-ProCurve-Switch-software-loopback-interface' | Name: 'lo0' | Ip: '127.0.0.1' | Eth: '' ###
### The following interface is commented out because:
### * it is a Software Loopback interface
### * has a speed of 0 which makes no sense
# 
# Target[192.168.69.200_4124]: 4124:public@192.168.69.200:
# SetEnv[192.168.69.200_4124]: MRTG_INT_IP="127.0.0.1" MRTG_INT_DESCR="HP-ProCurve-Switch-software-loopback-interface"
# MaxBytes[192.168.69.200_4124]: 0
# Title[192.168.69.200_4124]: Traffic Analysis for 4124 -- HP ProCurve Switch 2524
# PageTop[192.168.69.200_4124]: <H1>Traffic Analysis for 4124 -- HP ProCurve Switch 2524</H1>
#  <TABLE>
#    <TR><TD>System:</TD>     <TD>HP ProCurve Switch 2524 in </TD></TR>
#    <TR><TD>Maintainer:</TD> <TD></TD></TR>
#    <TR><TD>Description:</TD><TD>HP-ProCurve-Switch-software-loopback-interface  </TD></TR>
#    <TR><TD>ifType:</TD>     <TD>softwareLoopback (24)</TD></TR>
#    <TR><TD>ifName:</TD>     <TD>lo0</TD></TR>
#    <TR><TD>Max Speed:</TD>  <TD>0.0 Bytes/s</TD></TR>
#    <TR><TD>Ip:</TD>         <TD>127.0.0.1 (localhost)</TD></TR>
#  </TABLE>

Apéndice B. httpd.conf
##
## httpd.conf -- Apache HTTP server configuration file
##

#
# Based upon the NCSA server configuration files originally by Rob McCool.
#
# This is the main Apache server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See <URL:http://www.apache.org/docs/> for detailed information about
# the directives.
#
# Do NOT simply read the instructions in here without understanding
# what they do.  They're here only as hints or reminders.  If you are unsure
# consult the online docs. You have been warned.  
#
# After this file is processed, the server will look for and process
# /etc/apache/srm.conf and then /etc/apache/access.conf
# unless you have overridden these with ResourceConfig and/or
# AccessConfig directives here.
#
# The configuration directives are grouped into three basic sections:
#  1. Directives that control the operation of the Apache server process as a
#     whole (the 'global environment').
#  2. Directives that define the parameters of the 'main' or 'default' server,
#     which responds to requests that aren't handled by a virtual host.
#     These directives also provide default values for the settings
#     of all virtual hosts.
#  3. Settings for virtual hosts, which allow Web requests to be sent to
#     different IP addresses or hostnames and have them handled by the
#     same Apache server process.
#
# Configuration and logfile names: If the filenames you specify for many
# of the server's control files begin with "/" (or "drive:/" for Win32), the
# server will use that explicit path.  If the filenames do *not* begin
# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
# with ServerRoot set to "/usr/local/apache" will be interpreted by the
# server as "/usr/local/apache/logs/foo.log".
#

### Section 1: Global Environment
#
# The directives in this section affect the overall operation of Apache,
# such as the number of concurrent requests it can handle or where it
# can find its configuration files.
#

#
# ServerType is either inetd, or standalone.  Inetd mode is only supported on
# Unix platforms.
#
ServerType standalone

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept, unless they are specified
# with an absolute path.
#
# NOTE!  If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the LockFile documentation
# (available at <URL:http://www.apache.org/docs/mod/core.html#lockfile>);
# you will save yourself a lot of trouble.
#
# Do NOT add a slash at the end of the directory path.
#
ServerRoot /etc/apache

#
# The LockFile directive sets the path to the lockfile used when Apache
# is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
# USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
# its default value. The main reason for changing it is if the logs
# directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
# DISK. The PID of the main server process is automatically appended to
# the filename. 
#
LockFile /var/lock/apache.lock

#
# PidFile: The file in which the server should record its process
# identification number when it starts.
#
PidFile /var/run/apache.pid

#
# ScoreBoardFile: File used to store internal server process information.
# Not all architectures require this.  But if yours does (you'll know because
# this file will be  created when you run Apache) then you *must* ensure that
# no two invocations of Apache share the same scoreboard file.
#
ScoreBoardFile /var/run/apache.scoreboard

#
# In the standard configuration, the server will process this file,
# srm.conf, and access.conf in that order.  The latter two files are
# now distributed empty, as it is recommended that all directives
# be kept in a single file for simplicity.  The commented-out values
# below are the built-in defaults.  You can have the server ignore
# these files altogether by using "/dev/null" (for Unix) or
# "nul" (for Win32) for the arguments to the directives.
#
#ResourceConfig /etc/apache/srm.conf
#AccessConfig /etc/apache/access.conf

#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 15

#
# Server-pool size regulation.  Rather than making you guess how many
# server processes you need, Apache dynamically adapts to the load it
# sees --- that is, it tries to maintain enough server processes to
# handle the current load, plus a few spare servers to handle transient
# load spikes (e.g., multiple simultaneous requests from a single
# Netscape browser).
#
# It does this by periodically checking how many servers are waiting
# for a request.  If there are fewer than MinSpareServers, it creates
# a new spare.  If there are more than MaxSpareServers, some of the
# spares die off.  The default values are probably OK for most sites.
#
MinSpareServers 5
MaxSpareServers 10

#
# Number of servers to start initially --- should be a reasonable ballpark
# figure.
#
StartServers 5

#
# Limit on total number of servers running, i.e., limit on the number
# of clients who can simultaneously connect --- if this limit is ever
# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
# It is intended mainly as a brake to keep a runaway server from taking
# the system with it as it spirals down...
#
MaxClients 150

#
# MaxRequestsPerChild: the number of requests each child process is
# allowed to process before the child dies.  The child will exit so
# as to avoid problems after prolonged use when Apache (and maybe the
# libraries it uses) leak memory or other resources.  On most systems, this
# isn't really needed, but a few (such as Solaris) do have notable leaks
# in the libraries. For these platforms, set to something like 10000
# or so; a setting of 0 means unlimited.
#
# NOTE: This value does not include keepalive requests after the initial
#       request per connection. For example, if a child process handles
#       an initial request and 10 subsequent "keptalive" requests, it
#       would only count as 1 request towards this limit.
#
MaxRequestsPerChild 100

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, in addition to the default. See also the <VirtualHost>
# directive.
#
#Listen 3000
#Listen 12.34.56.78:80

#
# BindAddress: You can support virtual hosts with this option. This directive
# is used to tell the server which IP address to listen to. It can either
# contain "*", an IP address, or a fully qualified Internet domain name.
# See also the <VirtualHost> and Listen directives.
#
#BindAddress *

#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Please read the file README.DSO in the Apache 1.3 distribution for more
# details about the DSO mechanism and run `apache -l' for the list of already
# built-in (statically linked and thus always available) modules in your apache
# binary.
#
# Please keep this LoadModule: line here, it is needed for installation.
Include /etc/apache/modules.conf

#
# ExtendedStatus: controls whether Apache will generate "full" status
# information (ExtendedStatus On) or just basic information (ExtendedStatus
# Off) when the "server-status" handler is called. The default is Off.
#
<IfModule mod_status.c>
  ExtendedStatus On
</IfModule>

### Section 2: 'Main' server configuration
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# <VirtualHost> definition.  These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
#
# All of these directives may appear inside <VirtualHost> containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#

#
# If your ServerType directive (set earlier in the 'Global Environment'
# section) is set to "inetd", the next few directives don't have any
# effect since their settings are defined by the inetd configuration.
# Skip ahead to the ServerAdmin directive.
#

#
# Port: The port to which the standalone server listens. For
# ports < 1023, you will need apache to be run as root initially.
#
Port 80

#
# If you wish apache to run as a different user or group, you must run
# apacheas root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run apache as.
#  . On SCO (ODT 3) use "User nouser" and "Group nogroup".
#  . On HPUX you may not be able to use shared memory as nobody, and the
#    suggested workaround is to create a user www and use that user.
#  NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
#  when the value of (unsigned)Group is above 60000; 
#  don't use Group nobody on these systems!
#
User www-data
Group www-data

#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed.  This address appears on some server-generated pages, such
# as error documents.
#
ServerAdmin you@your.address

#
# ServerName: allows you to set a host name which is sent back to clients for
# your server if it's different than the one the program would get (i.e., use
# "www" instead of the host's real name).
#
# Note: You cannot just invent host names and hope they work. The name you 
# define here must be a valid DNS name for your host. If you don't understand
# this, ask your network administrator.
# If your host doesn't have a registered DNS name, enter its IP address here.
# You will have to access it by its address (e.g., http://123.45.67.89/)
# anyway, and this will make redirections work in a sensible way.
ServerName localhost
#
#ServerName new.host.name

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot /var/www

#
# Each directory to which Apache has access, can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories). 
#
# First, we configure the "default" to be a very restrictive set of 
# permissions.  
#
<Directory />
    Options SymLinksIfOwnerMatch
    AllowOverride None
</Directory>

#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory /var/www/>

#
# This may also be "None", "All", or any combination of "Indexes",
# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
    Options Indexes Includes FollowSymLinks MultiViews

#
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo", 
# "AuthConfig", and "Limit"
#
    AllowOverride None

#
# Controls who can get stuff from this server.
#
    Order allow,deny
    Allow from all
</Directory>

#
# UserDir: The name of the directory which is appended onto a user's home
# directory if a ~user request is received.
#
<IfModule mod_userdir.c>
    UserDir public_html
#
# Control access to UserDir directories.  The following is an example
# for a site where these directories are restricted to read-only.
#
    <Directory /home/*/public_html>
        AllowOverride FileInfo AuthConfig Limit
        Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
        <Limit GET POST OPTIONS PROPFIND>
            Order allow,deny
            Allow from all
        </Limit>
        <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
            Order deny,allow
            Deny from all
        </Limit>
    </Directory>
</IfModule>

#
# DirectoryIndex: Name of the file or files to use as a pre-written HTML
# directory index.  Separate multiple entries with spaces.
#
<IfModule mod_dir.c>
    DirectoryIndex index.html index.htm index.shtml index.cgi
</IfModule>

#
# AccessFileName: The name of the file to look for in each directory
# for access control information.
#
AccessFileName .htaccess

#
# The following lines prevent .htaccess files from being viewed by
# Web clients.  Since .htaccess files often contain authorization
# information, access is disallowed for security reasons.  Comment
# these lines out if you want Web visitors to see the contents of
# .htaccess files.  If you change the AccessFileName directive above,
# be sure to make the corresponding changes here.
#
# Also, folks tend to use names such as .htpasswd for password
# files, so this will protect those as well.
#
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

#
# CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each
# document that was negotiated on the basis of content. This asks proxy
# servers not to cache the document. Uncommenting the following line disables
# this behavior, and proxies will be allowed to cache the documents.
#
#CacheNegotiatedDocs

#
# UseCanonicalName:  (new for 1.3)  With this setting turned on, whenever
# Apache needs to construct a self-referencing URL (a URL that refers back
# to the server the response is coming from) it will use ServerName and
# Port to form a "canonical" name.  With this setting off, Apache will
# use the hostname:port that the client supplied, when possible.  This
# also affects SERVER_NAME and SERVER_PORT in CGI scripts.
#
UseCanonicalName Off

#
# TypesConfig describes where the mime.types file (or equivalent) is
# to be found.
#
TypesConfig /etc/mime.types

#
# DefaultType is the default MIME type the server will use for a document
# if it cannot otherwise determine one, such as from filename extensions.
# If your server contains mostly text or HTML documents, "text/plain" is
# a good value.  If most of your content is binary, such as applications
# or images, you may want to use "application/octet-stream" instead to
# keep browsers from trying to display binary files as though they are
# text.
#
DefaultType text/plain

#
# The mod_mime_magic module allows the server to use various hints from the
# contents of the file itself to determine its type.  The MIMEMagicFile
# directive tells the module where the hint definitions are located.
# mod_mime_magic is not part of the default server (you have to add
# it yourself with a LoadModule [see the DSO paragraph in the 'Global
# Environment' section], or recompile the server and include mod_mime_magic
# as part of the configuration), so it's enclosed in an <IfModule> container.
# This means that the MIMEMagicFile directive will only be processed if the
# module is part of the server.
#
<IfModule mod_mime_magic.c>
    MIMEMagicFile /usr/share/misc/file/magic.mime
</IfModule>

#
# HostnameLookups: Log the names of clients or just their IP addresses
# e.g., www.apache.org (on) or 204.62.129.132 (off).
# The default is off because it'd be overall better for the net if people
# had to knowingly turn this feature on, since enabling it means that
# each client request will result in AT LEAST one lookup request to the
# nameserver.
#
HostnameLookups Off

# Note that Log files are now rotated by logrotate, not by apache itself.
# This means that apache no longer attempts to magically determine
# where your log files are kept; you have to fill out stanzas in
# /etc/logrotate.d/apache yourself.

#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog /var/log/apache/error.log

#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn

#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %T %v" full
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %P %T" debug
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

#
# The location and format of the access logfile (Common Logfile Format).
# If you do not define any access logfiles within a <VirtualHost>
# container, they will be logged here.  Contrariwise, if you *do*
# define per-<VirtualHost> access logfiles, transactions will be
# logged therein and *not* in this file.
#
#CustomLog /var/log/apache/access.log common

#
# If you would like to have agent and referer logfiles, uncomment the
# following directives.
#
#CustomLog /var/log/apache/referer.log referer
#CustomLog /var/log/apache/agent.log agent

#
# If you prefer a single logfile with access, agent, and referer information
# (Combined Logfile Format) you can use the following directive.
#
CustomLog /var/log/apache/access.log combined

#
# Optionally add a line containing the server version and virtual host
# name to server-generated pages (error documents, FTP directory listings,
# mod_status and mod_info output etc., but not CGI generated documents).
# Set to "EMail" to also include a mailto: link to the ServerAdmin.
# Set to one of:  On | Off | EMail
#
ServerSignature On

#
# This directive controls whether Server response header field which is
# sent back to clients includes a description of the generic OS-type of
# the server as well as information about compiled-in modules.
# Set to one of: Prod[uctOnly] | Min[imal] | OS | Full
# If the directive is not specified the default is set to Full.
#
#ServerTokens Full

#
# Aliases: Add here as many aliases as you need (with no limit). The format is 
# Alias fakename realname
#
# Note that if you include a trailing / on fakename then the server will
# require it to be present in the URL.  So "/icons" isn't aliased in this
# example, only "/icons/"..
#

<IfModule mod_alias.c>
    Alias /icons/ /usr/share/apache/icons/

    <Directory /usr/share/apache/icons>
         Options Indexes MultiViews
         AllowOverride None
         Order allow,deny
         Allow from all
    </Directory>

    Alias /images/ /usr/share/images/

    <Directory /usr/share/images>
         Options MultiViews
         AllowOverride None
         Order allow,deny
         Allow from all
    </Directory>
</IfModule>

#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applications and
# run by the server when requested rather than as documents sent to the client.
# The same rules about trailing "/" apply to ScriptAlias directives as to
# Alias.
#
<IfModule mod_alias.c>
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

#
# "/usr/lib/cgi-bin" could be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
    <Directory /usr/lib/cgi-bin/>
        AllowOverride None
        Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
</IfModule>

#
# Redirect allows you to tell clients about documents which used to exist in
# your server's namespace, but do not anymore. This allows you to tell the
# clients where to look for the relocated document.
# Format: Redirect old-URI new-URL
#

#
# Directives controlling the display of server-generated directory listings.
#

<IfModule mod_autoindex.c>

    #
    # FancyIndexing: whether you want fancy directory indexing or standard
    #
    IndexOptions FancyIndexing NameWidth=*

    #
    # AddIcon* directives tell the server which icon to show for different
    # files or filename extensions.  These are only displayed for
    # FancyIndexed directories.
    #
    AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

    AddIconByType (TXT,/icons/text.gif) text/*
    AddIconByType (IMG,/icons/image2.gif) image/*
    AddIconByType (SND,/icons/sound2.gif) audio/*
    AddIconByType (VID,/icons/movie.gif) video/*

    AddIcon /icons/binary.gif .bin .exe
    AddIcon /icons/binhex.gif .hqx
    AddIcon /icons/tar.gif .tar
    AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
    AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
    AddIcon /icons/a.gif .ps .ai .eps
    AddIcon /icons/layout.gif .html .shtml .htm .pdf
    AddIcon /icons/text.gif .txt
    AddIcon /icons/c.gif .c
    AddIcon /icons/p.gif .pl .py
    AddIcon /icons/f.gif .for
    AddIcon /icons/dvi.gif .dvi
    AddIcon /icons/uuencoded.gif .uu
    AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
    AddIcon /icons/tex.gif .tex
    AddIcon /icons/bomb.gif core
    AddIcon /icons/deb.gif .deb

    AddIcon /icons/back.gif ..
    AddIcon /icons/hand.right.gif README
    AddIcon /icons/folder.gif ^^DIRECTORY^^
    AddIcon /icons/blank.gif ^^BLANKICON^^

    #
    # DefaultIcon: which icon to show for files which do not have an icon
    # explicitly set.
    #
    DefaultIcon /icons/unknown.gif

    #
    # AddDescription: allows you to place a short description after a file in
    # server-generated indexes.  These are only displayed for FancyIndexed
    # directories.
    # Format: AddDescription "description" filename
    #
    #AddDescription "GZIP compressed document" .gz
    #AddDescription "tar archive" .tar
    #AddDescription "GZIP compressed tar archive" .tgz

    #
    # ReadmeName: the name of the README file the server will look for by
    # default, and append to directory listings.
    #
    # HeaderName: the name of a file which should be prepended to
    # directory indexes. 
    #
    # The module recognize only 2 kind of mime-types, text/html and
    # text/*, but the only method it has to identify them is via
    # the filename extension. The default is to include and display
    # html files.
    #
    ReadmeName README.html
    HeaderName HEADER.html

    # Otherwise you can comment the 2 lines above and uncomment
    # the 2 below in order to display plain text files.
    #
    # ReadmeName README.txt
    # HeaderName HEADER.txt

    #
    # IndexIgnore: a set of filenames which directory indexing should ignore
    # and not include in the listing.  Shell-style wildcarding is permitted.
    #
    IndexIgnore .??* *~ *# HEADER.html HEADER.txt README.html README.txt RCS CVS *,v *,t

</IfModule>

#
# Document types.
#
<IfModule mod_mime.c>

    # AddEncoding allows you to have certain browsers (Mosaic/X 2.1+)
    # uncompress information on the fly. Note: Not all browsers support
    # this.  Despite the name similarity, the following Add* directives
    # have nothing to do with the FancyIndexing customization
    # directives above.

    AddEncoding x-compress Z
    AddEncoding x-gzip gz tgz

    #
    # AddLanguage: allows you to specify the language of a document. You can
    # then use content negotiation to give a browser a file in a language
    # it can understand.
    #
    # Note 1: The suffix does not have to be the same as the language
    # keyword --- those with documents in Polish (whose net-standard
    # language code is pl) may wish to use "AddLanguage pl .po" to
    # avoid the ambiguity with the common suffix for perl scripts.
    #
    # Note 2: The example entries below illustrate that in quite
    # some cases the two character 'Language' abbriviation is not
    # identical to the two character 'Country' code for its country,
    # E.g. 'Danmark/dk' versus 'Danish/da'.
    #
    # Note 3: There is 'work in progress' to fix this and get
    # the reference data for rfc3066 cleaned up.
    #
    # Danish (da) - Dutch (nl) - English (en) - Estonian (ee)
    # French (fr) - German (de) - Greek-Modern (el)
    # Italian (it) - Portugese (pt) - Luxembourgeois (lb)
    # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cs)
    # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
    #
    AddLanguage da .dk
    AddLanguage nl .nl
    AddLanguage en .en
    AddLanguage et .ee
    AddLanguage fr .fr
    AddLanguage de .de
    AddLanguage el .el
    AddLanguage it .it
    AddLanguage ja .ja
    AddCharset ISO-2022-JP .jis
    AddLanguage pl .po
    AddCharset ISO-8859-2 .iso-pl
    AddLanguage pt .pt
    AddLanguage pt-br .pt-br
    AddLanguage lb .lu
    AddLanguage ca .ca
    AddLanguage es .es
    AddLanguage sv .se
    AddLanguage cs .cz

    # LanguagePriority: allows you to give precedence to some languages
    # in case of a tie during content negotiation.
    #
    # Just list the languages in decreasing order of preference. We have
    # more or less alphabetized them here. You probably want to change
    # this.
    #
    <IfModule mod_negotiation.c>
        LanguagePriority en da nl et fr de el it ja pl pt pt-br lb ca es sv
    </IfModule>

    #
    # AddType allows you to tweak mime.types without actually editing
    # it, or to make certain files to be certain types.
    #
    # For example, the PHP 3.x module (not part of the Apache
    # distribution - see http://www.php.net) will typically use:
    #
    #AddType application/x-httpd-php3 .php3
    #AddType application/x-httpd-php3-source .phps
    #
    # And for PHP 4.x, use:
    #
    #AddType application/x-httpd-php .php
    #AddType application/x-httpd-php-source .phps

    AddType application/x-tar .tgz
    AddType image/bmp .bmp

    # hdml
    AddType text/x-hdml .hdml

    #
    # AddHandler allows you to map certain file extensions to "handlers",
    # actions unrelated to filetype. These can be either built into
    # the server or added with the Action command (see below).
    #
    # If you want to use server side includes, or CGI outside
    # ScriptAliased directories, uncomment the following lines.
    #
    # To use CGI scripts:
    #
    #AddHandler cgi-script .cgi .sh .pl

    #
    # To use server-parsed HTML files mod_include has to be enabled.
    #
    <IfModule mod_include.c>
     AddType text/html .shtml
     AddHandler server-parsed .shtml
    </IfModule>

    #
    # Uncomment the following line to enable Apache's send-asis HTTP
    # file feature.
    #
    #AddHandler send-as-is asis

    #
    # If you wish to use server-parsed imagemap files, use
    #
    #AddHandler imap-file map

    #
    # To enable type maps, you might want to use
    #
    #AddHandler type-map var

</IfModule>
# End of document types.

# Default charset to iso-8859-1 (http://www.apache.org/info/css-security/).

AddDefaultCharset on

#
# Action: lets you define media types that will execute a script whenever
# a matching file is called. This eliminates the need for repeated URL
# pathnames for oft-used CGI file processors.
# Format: Action media/type /cgi-script/location
# Format: Action handler-name /cgi-script/location
#

#
# MetaDir: specifies the name of the directory in which Apache can find
# meta information files. These files contain additional HTTP headers
# to include when sending the document
#
#MetaDir .web

#
# MetaSuffix: specifies the file name suffix for the file containing the
# meta information.
#
#MetaSuffix .meta

#
# Customizable error response (Apache style)
#  these come in three flavors
#
#    1) plain text
#ErrorDocument 500 "The server made a boo boo.
#  n.b.  the (") marks it as text, it does not get output
#
#    2) local redirects
#ErrorDocument 404 /missing.html
#  to redirect to local URL /missing.html
#ErrorDocument 404 /cgi-bin/missing_handler.pl
#  N.B.: You can redirect to a script or a document using server-side-includes.
#
#    3) external redirects
#ErrorDocument 402 http://some.other_server.com/subscription_info.html
#  N.B.: Many of the environment variables associated with the original
#  request will *not* be available to such a script.

<IfModule mod_setenvif.c>
    #
    # The following directives modify normal HTTP response behavior.
    # The first directive disables keepalive for Netscape 2.x and browsers that
    # spoof it. There are known problems with these browser implementations.
    # The second directive is for Microsoft Internet Explorer 4.0b2
    # which has a broken HTTP/1.1 implementation and does not properly
    # support keepalive when it is used on 301 or 302 (redirect) responses.
    #
    BrowserMatch "Mozilla/2" nokeepalive
    BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0

    #
    # The following directive disables HTTP/1.1 responses to browsers which
    # are in violation of the HTTP/1.0 spec by not being able to grok a
    # basic 1.1 response.
    #
    BrowserMatch "RealPlayer 4\.0" force-response-1.0
    BrowserMatch "Java/1\.0" force-response-1.0
    BrowserMatch "JDK/1\.0" force-response-1.0
</IfModule>

# If the perl module is installed, this will be enabled.
<IfModule mod_perl.c>
  <IfModule mod_alias.c>
   Alias /perl/ /var/www/perl/
  </IfModule>
  <Location /perl>
    SetHandler perl-script
    PerlHandler Apache::Registry
    Options +ExecCGI
  </Location>
</IfModule>

#
# Allow http put (such as Netscape Gold's publish feature)
# Use htpasswd to generate /etc/apache/passwd.
# You must unremark these two lines at the top of this file as well:
#LoadModule put_module          modules/mod_put.so
#AddModule mod_put.c
#
#<IfModule mod_alias.c>
# Alias /upload /tmp
#</IfModule>
#<Location /upload>
#    EnablePut On
#    AuthType Basic
#    AuthName Temporary
#    AuthUserFile /etc/apache/passwd
#    EnableDelete Off
#    umask 007
#    <Limit PUT>
#       require valid-user
#    </Limit>
#</Location>

#
# Allow server status reports, with the URL of http://servername/server-status
# Change the ".your_domain.com" to match your domain to enable.
#
#<Location /server-status>
#    SetHandler server-status
#    Order deny,allow
#    Deny from all
#    Allow from .your_domain.com
#</Location>

#
# Allow remote server configuration reports, with the URL of
#  http://servername/server-info (requires that mod_info.c be loaded).
# Change the ".your_domain.com" to match your domain to enable.
#
#<Location /server-info>
#    SetHandler server-info
#    Order deny,allow
#    Deny from all
#    Allow from .your_domain.com
#</Location>

# Allow access to local system documentation from localhost.
# (Debian Policy assumes /usr/share/doc is "/doc/", at least from the localhost.)
<IfModule mod_alias.c>
 Alias /doc/ /usr/share/doc/
</IfModule>

<Location /doc>
  order deny,allow
  deny from all
  allow from 127.0.0.0/255.0.0.0
  Options Indexes FollowSymLinks MultiViews
</Location>

#
# There have been reports of people trying to abuse an old bug from pre-1.1
# days.  This bug involved a CGI script distributed as a part of Apache.
# By uncommenting these lines you can redirect these attacks to a logging 
# script on phf.apache.org.  Or, you can record them yourself, using the script
# support/phf_abuse_log.cgi.
#
#<Location /cgi-bin/phf*>
#    Deny from all
#    ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi
#</Location>

<IfModule mod_proxy.c>
    #
    # Proxy Server directives. Uncomment the following lines to
    # enable the proxy server:
    #
    #ProxyRequests On

    #<Directory proxy:*>
    #    Order deny,allow
    #    Deny from all
    #    Allow from .your_domain.com
    #</Directory>

    #
    # Enable/disable the handling of HTTP/1.1 "Via:" headers.
    # ("Full" adds the server version; "Block" removes all outgoing Via: headers)
    # Set to one of: Off | On | Full | Block
    #
    #ProxyVia On

    #
    # To enable the cache as well, edit and uncomment the following lines:
    # (no cacheing without CacheRoot)
    #
    #CacheRoot "/var/cache/apache"
    #CacheSize 5
    #CacheGcInterval 4
    #CacheMaxExpire 24
    #CacheLastModifiedFactor 0.1
    #CacheDefaultExpire 1
    #NoCache a_domain.com another_domain.edu joes.garage_sale.com

</IfModule>
# End of proxy directives.

### Section 3: Virtual Hosts
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them.
# Please see the documentation at <URL:http://www.apache.org/docs/vhosts/>
# for further details before you try to setup virtual hosts.
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# If you want to use name-based virtual hosts you need to define at
# least one IP address (and port number) for them.
#
#NameVirtualHost 12.34.56.78:80
#NameVirtualHost 12.34.56.78

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
#
#<VirtualHost ip.address.of.host.some_domain.com>
#    ServerAdmin webmaster@host.some_domain.com
#    DocumentRoot /www/docs/host.some_domain.com
#    ServerName host.some_domain.com
#    ErrorLog logs/host.some_domain.com-error.log
#    CustomLog logs/host.some_domain.com-access.log common
#</VirtualHost>

#<VirtualHost _default_:*>
#</VirtualHost>

<Directory /var/www/mrtg/>
        AllowOverride AuthConfig
        Order allow,deny
        Allow from all
</Directory>

# Automatically added by the post-installation script
# as part of the transition to a config directory layout
# similar to apache2, and that will help users to migrate
# from apache to apache2 or revert back easily
Include /etc/apache/conf.d

Capítulo 4. Licencia
Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation. Puedes consultar una copia de la licencia en http://www.gnu.org/copyleft/fdl.html (http://www.gnu.org/copyleft/fdl.html)

Bibliografía
Sistemas Operativos empleados
[DebianGNULinux]  Debian GNU/Linux (http://www.debian.org/) .