User Manual 3

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 41

DownloadUser Manual 3
Open PDF In BrowserView PDF
Instituto Politécnico Nacional
Escuela Superior de Cómputo

Práctica 3
Integrantes:
López Ayala Eric Alejandro
López Romero Joel
Profesora:
Pérez de Los Santos Mondragón
Tanibet
Grupo:
4CM1
Asignatura:
Administración de Servicios en Red

Índice general
1. Introducción
1.1. Marco teórico. Administración de configuración . . . . . . . . . . . . . . . . . .
1.1.1. Flujo de proceso de alto nivel para la administración de la configuración.
1.1.2. Características de los sistemas de gestión de configuración de red. . . . .
1.1.3. Herramientas de configuración de red. . . . . . . . . . . . . . . . . . . . .
1.2. Introducción al problema 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

1
1
2
2
3
3

2. Configuración de dispositivos IP.
2.1. Credenciales. . . . . . . . . . .
2.2. Persistencia. . . . . . . . . . . .
2.3. Modificación de Nombre. . . . .
2.4. Asignación de IPs. . . . . . . .
2.5. Enrrutamiento estático. . . . . .
2.6. Enrrutamiento RIP. . . . . . . .
2.7. Enrrutamiento OSPF. . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

4
4
4
4
5
5
5
5

3. Supervisión de Servidores.
3.1. Supervisión de los servidores de correo electrónico.
3.1.1. Procedmiento . . . . . . . . . . . . . . . .
3.2. Supervisión de los servidores web. . . . . . . . . .
3.2.1. Procedmiento . . . . . . . . . . . . . . . .
3.3. Supervisión de servidores de archivos. . . . . . . .
3.3.1. Procedimiento . . . . . . . . . . . . . . . .
3.4. Supervisión de impresoras. . . . . . . . . . . . . .
3.4.1. Procedimiento . . . . . . . . . . . . . . . .
3.5. Supervisión de acceso remoto. . . . . . . . . . . .
3.5.1. Procedimiento . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

6
6
6
13
13
16
16
21
21
26
26

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

4. Recopilar la configuración de los dispositivos de manera periódica.
30
4.1. Administración del archivo de configuración. . . . . . . . . . . . . . . . . . . . . . . 30
5. Conclusiones
36
5.1. López Ayala Eric Alejandro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2. López Romero Joel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2

Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

1 | Introducción
1.1.

Marco teórico. Administración de configuración

Es una recolección de procesos y herramientas que fomentan la consistencia de la red, realizan un
seguimiento del cambio de red y proporcionan documentación y visibilidad de redes actualizadas.
Si se crean y mantienen prácticas recomendadas de administración de la configuración, las ventajas
podrían ser, una mejor disponibilidad de red y menores costos. Estos incluyen:
Costos bajos de servicio técnico debido a una disminución de los problemas de soporte reactivo.
Costos más bajos de red debido al uso de herramientas de seguimiento de dispositivo, circuito
y usuario, y procesos que identifican componentes no usados de red.
Disponibilidad de red mejorada debido a una disminución en los costos del soporte reactivo
y tiempo optimizado para resolver problemas.
Los siguientes problemas surgen de una mala administración de la configuración.
Incapacidad para determinar el impacto de los cambios de la red en el usuario.
Más problemas de soporte reactivo y menor disponibilidad
Mayor tiempo para resolver problemas
Mayores costos de red debido a componentes de red no utilizados
[1]
La administración de configuración de red es el proceso de organizar y mantener información
sobre todos los componentes de una red informática. Cuando una red necesita reparación, modificación, expansión o actualización, el administrador se refiere a la base de datos de gestión de
configuración de red para determinar el mejor curso de acción. Esta base de datos contiene las
ubicaciones y la dirección IP o la dirección de red de todos los dispositivos de hardware, así como
información sobre la configuración predeterminada, los programas, las versiones y las actualizaciones instaladas en las computadoras de la red. [1]

1

ESCOM

IPN

1.1.1.

Flujo de proceso de alto nivel para la administración de la configuración.

Acontinuación en la Fig 1.1 se ilustra el modo de utilizar los factores esenciales del éxito seguidos
de indicadores de rendimiento a fin de implementar un plan de administración de configuración
exitosa. [1]

Figura 1.1: Diagrama

1.1.2.

Características de los sistemas de gestión de configuración de red.

Una característica principal de la administración de configuración de red es su capacidad de
reemplazar las funciones de un dispositivo de red en caso de falla. Los diferentes dispositivos de
red guardan las configuraciones en diferentes formatos, y encontrar información de configuración
puede ser difícil cuando un dispositivo en particular tiene que ser reemplazado. Con un sistema
de gestión de la configuración de red instalado, la información de configuración se almacenará en
un servidor ubicado centralmente, donde las configuraciones del dispositivo se pueden descargar
fácilmente.
Los dispositivos que dependen de la interfaz de línea de comando necesitan un administrador
confiable que use un protocolo estándar como el Protocolo de Transferencia Segura de Archivos
para obtener la información necesaria, pero las copias de seguridad también se pueden automatizar,
a menudo a través de un tercero. [2]

Ing. en Sistemas Computacionales

2

Administración de Servicios en Red

ESCOM

1.1.3.

IPN

Herramientas de configuración de red.

Las herramientas de configuración de red pueden ser independientes del proveedor o específicas
del proveedor. Las herramientas independientes del proveedor, por lejos las más comunes, están
diseñadas para redes que contienen hardware y programas de múltiples proveedores. Las herramientas específicas del proveedor generalmente funcionan solo con los productos de un único proveedor y pueden ofrecer un mejor rendimiento en las redes donde ese proveedor domina el mercado.
Las herramientas de configuración se pueden utilizar para algo más que simplemente relanzar un dispositivo después de que falla. Algunas herramientas de administración de configuración
rastrean los datos de configuración a diario para detectar cualquier cambio en los archivos de
configuración, lo que podría revelar amenazas cibernéticas y posibles fallas. Las herramientas de
configuración de red se pueden usar para crear cambios masivos. Por ejemplo, una empresa podría
implementar rápidamente un cambio de contraseña si se filtran los datos de la contraseña. Además
de realizar cambios en conjunto, las herramientas de administración de configuración se pueden
usar para auditar e informar. Aunque no muestran información como la memoria o el rendimiento
de la CPU, se pueden usar para mostrar reglas de firewall o parámetros VPN exactos.
Las herramientas de administración de configuración de red también tienen capacidades de
informes, lo que permite al personal del sistema rastrear fácilmente la información sobre los componentes de la red. [2]

1.2.

Introducción al problema 3.

De acuerdo a lo visto en clase, las espeificaciones dadas para esta tercer evaluación, además de
la información investigada. Dada una topología, ser debe realizar la configuración por un protocolo
en especifico para tener conectividad entre los distintos segmentos de red. Para ello es necesario
el uso de GNS3, una poderosa herramienta que permite desarrollar topologías de red complejas
y poner simulaciones en marcha en estas topologías. Además del uso de RCP100 para simular
routers. El objetivo de esta tercer evaluación es desarrollar e implementar una herramienta para la
administración de configuracion sobre una red y monitorizar ciertos aspectos en una máquina virtual con 5 servidores configurados (SMTP - IMAP, HTTP, FTP, Impresión, SSH). A continuación
se presentan las distintas tareas realizadas para cumplir con el objetivo de la evaluación.

