Implementación de SDN (Software Defined Networking) para cualquier dispositivo Huawei. Destacado

Última respuesta ag. 05, 2019 22:23:01 65 2 3 0

Software Defined Networking (SDN) es una de las técnicas con mayor tendencia actualmente en el mundo de las redes, nos brinda la oportunidad de automatizar nuestra red en gran manera.

 

Usaremos diversas herramientas en Python (en estas publicaciones usaré Python 3) desde el cual nos conectaremos a los dispositivos por Telnet y podremos hacer uso de varios ciclos como “for, while, if” etc.

 

l El primer paso es instalas las herramientas necesarias en el Linux de preferencia:

 

apt-get install update

apt-get install python3-pip

pip3 install -U netmiko

 

ubuntu

apt-get update

apt-get install python

apt-get install python3-pip

pip3 install -U netmiko

pip3 install -U napalm

pip3 install -U simplejson

 

NAPALM install

apt-get update

apt-get install python -y

apt-get install build-essential libssl-dev libffi-dev -y

pip install cryptography

pip install netmiko

pip install napalm

 

l Es recomendable instalar un IDE para Python, en mi caso instale el PyCharm:


132411y00dumzz0q5w3o5m.png


l  Posteriormente, creamos el código en python para ingresar por telnet al dispositivo:

 

Importacion de bibliotecas para poder usar funciones de telnet y de password.

 

import getpass

import telnetlib

 

Después de ello podemos asignar la IP a una variable o pedírsela al usuario al momento de la ejecución del programa.

 

HOST = "192.168.0.1"

user = input("User for telnet: ")

 

Luego mandamus a pedir el password usando las funciones que obtendremos de la biblioteca “getpass”

 

password = getpass.getpass()

 

De igual  manera pero ahora con la biblioteca telnetlib, iniciaremos la conexión por telnet.

 

tn = telnetlib.Telnet(HOST)

 

Luego esperaremos a que el dispositivo nos pida el nombre de Usuario y lo escribiremos con codificación ascii seguiro de un retorno de carro, usando las funciones tn.read y tn.write

 

tn.read_until(b"Username:")

tn.write(user.encode('ascii') + b"\n")

 

La consola esperará a que el password sea solicitado e insertará la variable que previamente había almacenado seguido de un retorno de carro:

 

if password:

    tn.read_until(b"Password:")

tn.write(password.encode('ascii') + b"\n")

 

Con la función tn.write, enviaremos cualquier dispositivo de Network de Huawei los comandos necesarios. En este caso de ejemplo, configura una interfaz loopback y le asigna una dirección IP:

 

tn.write(b"screen-length 0 temporary\n")

tn.write(b"system\n")

tn.write(b"interface LoopBack1023\n")

tn.write(b"ip add 7.7.7.7 32\n")

tn.write(b"quit\n")

tn.write(b"quit\n")

tn.write(b"quit\n")

 

Al final y dado que querremos ver en pantalla todo lo que nuestro programa está haciendo en el fondo, almacenaremos la salida de toda la ejecución en una variable (con la función read all) y colocaremos toda la salida en una variable y la imprimiremos en pantalla con la “write”

 

print(tn.read_all().decode("ascii"))

 

#YourScreen = tn.read_all()

#saveoutput.write(YourScreen.decode('ascii'))

#saveoutput.write("\n")

#saveoutput.close

 

Existe la opción de trabar con ese código en un IDE antes de colocarlo en el editor de Linux, o realizarlo en el mismo editor.

 

Para colocarlo en el editor, sugiero usar “nano”.

 

Como se puede observar en la siguiente imagen


132412gynm7gstyti3i8xa.png

 

 

132412akkspzkhl9bj25h4.png

 

 

Luego de ello podemos ver la ejecuión de nuestro código, podemos ver donde fue que colocamos el texto en nano y posteriormente la ejecución:

 

 

132413aajpjpyjpgyfrjjv.png

 

Posteriormente, podremos ingresar al switch para ver que nuestra interfaz, ya quedó configurada:

 

132413qk7k7v2kzommrr56.png

 

 

Espero que esto te haya sido útil como un primer y básico paso en Software Defined Network con Huawei.

 

 

 

  • x
  • convención:

Administrador Publicado 2019-8-5 14:32:27 Útil(0) Útil(0)
Wow, muy buen ejemplo, en verdad tengo que ponerme más sobre SDN, ya que es el futuro de las redes.

Gracias por tu valioso aporte, espero ver más publicaciones sobre SDN.
  • x
  • convención:

Mexicano%2C%20con%20m%C3%A1s%20de%2010%20a%C3%B1os%20de%20experiencia%20en%20el%20%C3%A1mbito%20de%20Redes%20y%20TICs%20en%20general%20y%20m%C3%A1s%20de%20dos%20dentro%20de%20Huawei%2C%20en%20donde%20cuento%20con%20doble%20certificaci%C3%B3n%20HCIP%20(Routing%20and%20Switching%20y%20WLAN)%2C%20actualmente%20encargado%20de%20ayudarlos%20con%20sus%20dudas%20y%20comentarios%20dentro%20de%20la%20comunidad.
Moderador Publicado 2019-8-5 22:23:01 Útil(0) Útil(0)
Gracias por la información. No había visto nada de SDN publicado antes
  • x
  • convención:

Me%20gusta%20compartir%20informaci%C3%B3n%20y%20experiencias%2C%20aprender%20nuevos%20temas%20y%20conocer%20gente%20con%20el%20mismo%20inter%C3%A9s

Responder

Responder
Debe iniciar sesión para responder la publicación Inicio de sesi | Registrarse

Aviso: Para garantizar sus legítimos derechos e intereses, la comunidad y los terceros no publicarán contenido que pueda generar riesgos legales a las partes, por ejemplo, pornografía, contenido político, contenido sobre juego, consumo y tráfico de drogas, así como contenido que viole los derechos de propiedad intelectual de terceros, por ejemplo, secretos comerciales, marcas, derechos de autor, patentes y privacidad personal. No comparta su cuenta ni su contraseña con terceros. Todas las operaciones realizadas usando su cuenta se considerarán como sus acciones y todas las consecuencias que estas acciones generen serán responsabilidad suya. Para obtener información detallada, consulte la “ Política de privacidad.”
Si el botón para adjuntar no está disponible, actualice Adobe Flash Player con la versión más reciente

¡Ingresa y disfruta de todos los beneficios para los miembros!

Aterrizaje
Respuesta rápida Desplácese hasta arriba