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.