Ing. en Sistemas Computacionales

3

Administración de Servicios en Red

2 | Configuración de dispositivos IP.
A continuación se muestran varios comandos de configuración para RCP100.

2.1.
1
2

rcp login :
password :

2.2.
2
3
4
5
6
7
8
9
10
11
12

2.3.
2
3
4

rcp
rcp

Persistencia.
root
-> alt + f5
crear particion
-> fdisk / dev / sda
-> command : n
-> select : p
-> command : w
crear sistemas de archivos
-> mkfs . ext4 / dev / sda1
-> reboot
-> persist . sh
-> opcion : 1
-> reboot

1

1

Credenciales.

Modificación de Nombre.

enable
configure
nombreHost
guardar

->
->
->
->

en
conf
hostname nombre
copy run start

4

ESCOM

2.4.
2
3
4
5
6
7
8

2.5.
2
3

Asignación de IPs.
enable
->
configure
->
interfaz
->
asignar IP ->
No Shutdown ->
guardar
->
estado Interfaces
salir
->

1

1

IPN

en
conf
interface ethernet nombreInterfaz
ip address direccionIP / bitsDeMascara
no sh
copy run start
-> show interface
exit

Enrrutamiento estático.

configuracion -> conf
enrrutamiento -> ip route direccionIpDestino / bitsMask direccionIpSigSalto
mostrar tabla de enrrutamiento -> show ip route

2.6.

Enrrutamiento RIP.
enable
->
en
configure
->
conf
RIP
->
router rip
asignarIP
->
network DireccionRedIp / bitsMaks
Distribuir ruta -> redistribute connected
mostrar Ips RIP -> show ip rip

1
2
3
4
5
6

2.7.

Enrrutamiento OSPF.
enable
configure
OSPF
asginar ip
distribuir
mostrar osp

1
2
3
4
5
6

->
->
->
->
->
->

en
conf
router ospf
network direccionRedIp / mask area 0
redistribute connected
show ip ospf

[3]

Ing. en Sistemas Computacionales

5

Administración de Servicios en Red

3 | Supervisión de Servidores.
Todos los administradores de red deben supervisar la funcionalidad de los servidores que se
encuentran disponibles dentro de la topología que se está supervisando.

3.1.

Supervisión de los servidores de correo electrónico.

Todo administrador de red debe supervisar la funcionalidad de sus servidores de correo electrónico. Esto significa supervisar:
Disponibilidad.
Rendimiento.
Entrega de los correo electrónicos sin errores.

3.1.1.

Procedmiento

1. El primer paso es la instalación y configuración del servidor de correo electrónico, para ello
se hizo uso del servidor de correo electrónico hMailServer, el cual nos ofrece servicios que
implementan los protocolos: IMAP, POP3 y SMTP.

Instalación y Configuración
Lo primero es descargar el archivo ejecutable de instalación del servidor de la página:
https://www.hmailserver.com/download, (Nota: El servidor solo puede ser instalado
en OS Windows o usando la herramienta Wine en Linux).
Se procede con el proceso de instalación, tal y como lo indica el wizard.
Por último una vez instalado, se define una contraseña para poder acceder a la configuración del servidor, esta contraseña será solicitada cada vez que se cierre el proceso del
servidor.
2. Una vez instalado y configurado el servidor, ya podemos realizar la supervisión del mismo;
para la supervisión se implemento un Sensor SMTP & IMAP Round Trip. Este sensor hace
6

ESCOM

IPN

uso de los protocolos SMTP e IMAP para supervisar la entrega de correo electrónico de
extremo a extremo.
El sensor de ida y vuelta de SMTP e IMAP supervisa el tiempo que tarda un correo electrónico en llegar a un buzón del Protocolo de acceso a mensajes de Internet (IMAP) después de
enviarse mediante el Protocolo simple de transferencia de correo (SMTP). Se envía un correo
electrónico utilizando el dispositivo principal como servidor SMTP y luego escanea un buzón
IMAP dedicado hasta que llega este correo electrónico.

Implementación
El primer elemento a implementar para poder hacer el Round-Trip es el sensor SMTP, el cuál
es el encargado de enviar el correo eléctronico de prueba y sensar la respuesta del servidor
SMTP. A continuación se muestra el código que implementa este comportamiento:
smtp sensor
1
2
3
4

import s m t p l i b
from e m a i l . mime . m u l t i p a r t import MIMEMultipart
from e m a i l . mime . t e x t import MIMEText
import time

5
6
7
8
9
10

#S t a b l i s h c o n f i g u r a t i o n p a r a m e t e r s
hostname = " 1 0 . 1 0 . 1 0 . 3 "
username = " a d m i n i s t r a d o r @ m a i l s e r v e r . a s r "
destination = " servidorsmtp@mailserver . asr "
password = " 123456 "

11
12
13
14
15

d e f open_connection ( v e r b o s e ) :
#Connect t o t h e s e r v e r
i f v e r b o s e : p r i n t ( ' Connecting t o ' , hostname )
c o n n e c t i o n = s m t p l i b .SMTP( hostname , 2 5 )

16
17
18
19
20

# Login t o our a c c o u n t
i f v e r b o s e : p r i n t ( ' Logging i n a s ' , username )
c o n n e c t i o n . l o g i n ( username , password )
return connection

main smtp
1
2
3

d e f smtpSensor ( ) :
s t a r t = time ( )
conn = open_connection ( v e r b o s e=F a l s e )

Ing. en Sistemas Computacionales

7

Administración de Servicios en Red

ESCOM

IPN

4
5
6
7
8
9
10
11

# Assembling a e m a i l b a s i c h e a d e r
fromaddr = " a d m i n i s t r a d o r @ m a i l s e r v e r . a s r "
toaddr = " servidorsmtp@mailserver . asr "
msg = MIMEMultipart ( )
msg [ ' From ' ] = fromaddr
msg [ 'To ' ] = t o a d d r
msg [ ' S u b j e c t ' ] = " Correo de prueba d e l e q u i p o # d e l grupo 4CM1"

12
13
14
15
16

# Now we a t t a c h t h e body o f t h e e m a i l t o t h e MIME message
body = " E r i c A l e j a n d r o Lopez Ayala \ n J o e l Lopez Romero"
msg . a t t a c h (MIMEText( body , ' p l a i n ' ) )
t e x t = msg . a s _ s t r i n g ( )

17
18
19

conn . s e n d m a i l ( fromaddr , toaddr , t e x t )
end = time ( )

20
21
22
23
24
25
26
27

l o g g i n g . debug ( "=====================" )
l o g g i n g . debug ( "SMTP SENSOR" )
l o g g i n g . debug ( ' Send message : : : : : : : : : : : : : : : : : : : : : ' )
l o g g i n g . debug ( t e x t )
l o g g i n g . debug ( "SMTP r e s p o n s e time took ( "
+ s t r ( end − s t a r t )
+ " seconds passed ) " )

