Creando el LAB de Automatización de Networking

Tiempo de lectura: 3 minutos

Si venís siguiendo nuestras entradas acerca de GNS3, a esta altura ya tenemos GNS3 instalado y configurado. Además, hemos importado un par de dispositivos para nuestras prácticas; Cisco images y Dell EMC OS appliance.

Perfecto, entonces tenemos todo listo para comenzar a aprender juntos un poco de automatización en networking.

Creando el ambiente

Vamos a iniciar GNS3 y creamos un nuevo proyecto o abrimos uno existente.

Clic a Browse end Devices y luego arrastramos el dispositivo Network Automation a nuestra área de trabajo.

Dentro de la misma sección de End Devices seleccionamos el dispositivo NAT y también lo arrastramos al área de trabajo.

Ahora clic a Browse Routers y arrastramos por ejemplo el Cisco IOSvL2 a nuestra área de trabajo; elijo este porque es bastante más «liviano» que el appliance Dell EMC OS10 y la verdad que a mi compu no le sobra nada de memoria RAM.

Acomodamos, conectamos, encendemos todo… lo deberíamos ver más o menos como muestro a continuación.

Para hacerme un poco más fácil la referencia a lo largo de este post renombré los dispositivos desde Network-Automation-1 a NA-1 y desde Cisco IOSvL2 a SW1.

Configurando las direcciones IP

Ahora clic al botón Console para iniciar las consolas de administración.

Vamos a la consola del dispositivo NA-1 para editar la configuración de red. Tenemos que habilitar el DHCP client para esa interface.

root@NA-1:~# vi /etc/network/interfaces

Casi al final del archivo vamos a encontrar las líneas que nos interesan. Editamos el archivo para que nos quede de este modo.

# DHCP config for eth0
 auto eth0
 iface eth0 inet dhcp

Guardamos los cambios y salimos.

Volvemos al simulador, clic con el botón derecho del mouse sobre el dispositivo NA-1 y clic en Stop. Una vez que se hubo apagado, clic nuevamente con el botón derecho y clic en Start.

Abrimos la consola del NA-1 nuevamente.

Cuando el dispositivo NA-1 levanta y tiene conectividad hacia Internet, él mismo comienza a descargarse automáticamente algunos paquetes.

Vamos a verificar la configuración IP del dispositivo.

root@NA-1:~# ifconfig

Deberíamos ver una dirección IP local asociada a la interface eth0.

root@NA-1:~# ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.122.12  netmask 255.255.255.0  broadcast 192.168.122.255
        ether c6:c1:18:ee:71:fc  txqueuelen 1000  (Ethernet)
...

En mi caso esa dirección IP es la 192.168.122.12/24.

Tomamos nota de ella en algún lugar, la necesitaremos para configurar luego la dirección IP de administración a nuestro switch.

Si queremos podemos probar ping a cualquier dirección IP pública, la conexión que hemos establecido contra el dispositivo NAT1, nos ha dado salida a Internet desde la estación de automatización.

Aún en la consola de nuestro Linux vamos a instalar algunos complementos más.

root@NA-1:~# apt-get install python3-pip && pip3 install -U netmiko

Dejamos el Linux y nos vamos a la consola del switch a configurar su dirección IP de administración.

Switch>enable 
Switch#conf t
Switch(config)#int vlan 1
Switch(config-if)#ip add 
Switch(config-if)#ip address 192.168.122.10 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#end
Switch#write

Hemos configurado la dirección IP 192.168.122.10/24 en la VLAN 1 de nuestro switch.

En esta instancia podemos volver al Linux y probamos un ping al switch.

root@NA-1:~# ping 192.168.122.10
PING 192.168.122.10 (192.168.122.10) 56(84) bytes of data.
64 bytes from 192.168.122.10: icmp_seq=1 ttl=255 time=12.8 ms
64 bytes from 192.168.122.10: icmp_seq=2 ttl=255 time=9.98 ms
64 bytes from 192.168.122.10: icmp_seq=3 ttl=255 time=21.2 ms
...

Habilitando acceso SSH en el switch

Volvemos al switch, tenemos que habilitar el acceso SSH.

Switch>enable
Switch#conf t
Switch(config)#username admin pass s3cr3t!
Switch(config)#username admin privilege 15
Switch(config)#line vty 0 4
Switch(config-line)#login local
Switch(config-line)#transport input all
Switch(config-line)#exit          
Switch(config)#ip domain-name domain.local
Switch(config)#crypto key generate rsa 
The name for the keys will be: Switch.domain.local
Choose the size of the key modulus in the range of 360 to 4096 for your
  General Purpose Keys. Choosing a key modulus greater than 512 may take
  a few minutes.

How many bits in the modulus [512]: 1024
% Generating 1024 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 0 seconds)
Switch(config)#
*Oct 25 02:43:31.929: %SSH-5-ENABLED: SSH 1.99 has been enabled
Switch(config)#end 
Switch#wr

Vamos a la consola Linux y probamos el acceso SSH.

root@NA-1:~# ssh admin@192.168.122.10

Si todo va bien nos preguntará si queremos agregar el dispositivo a la lista de known hosts y listo, estaremos adentro del switch.

Conclusión

Repasemos lo que hemos conseguido en esta entrada.

Creamos el ambiente de prueba conformado por nuestra consola Linux de automation, un switch Cisco L2 y un dispositivo NAT para poder tener acceso a Internet desde la consola de automation.

Ya casi estamos, tenemos todo listo para comenzar a probar nuestros primeros scripts python utilizando netmiko.

Si te estás iniciando en este mundo del networking no te pierdas nuestro curso gratuito de switching disponible en Youtube.

Agradezco tu atención, si te parece interesante podes compartirlo y hasta la próxima.

Deja un comentario