UNIVERSIDAD TECNOLÓGICA DE TULA-
TEPEJI
Ingeniería en Redes Inteligentes y Ciberseguridad
10IRIC-G1
AUTOMATIZACIÓN DE INFRAESTRUCTURA
DIGITAL II
Presentan:
Armando Vázquez Trejo
José Alfredo Sánchez García
Francisco Everardo Montoya Martínez
Juan Carlos Blas García
Índice
Contenido
Índice ................................................................................................................................................... 1
Introducción ........................................................................................................................................ 3
Etapa 1................................................................................................................................................. 4
Implementación de la red virtual. ................................................................................................... 4
Etapa 2................................................................................................................................................. 5
Descripción del script. ..................................................................................................................... 5
Etapa 3............................................................................................................................................... 10
Ejecución del script y resultados. .................................................................................................. 10
Conclusión ......................................................................................................................................... 12
Introducción
Ambos códigos se utilizan en conjunto para automatizar y realizar pruebas de
configuraciones de red en un entorno controlado. El script de prueba
(OSPFMultiAreaTest) utiliza el testbed definido en el archivo YAML para configurar
routers y verificar la correcta implementación del protocolo OSPF en varias áreas.
Esta automatización facilita la detección de posibles problemas y garantiza que la
configuración de red sea coherente y funcional. La combinación de pyats y genie
proporciona herramientas poderosas para la automatización y prueba de redes en
entornos de desarrollo y pruebas.
Etapa 1
Implementación de la red virtual.
Para realizar la practica se uso el software GNS3. Como se muestra en la imagen la
topología diseñada.
Se aplicará lo siguiente:
• OSPF
• IP´S
• LOOPBACK
Etapa 2
Descripción del script.
Este código es un script de prueba para verificar la configuración de un entorno de
red que utiliza OSPF (Open Shortest Path First) en varias áreas.
from pyats import aetest
from [Link] import load
class OSPFMultiAreaTest([Link]):
@[Link]
def setup(self, testbed):
[Link] = testbed
@[Link]
def configure_routers(self):
# Acceder a los dispositivos en el testbed
rt_01 = [Link]['RT-01']
rt_02 = [Link]['RT-02']
rt_03 = [Link]['RT-03']
# Configuración de RT-01
rt_01.configure(
[
'interface Loopback0',
'ip address [Link] [Link]',
'exit',
'interface Serial1/0',
'ip address [Link] [Link]',
'exit',
'interface Serial1/1',
'ip address [Link] [Link]',
'exit',
'router ospf 1',
'network [Link] [Link] area 0',
'network [Link] [Link] area 0',
'network [Link] [Link] area 0',
'exit',
]
)
# Configuración de RT-02
rt_02.configure(
[
'interface Serial1/0',
'ip address [Link] [Link]',
'exit',
'interface Loopback1',
'ip address [Link] [Link]',
'exit',
'interface Loopback2',
'ip address [Link] [Link]',
'exit',
'router ospf 1',
'network [Link] [Link] area 0',
'network [Link] [Link] area 1',
'network [Link] [Link] area 1',
'exit',
]
)
# Configuración de RT-03
rt_03.configure(
[
'interface Serial1/1',
'ip address [Link] [Link]',
'exit',
'interface Loopback3',
'ip address [Link] [Link]',
'exit',
'interface Loopback4',
'ip address [Link] [Link]',
'exit',
'router ospf 1',
'network [Link] [Link] area 0',
'network [Link] [Link] area 2',
'network [Link] [Link] area 2',
'exit',
]
)
@[Link]
def cleanup(self):
pass
if __name__ == '__main__':
# Cargar el testbed desde un archivo YAML
testbed = load('path/to/[Link]')
# Ejecutar la prueba
[Link](testbed=testbed)
Descripcion del código.
1. Testcase Class (OSPFMultiAreaTest): Esta clase define una prueba que
se ejecutará. Dentro de esta clase, hay tres secciones principales:
@[Link], @[Link], y @[Link].
2. Setup Section (@[Link]): Esta sección se ejecuta antes de las
pruebas reales. En este caso, se utiliza para configurar la conexión al testbed.
3. Test Section (@[Link]): Esta sección contiene el código que verifica la
configuración de los routers. Aquí, se accede a los dispositivos del testbed
(RT-01, RT-02, RT-03) y se realiza la configuración de OSPF en cada uno de
ellos.
4. Cleanup Section (@[Link]): Esta sección se ejecuta después de
que todas las pruebas han sido completadas. En este caso, la sección de
limpieza está vacía (pass), pero generalmente se usaría para realizar
acciones de limpieza después de las pruebas.
5. Main Section (if __name__ == '__main__':): Aquí, se carga el testbed
desde un archivo YAML usando la función load de la biblioteca Genie. Luego,
se ejecuta la prueba utilizando [Link].
Archivo YAML
devices:
RT-01:
alias: RT-01
type: router
connections:
a:
interface: Serial1/0
ip: [Link]
b:
interface: Serial1/1
ip: [Link]
RT-02:
alias: RT-02
type: router
connections:
a:
interface: Serial1/0
ip: [Link]
b:
interface: Loopback1
ip: [Link]
c:
interface: Loopback2
ip: [Link]
RT-03:
alias: RT-03
type: router
connections:
a:
interface: Serial1/1
ip: [Link]
b:
interface: Loopback3
ip: [Link]
c:
interface: Loopback4
ip: [Link]
• devices: La sección devices describe cada dispositivo en el testbed.
• RT-01: Describe el primer router.
• alias: Un alias o nombre alternativo para RT-01.
• type: El tipo de dispositivo, que en este caso es un "router".
• connections: Describe las conexiones del router.
• a: La conexión A del router tiene una interfaz Serial1/0
con la dirección IP [Link].
• b: La conexión B del router tiene una interfaz Serial1/1
con la dirección IP [Link].
• RT-02: Describe el segundo router de manera similar a RT-01, con
algunas diferencias en las conexiones.
• a: La conexión A tiene una interfaz Serial1/0 con la dirección
IP [Link].
• b: La conexión B tiene una interfaz Loopback1 con la
dirección IP [Link].
• c: La conexión C tiene una interfaz Loopback2 con la
dirección IP [Link].
• RT-03: Describe el tercer router de manera similar a RT-02, con
algunas diferencias en las conexiones.
• a: La conexión A tiene una interfaz Serial1/1 con la dirección
IP [Link].
• b: La conexión B tiene una interfaz Loopback3 con la
dirección IP [Link].
• c: La conexión C tiene una interfaz Loopback4 con la
dirección IP [Link].
En resumen, este archivo YAML describe la topología de red del testbed,
especificando los routers y sus conexiones, así como las interfaces y direcciones
IP asociadas.
Etapa 3
Ejecución del script y resultados.
En la siguiente imagen se muestra el archivo YAML siendo ejecutado con las
configuraciones que se aplicaran a la red. (Asignación de dirección IP, Lopbacks
etc.)
Se ejecuta el script para que se realicen los cambios, con las librerías solicitadas.
En la siguiente imagen se muestra el resultado del script una vez siendo ejecutado
y se verifico en los tres routers que se aplicó la configuración de manera correcta.
Conclusión
En conjunto, estos códigos ofrecen una solución para realizar pruebas
automatizadas en entornos de red simulados o reales. La combinación de pyats y
genie proporciona herramientas poderosas para la automatización y prueba de
redes, mejorando la eficiencia y la confiabilidad del proceso de desarrollo y prueba
de configuraciones de red.