El segundo elemento requerido el Round-Trip es el sensor IMAP, el cual es el encargado de
leer la bandeja de entrada de correo electrónico del email destino e identificar los correos de
prueba que llegan desde el servidor SMTP, así mismo se encarga de sensar la respuesta del
servidor IMAP. A continuación se muestra el código que implementa este comportamiento:
imap sensor
1
2
3
4

import i m a p l i b
import e m a i l
import time
from i t e r t o o l s import c h a i n

5
6
7
8
9
10
11
12
13

d e f s e a r c h _ s t r i n g ( uid_max , c r i t e r i a ) :
c = l i s t (map( lambda t : ( t [ 0 ] ,
' " '+s t r ( t [ 1 ] ) + ' " ' ) ,
c r i t e r i a . items ( ) ) )
+ [ ( 'UID ' , ' %d : ∗ ' % ( uid_max + 1 ) ) ]
r e t u r n '( %s ) ' % ' ' . j o i n ( c h a i n ( ∗ c ) )
# Produce s e a r c h s t r i n g i n IMAP format :
# e . g . (FROM "me@gmail . com" SUBJECT " abcde " BODY "123456789" UID 9 9 9 9 : ∗ )

14

Ing. en Sistemas Computacionales

8

Administración de Servicios en Red

ESCOM

15
16

IPN

d e f g e t _ f i r s t _ t e x t _ b l o c k ( msg ) :
type = msg . get_content_maintype ( )

17
18
19
20
21
22
23

i f type == ' m u l t i p a r t ' :
f o r p a r t i n msg . get_payload ( ) :
i f p a r t . get_content_maintype ( ) == ' t e x t ' :
r e t u r n p a r t . get_payload ( )
e l i f type == ' t e x t ' :
r e t u r n msg . get_payload ( )

24
25
26
27
28
29

d e f open_connection ( v e r b o s e ) :
# S t a b l i s h c o n f i g u r a t i o n parameters
username = " s e r v i d o r i m a p @ m a i l s e r v e r . a s r "
password = " 123456 "
hostname = " 1 0 . 1 0 . 1 0 . 3 "

30
31
32
33

# Connect t o t h e s e r v e r
i f v e r b o s e : p r i n t ( ' Connecting t o ' , hostname )
c o n n e c t i o n = i m a p l i b . IMAP4( hostname )

34
35
36
37
38
39
40

# Login t o our a c c o u n t
username = username
password = password
i f v e r b o s e : p r i n t ( ' Logging i n a s ' , username )
c o n n e c t i o n . l o g i n ( username , password )
return connection

main imap
1
2
3
4

d e f imapSensor ( ) :
conn = open_connection ( v e r b o s e=F a l s e )
try :
l o g g i n g . debug ( conn )

5
6
7
8
9
10
11
12

# R e s t r i c t m a i l s e a r c h . Be v e r y s p e c i f i c .
# Machine s h o u l d be v e r y s e l e c t i v e t o r e c e i v e messages .
criteria = {
'FROM' : ' a d m i n i s t r a d o r @ m a i l s e r v e r . a s r ' # ,
# 'SUBJECT ' : ' Correo de prueba d e l e q u i p o # d e l grupo 4CM1 ' ,
# 'BODY ' : ' E r i c A l e j a n d r o Lopez Ayala \ n J o e l Lopez Romero ' ,
}

13
14
15

# We s t a b l i s h t h e max u i d from mailbox
uid_max = 0

16
17
18

# We s e l e c t t h e o b j e c t s t h a t a r e a r inbox
conn . s e l e c t ( 'INBOX ' )

Ing. en Sistemas Computacionales

9

Administración de Servicios en Red

ESCOM

19

IPN

r e s u l t , data = conn . u i d ( ' s e a r c h ' , None , s e a r c h _ s t r i n g ( uid_max , c r i t e r i a ) )

20
21
22
23
24
25

u i d s = [ i n t ( s ) f o r s i n data [ 0 ] . s p l i t ( ) ]
i f uids :
uid_max = max( u i d s )
# I n i t i a l i z e `uid_max ` . Any UID l e s s than o r e q u a l t o `uid_max`
#w i l l be i g n o r e d s u b s e q u e n t l y .

26
27
28

# We c l o s e t h e c o n n e c t i o n
conn . l o g o u t ( )

29
30
31
32
33
34
35
36
37
38
39

# Keep c h e c k i n g messages . . .
l o g g i n g . debug ( "=====================" )
l o g g i n g . debug ( "IMAP SENSOR" )
w h i l e True :
s t a r t = time ( )
end = 0
# Have t o l o g i n / l o g o u t each time b e c a u s e t h a t ' s
#t h e o n l y way t o g e t f r e s h r e s u l t s .
conn = open_connection ( v e r b o s e=F a l s e )
conn . s e l e c t ( 'INBOX ' )

40
41
42
43

r e s u l t , data = conn . u i d ( ' s e a r c h ' ,
None ,
s e a r c h _ s t r i n g ( uid_max , c r i t e r i a ) )

44
45

u i d s = [ i n t ( s ) f o r s i n data [ 0 ] . s p l i t ( ) ]

46
47
48
49
50
51
52
53

f o r uid in uids :
# Have t o check a g a i n i n c a s e t h e UID c r i t e r i o n i s not obeyed
i f u i d > uid_max :
r e s u l t , data = conn . u i d ( ' f e t c h ' , s t r ( u i d ) , ' ( RFC822 ) ' )
# Fetch e n t i r e message
msg = e m a i l . message_from_string ( s t r ( data [ 0 ] [ 1 ] ,
e n c o d i n g=" u t f −8" ) )

54

uid_max = u i d
# p r i n t ( uid_max )

55
56
57
58
59
60
61
62
63
64
65

t e x t = g e t _ f i r s t _ t e x t _ b l o c k ( msg )
l o g g i n g . debug ( 'New message : : : : : : : : : : : : : : : : : : : : : ' )
l o g g i n g . debug ( " Message Body : " + t e x t )
end = time ( )
l o g g i n g . debug ( "IMAP r e s p o n s e time took : ( "
+ s t r ( end − s t a r t )
+ " seconds passed ) " )
conn . l o g o u t ( )

Ing. en Sistemas Computacionales

10

Administración de Servicios en Red

ESCOM

66
67
68
69

IPN

time . s l e e p ( 1 )
l o g g i n g . debug ( "=====================" )
finally :
conn . l o g o u t ( )

3. Una vez que se han implementado, se procede a realizar el sensado del servidor de correos,
el sensor muestra la siguiente información:
Tiempo de respuesta del servidor SMTP.
Contenido del correo electrónico de prueba enviado.
Tiempo de respuesta del servidor IMAP.
Contenido del correo electrónico de prueba recibido.
A continuación se muestran las capturas de pantalla que reflejan el comportamiento de este
sensor, las pruebas se realizarón al servidor de correos con la IP: 10.10.10.2:
Pruebas

