Como expliqué en la publicación anterior sobre cómo implementar SDN acompañado de Python para automatizar la red, en este caso explicaré cómo usar ciclos for para automatizar la implementación, en este caso, para la creación de 30 interfaces loopback que son creadas solo con la ejecución de un script.
Podemos editar el código en PyCharm, como lo hicimos en la publicación anterior, solo que en este caso, colocaremos un for que trabaje con dos variables donde almacenaremos el punto de partida y de inicio para la configuración de las interfaces:
En este caso, inicié dos variables, una tendrá la loopback inicial y la otra la loopback final.
Aquí el código del for donde nos concentraremos:
En esta parte, se solicita al usuario las variables de inicio y final de las loopback. Las variables las solicitamos con la función: input()
Con la función “input” solicitamos al usuario el valor, pero como Python no pide que el tipo de variable sea declarada, cuando usamos la función “int”
LoopbackStart = int(input("Input the first loopback we're gonna start with (please avoid 0):\n"))
LoopbackEnd = int(input("Input the last loopback octet we're gonna finish with?:\n"))
Y posteriormente colocamos el “for” loop
El for tendrá como rango, desde la variable LoopbackStart, hasta la variable LoopbackEnd.
Por cada ciclo, de uno en uno, se ejecutará hasta llegar al valor de LoopbackEnd.
for LoopbackStart in range(LoopbackEnd ):
tn.write(b"interface loopback " + str(LoopbackStart).encode('ascii') + b"\n")
tn.write(b"ip address 7.7.7." + str(LoopbackStart).encode('ascii') + b" 32\n")
Por lo tanto, estará colocando, el string: “interface loopback”, seguido de la variable LoopbackStart, la cual, como es ingresada por defecto como una variable de tipo int, debe ser convertida en un tipo stringcon una codificación ASCII. Y colocando una máscara de subred de 32 bits seguido de un retorno de carro para configurar correctamente.
Configurando con esto varias interfaces loopback, en mi caso automaticé la configuración de 30 de la siguiente manera:
Espero este post te sea informativo.