Figura 3.1: Prueba Sensor SMTP.

Ing. en Sistemas Computacionales

11

Administración de Servicios en Red

ESCOM

IPN

Figura 3.2: Bandeja de correo electrónico SMTP.

Figura 3.3: Prueba Sensor SMTP.

Figura 3.4: Bandeja de correo electrónico IMAP.

Ing. en Sistemas Computacionales

12

Administración de Servicios en Red

ESCOM

3.2.

IPN

Supervisión de los servidores web.

El rendimiento un sitio web es un factor decisivo para muchas empresas, mucho más cuando
ellas ofrecen productos y servicios a través de sus sitios web. Esto significa supervisar:
Tiempo de respuesta (carga) de una solicitud HTTP.
Ancho de banda de la conexión.
Bytes recibidos/enviados durante la petición.

3.2.1.

Procedmiento

1. El primer paso es la instalación y configuración del servidor HTTP, para ello se hizo uso de
un built-in que viene incorporado dentro de python nativo del OS Linux.
Instalación y Configuración En OS Linux que possen python 2.7 en adelante poseen un
paquete que permite implementar un servidor HTTP simple mediante una linea de comando
de shell, para dar de alta el servidor HTTP se ejecuta el siguiente comando:
python -m SimpleHTTPServer 8000

1

Con esta linea de comando montamos un servidor HTTP simple en el puerto 8000, tal y
como se muestra en la siguiente pantalla:
2. Una vez instalado y configurado el servidor, ya podemos realizar la supervisión del mismo;
para la supervisión se implemento un Sensor HTTP. Este sensor implementa el protocolo
HTTP, el cual le permite recibir peticiones GET, POST, DELETE y UPDATE.
Implementación
El sensor HTTP se encarga de realizar una petición POST al servidor, en la cual se envían
un conjunto de datos payload, y recibe los datos de sensado como respuesta a la petición. A
continuación se muestra el código que implementa este comportamiento:
http sensor
1
2
3
4
5

# Here we import 2 l i b r a r i e s r e q u i e r e d f o r t h e h t t p s e n s o r
# time : R e q u i e r e d f o r measuring time o f t h e r e q u e s t
# r e q u e s t : API r e q u i e r e d h a n d l e HTTP r e q u e s t s and r e s p o n s e s
import time
import r e q u e s t s

6
7
8
9
10

def sense ( url ) :
try :
# This i s t h e code used t o do an HTTP r e q u e s t and o b t a i n i n g t h e time i n
s t a r t _ t i m e = time . time ( )

Ing. en Sistemas Computacionales

13

Administración de Servicios en Red

ESCOM

11
12
13
14

IPN

# with e v e n t l e t . Timeout ( 1 0 0 ) :
payload = { ' Equipo ' : ' 10 ' , ' Grupo ' : ' 4CM1 ' }
r e s p o n s e = r e q u e s t s . p o s t ( u r l , payload )
end_time = time . time ( )

15
16

r o u n d t r i p = end_time − s t a r t _ t i m e

17
18
19
20
21
22
23

# Then from t h e HTTP r e s p o n s e we r e a d and c a l c u l a t e t h e data p e r r e s p o n s e
# The f o r each and sum a r e i n c a s e t h a t t h e r e s p o n s e
# data i t i s t o o b i g s o we c u t them i n t o chunks
with r e s p o n s e a s r :
s i z e = sum ( l e n ( chunk ) f o r chunk i n r e s p o n s e . i t e r _ c o n t e n t ( 8 1 9 6 ) )
# The s i z e o f t h e chunk i s 8 k b y t e s

24
25
26
27
28

# Then f i n a l l y we c a l c u l a t e t h e HTTP download r a t e ,
# t h i s i s done by u s i g t h e t o t a l r e q u e s t time and i t s s i z e
# F i r s t we do a c o n v e r t i o n from b y t e s t o b i t s
size_in_bits = s i z e ∗ 8

29
30
31

# Then we do a d i v i s i o n r a t e t o o b t a i n t h e t o t a l number o f b i t s p e r s e c o n
download_rate = s i z e _ i n _ b i t s / r o u n d t r i p

32
33
34

#F i n a l l y we p r i n t t h e r e s p o n s e code o f t h e r e q u e s t
re sp ons e_ cod e = r e s p o n s e . s t a t u s _ c o d e

35
36

r e t u r n r o u n d t r i p , s i z e , s i z e _ i n _ b i t s , download_rate , res po nse _c ode

37
38
39
40
41
42

except r e q u e s t s . e x c e p t i o n s . RequestException as e :
# Here we h a n d l e t h e e x c e p t i o n
print ( e )
# We r e t u r n an a l l 0 ' l i s t
return [0 , 0 , 0]

main http
1
2
3

def httpSensor ( ) :
test_web_pages = [ ' h t t p : / / 1 0 . 1 0 . 1 0 . 2 : 8 0 0 0 / ' ]
# Hay que cambiar l a IP de a q u i xd

4
5
6

l o g g i n g . debug ( "=====================" )
l o g g i n g . debug ( "HTTP SENSOR" )

7
8
9
10
11

f o r web_page i n test_web_pages :
l o g g i n g . debug ( " ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ " )
l o g g i n g . debug ( " Doing t e s t t o : " + web_page )
r o u n d t r i p , s i z e , s i z e _ i n _ b i t s , download_rate , re spo ns e_c od e = s e n s e ( web_p

12

Ing. en Sistemas Computacionales

14

Administración de Servicios en Red

ESCOM

IPN

l o g g i n g . debug ( ' T o t a l time : ' + s t r ( r o u n d t r i p ) )
# F i n a l l y we p r i n t t h e r e s u l t time i n s e c o n d s .
l o g g i n g . debug ( ' T o t a l r e c i e v e d b y t e s : ' + s t r ( s i z e ) )
l o g g i n g . debug ( ' T o t a l r e c i e v e d b i t s : ' + s t r ( s i z e _ i n _ b i t s ) )
l o g g i n g . debug ( ' Download r a t e i n b i t s / s : ' + s t r ( i n t ( download_rate ) ) )
l o g g i n g . debug ( ' Response code : ' + s t r ( r es pon se _co de ) )
l o g g i n g . debug ( " ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ " )

13
14
15
16
17
18
19
20
21

l o g g i n g . debug ( "=====================" )

Figura 3.5: Servidor HTTP Ejecuntando.

3. Una vez que se ha implmentado el sensor, se procede realizar el sensado del servidor HTTP,
el sensor realiza una petición POST al servidor, con lo cual muestra la siguiente información:
Tiempo de respuesta del servidor HTTP.
Número e bytes que ha recibido de la petición.
Velocidad de ancho de descarga de la petición.
Código de respuesta del servidor.
A continuación se muestra la captura de pantalla que refleja el comportamiento de este
sensor, las pruebas se realizarón al servidor HTTP con la IP: 10.10.10.2:
Pruebas

Ing. en Sistemas Computacionales

15

Administración de Servicios en Red

ESCOM

IPN

Figura 3.6: Prueba Sensor HTTP.

3.3.

Supervisión de servidores de archivos.

Los servidores FTP son centros de descargas que proporcionan datos, aplicaciones, controladores y actualizaciones de software a sus clientes y compañeros de trabajo.
Si las empresas no pueden acceder a la información entonces nada funciona. Por lo tanto, una de
las principales tareas de los administradores es asegurar que el servidor de archivos está disponible
y que funciona sin ningún tipo de problema. Esto significa supervisar:
Disponibilidad.
Rendimiento.
Capacidad de subir y descargar archivos.

3.3.1.

Procedimiento

1. El primer paso es la instalación y configuración del servidor FTP, para ello se hizo uso del
servidor vsFTPd, el cual será el encargado de proporcionar todos los servicios que establece
el protocolo FTP.

Instalación y Configuración
Para instalar el vsFTPd en un SO Linux, abrimos una terminal y ejecutamos el siguiente
comando:
1

Ing. en Sistemas Computacionales

sudo apt - get install vsftpd
16

Administración de Servicios en Red

ESCOM

IPN

El comando anterior instalará e inicializará el servidor FTP.
Setting up vsftpd (2.3.5 -1 ubuntu2 ) ...
vsftpd start / running , process 1891

1
2

Después una vez instalado, vamos al archivo de configuración de la ruta /etc/vsftpd.
conf y modificamos las siguientes lineas:
listen = YES
local_enable = YES
write_enable = YES
userlist_enable = YES
userlist_deny = NO

1
2
3
4
5

Por último guardamos los cambios en el archivo y procedemos a reiniciar el servicio:
sudo service vsftpd restart

1

Una vez terminada la instalación y configuración del servidor FTP, podemos realizar
conexiones al mismo, tal y como se muestra en la pantalla:

Figura 3.7: Servidor FTP Ejecutando.

2. Una vez instalado y configurado el servidor, ya podemos realizar la supervisión del mismo:
para la supervisión se implemento un Sensor FTP. Este sensor implementa el protocolo FTP,
el cual permite realizar operaciones de READ y WRITE.
Implementación
El sensor FTP se encarga de realizar la conexión con el servidor y realizar operaciones de
lectura y escritura al mismo, con ello puede sensar datos como la velocidad de conexión
y disponibilidad del servidor. A continuación se muestra el código que implementara este
comportamiento:
ftp sensor

Ing. en Sistemas Computacionales

17

Administración de Servicios en Red

ESCOM

1
2

IPN

import f t p l i b
from time import time

3
4
5
6

FTP_HOST = " 1 0 . 1 0 . 1 0 . 2 "
FTP_USERNAME = " s e r v i d o r e s "
FTP_PASSWORD = " 12345678 "

7
8
9

f t p = None
TEST_FILE = " c o n f i g u r a c i o n . t x t "

10
11
12
13
14
15
16
17
18
19

def g e t F i l e ( ftp , f i l e ) :
try :
f t p _ f i l e = open ( f i l e , 'wb ' )
f t p . r e t r b i n a r y ( 'RETR ' + f i l e , f t p _ f i l e . w r i t e )
ftp . quit ()
return 0
except Exception as e :
print ( e )
r e t u r n −1

20
21
22
23
24
25
26
27
28

def s e t F i l e ( ftp ) :
try :
f t p _ f i l e = open (TEST_FILE, ' rb ' )
f t p . s t o r b i n a r y ( 'STOR ' + TEST_FILE, f t p _ f i l e )
return 0
except Exception as e :
print ( e )
r e t u r n −1

29
30
31
32
33
34
35

d e f doSubScanning ( f t p , dir_path ) :
try :
f t p . cwd ( dir_path )
subdirectory_content = ftp . n l s t ()
f i l e s = len ( subdirectory_content )
f i l e _ s c a n = ""

36
37
38
39
40
41
42
43
44
45
46
47

if ( f i l e s > 0):
for directory in subdirectory_content :
file_scan = file_scan
+ " Scanning d i r e c t o r y / f i l e : "
+ d i r e c t o r y + "\n"
i f " . " not i n d i r e c t o r y :
file_scan = file_scan
+ doSubScanning ( f t p , dir_path + "/ " + d i r e c t o r y + " /" )
return file_scan
except Exception as e :
print ( e )

Ing. en Sistemas Computacionales

18

Administración de Servicios en Red

ESCOM

IPN

r e t u r n −1

48
49
50
51
52
53
54
55
56
57
58
59
60
61
62

def doServerScanning ( ftp ) :
try :
root_directory_content = ftp . n l s t ()
f i l e _ s c a n = ""
f i l e _ s c a n = f i l e _ s c a n + " Scanning : S e r v e r Root D i r e c t o r y \n"
f o r directory in root_directory_content :
f i l e _ s c a n = f i l e _ s c a n + " Scanning d i r e c t o r y / f i l e : " + d i r e c t o r y + "\n
#i f " . " not i n d i r e c t o r y :
#f i l e _ s c a n = f i l e _ s c a n + doSubScanning ( f t p , "/" + d i r e c t o r y + " / "
return file_scan
except Exception as e :
print ( e )
r e t u r n −1

main ftp
1
2
3
4
5

def ftpSensor ( ) :
# Connect t o host , d e f a u l t p o r t
f t p = f t p l i b .FTP(FTP_HOST)
# Do l o g i n
f t p . l o g i n (FTP_USERNAME, FTP_PASSWORD)

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

l o g g i n g . debug ( "=====================" )
l o g g i n g . debug ( "FTP SENSOR" )
# Get welcome message from s e r v e r
l o g g i n g . debug ( f t p . getwelcome ( ) )
s t a r t = time ( )
# Doing FTP F i l e Upload
result = setFile ( ftp )
l o g g i n g . debug ( " Upload o f f i l e s u c e s s f u l " )
end = time ( )
l o g g i n g . debug ( "FTP r e s p o n s e time : ( %.2 f s e c o n d s ) " % ( end − s t a r t ) )
# Doing S e n s o r FTP S e r v e r F i l e Count
l o g g i n g . debug ( d o S e r v e r S c a n n i n g ( f t p ) )
l o g g i n g . debug ( "=====================" )
# Q u i t t i n g FTP S e r v e r Connection
ftp . quit ()

3. Una vez que se ha implementado el sensor, se procede a realizar el sensado del servidor FTP,
el sensor realiza un handshake con el servidor para verificar la disponibilidad del mismo, sube
un archivo al servidor y por último realiza un recorrido sobre su directorio raíz, mostrando
la siguiente información:
Tiempo de resupesta del servidor.
Ing. en Sistemas Computacionales

19

Administración de Servicios en Red

ESCOM

IPN

Archivo de carga al servidor.
Contenido del directorio raíz del servidor.
A continuación se muestra la captura de pantala que refleja el comportamiento de este sensor,
las pruebas se realizarón al servidor FTP con la IP: 10.10.10.2
Pruebas

Figura 3.8: Prueba Sensor FTP.

Ing. en Sistemas Computacionales

20

Administración de Servicios en Red

ESCOM

3.4.

IPN

Supervisión de impresoras.

Las impresoras deben trabajar y no interrumpir los flujos de trabajo. Los empleados no deben
tener que considerar si la impresora está lista para operar.
El servidor CUPS nos pertite administrar la configuración de las impresoras dentro de una red
de computadora, por lo cual nos permite supervisar el funcionamiento de cada una de ellas.

3.4.1.

Procedimiento

1. El primer paso es la instalación y configuración del servidor de Impresoras, para ello se hizo
uso del servidor CUPS que viene por defecto que viene en los OS Linux.
Instalación y Configuración
Por defecto cups ya viene preinstalado los OS Linux por lo cual abrimos nuestro navegador y en la barra de direcciones insertamos el siguiente enlace: http://localhost:631/;
en caso de estar habilitado se mostrará la siguiente pantalla:

Figura 3.9: Servidor CUPS Ejecutandose.
Después nos vamos al módulo de administración y agregamos una nueva impresora, tal
y como se muestra a continuación:
Seleccionamos la impresora y que tipo de red estará conectada.
Configuramos la información de descripción de la impresora.
Por último seleccionamos el tipo y modelo de la impresora de un catálogo definido.
2. Una vez instalado y configurado el servidor, ya podemos realizar la supervisión del mismo,
para la supervisión se implemento un Sensor CUPS.
Implementación
El sensor de impresión supervisa varios tipos d impresoras usando CUPS. Este sensor implementa las directrices que requiere cups, con ello se puede sensar datos como la descripción
Ing. en Sistemas Computacionales

21

Administración de Servicios en Red

ESCOM

IPN

Figura 3.10: Agregar nueva impresora.

Figura 3.11: Seleccionar impresora.

Ing. en Sistemas Computacionales

22

Administración de Servicios en Red

ESCOM

IPN

Figura 3.12: Configuración de información.

Figura 3.13: Seleccionar tipo de impresora.

Ing. en Sistemas Computacionales

23

Administración de Servicios en Red

ESCOM

IPN

que la impresora ofrece. A continuación se muestra el código que implementara este comportamiento:
cups sensor
1

import s p u r

2
3
4
5
6
7
8
9
10
11
12

d e f doLogin ( ) :
# Spur command s h e l l e x c e c u t i o n
s h e l l = spur . Ss h Sh e ll (
hostname=" 1 0 . 1 0 . 1 0 . 2 " ,
username=" s e r v i d o r e s " ,
password=" 12345678 " ,
p o r t = " 22 " ,
missing_host_key = s p u r . s s h . MissingHostKey . a c c e p t
)
return s h e l l

main cups
1
2
3

def cupsSensor ( ) :
#We do l o g i n and o b t a i n an i n s t a n c e o f t h e s h e l l
s h e l l = doLogin ( )

4
5
6
7

#We run t h e command prompt from t h e s h e l l
with s h e l l :
r e s u l t = s h e l l . run ( [ " l p s t a t " , "−p" ] )

8
9
10
11
12
13
14
15
16

#Then we p a r s e t h e r e s u l t and we p r o c e s s t h e t e x t data
i f r e s u l t . return_code == 0 :
l i n e s = s t r ( r e s u l t . output , e n c o d i n g=" u t f −8" ) . s p l i t ( " \n" )
l o g g i n g . debug ( "=====================" )
l o g g i n g . debug ( "CUPS SENSOR" )
for l i n e in l i n e s :
i f ( l i n e != "" ) :
data = s t r ( l i n e ) . s p l i t ( " " )

17
18
19
20

l o g g i n g . debug ( " ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ " )
printer_name = data [ 1 ]
p r i n t e r _ l a s t _ c o n n = " " . j o i n ( data [ 5 : 1 2 ] )

21
22
23
24
25

l o g g i n g . debug ( " P r i n t e r name : " + s t r ( printer_name ) )
l o g g i n g . debug ( " F i r s t e n a b l e d c o n f i g u r a t i o n : "
+ s t r ( printer_last_conn ))
l o g g i n g . debug ( " ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ " )

26
27

l o g g i n g . debug ( "=====================" )

Ing. en Sistemas Computacionales

24

Administración de Servicios en Red

ESCOM

28
29
30
31
32

IPN

l o g g i n g . debug ( " T o t a l number o f p r i n t e r s : "
+ str ( len ( l i n e s ) − 1))
else :
s t r ( r e s u l t . s t d e r r _ o u t p u t , e n c o d i n g=" u t f −8" )
# p r i n t s t h e s t d e r r output code

3. Una vez que se ha implementado el sensor, se procede a realizar el sensado del servidor CUPS,
el sensor se conecta mediante SSH al servidor y ejecuta un comando de shell para realizar la
consulta al servidor. Esta consulta se procesa y se obtiene la siguiente información:
Nombre de la impresora.
Cuando fue habilitada por primera vez.
Estado de la impresora.
A continuación se muestra la captura de pantalla que refleja el comportamiento de este
sensor, las pruebas se realizarón al servidor CUPS con la IP: 10.10.10.2
Pruebas

Figura 3.14: Prueba Sensor CUPS.

Ing. en Sistemas Computacionales

25

Administración de Servicios en Red

ESCOM

IPN

3.5.

Supervisión de acceso remoto.

El acceso remoto debe ser controlado en todo momento. Un administrador de red debe controlar las conexiones de acceso remoto a su red.
El servidor SSH nos permite generar usuarios y sesiones para que se puedan conectar de forma
remota a un dispositivo y tomar control de el.

3.5.1.

Procedimiento

1. El primer paso es la instalación y configuración del servidor SSH, para ello se hizo uso del
servidor openssh-server, el cual implementa todas las funcionalidades de un servidor SSH.
Instalación y Configuración
Abrimos una terminal de nuestro OS Linux y ejecutamos el siguiente comando para
instalar el servidor:
sudo apt - get install openssh - server

1

Una vez instalado el servidor se procede a realizar la configuración, la configuración
se realiza modificando el archivo configuración de la ruta /etc/ssh/sshd_config y
modificamos las siguientes lineas:
PORT 22
PermitRootLogin yes

1
2

Por último guardamos los cambios en el archivo y procedemos a reiniciar el servicio:
sudo service sshd restart

1

Una vez terminada la instalación y configuración del servidor SSH, podemos realizar
conexiones al mismo, tal y como se muestra en la pantalla:
2. Una vez instalado y configurado el servidor, ya podemos realizar la supervisión del mismo,
para la supervisión se implemento un Sensor SSH.
Implementación
El sensor SSH supervisa varios aspecto de una conexión remota SSH. Este sensor implementa
el protocolo SSH, con ello puede sensar los datos de una sesión SSH y mediante sniffing
supervisa los datos que se envia por el canal de comunicación al puerto del servidor. A
continuación se muestra el código que implementara este comportamiento:
ssh sensor

Ing. en Sistemas Computacionales

26

Administración de Servicios en Red

ESCOM

IPN

Figura 3.15: Servidor SSH Ejecutando.

1
2
3

import s p u r
import r e
import pyshark

4
5

from S e n s o r s .FTP. s e n s o r _ f t p import ∗

6
7
8
9
10
11
12

d e f o b t a i n B y t e s A c t i v i t y ( ssh_ip ) :
c a p t u r e = pyshark . LiveCapture ( i n t e r f a c e= ' en0 ' ,
b p f _ f i l t e r= ' i p and t c p p o r t 22 ' )
c a p t u r e . s n i f f ( t i m e o u t =1)
print ( capture )
r e t u r n g e t T o t a l s ( c a p t u r e , ssh_ip )

13
14
15
16

d e f g e t T o t a l s ( c a p t u r e , ssh_ip ) :
total_send = 0
total_recv = 0

17
18
19
20
21
22
23
24
25
26

try :

f o r packet in capture :
i f p a c k e t . d e s t i n a t i o n == ssh_ip :
t o t a l _ r e c v += i n t ( p a c k e t . l e n g t h )
e l i f p a c k e t . s o u r c e == ssh_ip :
t o t a l _ s e n d += i n t ( p a c k e t . l e n g t h )
e x c e p t pyshark . c a p t u r e . c a p t u r e . TSharkCrashException a s e :
print ( e )
return total_send , total_recv

27
28
29
30

d e f doLogin ( ) :
try :

Ing. en Sistemas Computacionales

27

Administración de Servicios en Red

ESCOM

31
32
33
34
35
36
37
38
39
40
41
42

IPN

# Spur command s h e l l e x c e c u t i o n
s h e l l = spur . Ss h Sh e ll (
hostname=" 1 2 7 . 0 . 0 . 1 " ,
username=" r o o t " ,
password=" r o o t " ,
p o r t=" 22 " ,
missing_host_key=s p u r . s s h . MissingHostKey . a c c e p t
)
return s h e l l
except Exception as e :
print ( e )
r e t u r n −1

main ssh
1
2
3
4
5
6
7
8

def sshSensor ( ) :
# We do l o g i n and o b t a i n an i n s t a n c e o f t h e s h e l l
s h e l l = doLogin ( )
# We run t h e command prompt from t h e s h e l l
with s h e l l :
r e s u l t = s h e l l . run ( [ " sh " ,
"−c " ,
" n e t s t a t −apt | g r e p 'ESTABLISHED. ∗ s s h ' " ] )

9
10
11
12
13
14
15

# Then we p a r s e t h e r e s u l t and we p r o c e s s t h e t e x t data
i f r e s u l t . return_code == 0 :
l i n e s = s t r ( r e s u l t . output , e n c o d i n g=" u t f −8" ) . s p l i t ( " \n" )
for l i n e in l i n e s :
i f ( l i n e != "" ) :
data = r e . f i n d a l l ( r ' \S+ ' , l i n e )

16
17
18
19
20
21

ssh_pid = i n t ( s t r ( data [ 6 ] ) . s p l i t ( " /" ) [ 0 ] )
ssh_conn = " " . j o i n ( data [ 4 : ] )
p r i n t ( "=====================" )
p r i n t ( " P r o c e s s PID : " + s t r ( ssh_pid ) )
p r i n t ( " Connection : " + s t r ( ssh_conn ) )

22
23
24

# We do l o g i n and o b t a i n an i n s t a n c e o f t h e s h e l l
s h e l l = doLogin ( )

25
26
27
28
29
30
31

# We run t h e command prompt from t h e s h e l l
with s h e l l :
r e s u l t = s h e l l . run ( [ " sh " ,
"−c " ,
" ps −o e t i m e −p "
+ s t r ( ssh_pid ) ] )

32

Ing. en Sistemas Computacionales

28

Administración de Servicios en Red

ESCOM

IPN

ssh_conn_time = " " . j o i n ( r e . f i n d a l l ( r ' \S+ '
s t r ( r e s u l t . output , e n c o d i n g=" u t f −8" ) ) )
p r i n t ( "Time : " + s t r ( ssh_conn_time ) )

33
34
35
36

# Connect t o host , d e f a u l t p o r t
f t p = f t p l i b .FTP(FTP_HOST)
#Do l o g i n
f t p . l o g i n (FTP_USERNAME, FTP_PASSWORD)

37
38
39
40
41

p r i n t ( " Input / Output T r a f f i c : " +
obtainBytesActivity (" 10.10.10.2 " ))
p r i n t ( "=====================" )

42
43
44
45

p r i n t ( " T o t a l number o f SSH c o n n e c t i o n s : " + s t r ( l e n ( l i n e s ) − 1 ) )

46
47
48
49
50

else :
s t r ( r e s u l t . s t d e r r _ o u t p u t , e n c o d i n g=" u t f −8" )
# p r i n t s t h e s t d e r r output code

3. Una vez que se ha implementado el sensor, se procede a realizar el sensado del servidor SSH,
el sensor se conecta mediante una API que implementa el protocolo SSH al servidor y ejecuta
comandos shell y hace sniffing del puerto 22 para obtener la siguiente información:
Número de conexiones activas.
Tráfico de datos enviados y recibidos.
Tiempo de actividad de las conexiones.
Usuario SSH conectado.
A continuación se muestra la captura de pantalla que refleja el comportamiento de este
sensor, las pruebas se realizarón al servidor SSH con la IP: 10.10.10.2
Pruebas

Figura 3.16: Prueba Sensor SSH.

Ing. en Sistemas Computacionales

29

Administración de Servicios en Red

4 | Recopilar la configuración de los dispositivos de manera periódica.
4.1.

Administración del archivo de configuración.

Para el desarrollo de este módulo de administración fue necesario el uso del protocolo de
transferencia de archivos FTP, ya que es un protocolo de red para la transferencia de archivos
entre sistemas conectados a una red TCP.
Para esto fue necesario configurar (ya se había configurado en la supervisión de servidor de archivos)
FTP en el host que tiene la herramienta y solo habilitar el servicio en el router especifico con el
comando service ftp. Como este módulo emplea el protocolo FTP, programamos un pequeño script
en Shell para poder extraer e importar los archivos de configuración de un router. A continuación
se presenta el código, además de evidencias de su funcionamiento.
1

# ! bin / shell

2
3

clear

4
5
6
7
8

# - - - - - - - - - - - -- - - -- - - -- - - - Credenciales - - - - - - - - - - - - - - - - - - - - - - - - - - - USER = rcp
pass = rcp
# ----------------------------------------------------------------

9
10
11
12
13
14
15
16
17

echo
echo
echo
echo
echo
read
echo
echo

" ------ Administracion del archivo de configuracion - - - - - - "
" Lopez Ayala Eric Alejandro "
" Lopez Romero Joel "
" Ingrese direccion ip "
-p " -> " direc
" Direccion : $direc "

18
19
20

while true
do

21
22

clear
30

ESCOM

23
24

IPN

echo " Direccion ip : $direc "
echo

25
26
27
28
29
30
31
32

echo
echo
echo
echo
echo
read
echo

" Seleccione alguna opcion "
" 1. Extraer archivo de configuracion "
" 2. Importar archivo de configuracion "
" 3. Cambiar direccion ip "
" 4. Salir "
-p " -> " opcion

33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62

case $opcion in
1 ) echo " Extraer archivo "
read -p " Guardar archivo del $direc como : " nombre
echo
ftp - inv $direc <<- EOF
user $USER $pass
get startup - config $nombre
bye
EOF
;;
2 ) echo " Importar archivo "
read -p " Archivo a enviar a $direc : " nom
echo
ftp - inv $direc <<- EOF
user $USER $pass
put $nom startup - config
bye
EOF
;;
3 ) echo " Ingrese direccion ip "
read -p " -> " direc
echo " Direccion : $direc "
echo
;;
4 ) echo " Adios "
exit 2
;;
* ) echo " Escoje alguna opcion valida "
;;

63
64

esac

65
66

done
Ing. en Sistemas Computacionales

31

Administración de Servicios en Red

ESCOM

IPN

Figura 4.1: Topología

Figura 4.2: Dirección ip startup-config

Figura 4.3: Extracción startup-config

Ing. en Sistemas Computacionales

32

Administración de Servicios en Red

ESCOM

IPN

Figura 4.4: Extracción startup-config dir

Figura 4.5: Importación startup-configR1

Ing. en Sistemas Computacionales

33

Administración de Servicios en Red

ESCOM

IPN

Figura 4.6: Importación startup-configR1 dir

Figura 4.7: Extracción startup-config

Ing. en Sistemas Computacionales

34

Administración de Servicios en Red

ESCOM

IPN

Figura 4.8: Extracción startup-config dir

Como se mostró, este módulo realiza la recolección de archivos de configuración de un router,
pudiendo así administrar estos archivos, mediante la comparación, eliminación de configuraciones
viejas, etc. Estos últimos nos fue difícil de implementar debido la organización de tiempos.

Ing. en Sistemas Computacionales

35

Administración de Servicios en Red

5 | Conclusiones
5.1.

López Ayala Eric Alejandro

Para poder realizar una correcta configuración de los enrutadores para crear una topología, es
importante conocer los comandos de RCP100 además de practicarlos, ya que al mezclar varios protocolos en un enrutador, se deben redistribuir sus tablas de enrutamiento de cada protocolo, para
ello se emplearon los siguientes comandos: redistribute rip, redistribute ospf, redistribute static.
Esta topologia se logro gracias a GNS3.
El desarrollo e implementación de los sensores resultó ser una actividad desafiante durante el
desarrollo del administrador de monitoreo, ya que dependiendo de las distintas variables y parámetros a sensar se requerian de distintas configuraciones aplicadas a los servidores, los cuales
dependen de la topología de la red y su configuración definida. Los sensores son necesarios para
que un administrador de red sea completo y requirió de aplicar todos los conocimientos adquiridos
durante el curso.
El módulo de administración del archivo de configuración, lo realizamos en shell, debido a que
solo eran peticiones simples de FTP (GET y PUT), como se presentó en el punto 4, esto fue fácil
de implementar. Este pequeño modulo recolecta los archivos de configuración y los exporta a los
enrutadores que pertenezcan a la red, por motivos de tiempo, nos fue imposible desarrollar la parte
administrativa de este módulo, la cual consta en comparar los archivos de onfiguración, eliminación
y copiar la configuración de inicio a la configuración en ejecución.

5.2.

López Romero Joel

Tras el desarrollo de esta evaluación, fue importante el manejo de los comandos de configuración de RCP100, ya que este lo usamos en GNS3 para poder virtualizar routers y así poder
implementar una topología mediante la configuración de estos. El manejo de estos comandos nos
ayudaron demasiado, ya que al configurar algún router con 3 protocolos de enrutamiento, es necesario distribuir sus tablas de enrutamiento, para que estos se çonozcan puedan definir una ruta
para llegar a su destino, por ello fue necesario el empleo del comando redistribute tanto para RIP,
OSPF y static. La implementación de una topología solo es la base, para probar el funcionamiento
de nuestra herramienta desarrollada a lo largo de este parcial.
2

36

ESCOM

IPN

El desarrollo de los sensores resultó se una actividad que complementó los conocimientos adquiridos durante el curso, ya que hicimos uso de ciertas herramientas que se ocuparón previamente
y se complementarón con las nuevas desarrolladas durante este periodo. Así mismo nos ayudo a
entender como se lleva la configuración de servidores que implementan los protocolos más comunes
en una red.
El desarrollo del módulo de administración del archivo de configuración fue en shell, ya que
gracias al uso del protocolo de transferencia de archivos FTP, solo fue necesario realizar peticiones
con GET y PUT para extraer e importar los archivos de configuración. Este pequeño módulo quedo
incompleto, ya que por falta de tiempo no nos fue posible desarrollar la comparación, eliminación
de configuraciones viejas y copiar la configuración de inicio a la configuración en ejecución.
A lo largo de este semestre, aprendí demasiado en esta unidad de aprendizaje, ya que desarrollamos distintas herramientas las cuales nos ayudan a monitorizar y así poder administrar ciertas
partes en una red. Desde monitorizar el comportamiento de un agente, realizar predicciones de
acuerdo al comportamiento de un agente, detección de aberraciones, sensado de 5 servidores, hasta
la administración de archivos de configuración de un enrutador. Para desarrollar estas herramientas
usamos distintas librerías en Python, Django, Celery, Shell, protocolos como SNMP, RIP, OSPF.
Fue difícil el desarrollo de estas herramientas, pero con la teoría vista en clase, investigaciones
realizadas por nosotros, fue posible.

Ing. en Sistemas Computacionales

37

Administración de Servicios en Red

Bibliografía
[1] Cisco. Administración de la configuración informe oficial de mejores prácticas. [Online]. Available: https://www.cisco.com/c/es_mx/support/docs/availability/high-availability/
15111-configmgmt.html
[2] M. Rouse. Gestión de la configuración de red, ncm. [Online]. Available: https:
//searchdatacenter.techtarget.com/es/definicion/Gestion-de-la-configuracion-de-red-NCM
[3] R. 100. Documentation. [Online]. Available: http://rcp100.sourceforge.net/cmdref.html
[4] G. Trubetskoy. Holt-winters forecasting for dummies - part ii. [Online]. Available:
https://grisha.org/blog/2016/02/16/triple-exponential-smoothing-forecasting-part-ii/
[5] ——. Holt-winters forecasting for dummies - part iii. [Online]. Available: https:
//grisha.org/blog/2016/02/16/triple-exponential-smoothing-forecasting-part-iii/

38



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : Yes
Author                          : 
Create Date                     : 2018:12:06 17:49:40Z
Creator                         : LaTeX with hyperref package
Modify Date                     : 2018:12:06 17:49:40Z
PTEX Fullbanner                 : This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3
Producer                        : pdfTeX-1.40.18
Subject                         : 
Title                           : 
Trapped                         : False
Page Mode                       : UseOutlines
Page Count                      : 41
EXIF Metadata provided by EXIF.tools

Navigation menu