primeiros Passos com Python para Redes #0 - Telnet 🐍

Nesse post vamos fazer passo a passo um lab para mostrar com um simples script, quão útil pode ser a automação de rede, usando o Python.

Nesse lab nós vamos utilizar o Python para fazer com que o nosso host execute o acesso remoto ao roteador via telnet e aplique algumas configurações.

O recomendado é usar SSH para acesso remoto, mas como trata-se de um lab e para mostrar de uma forma mais simples vou fazer Telnet, já no próximo post será via SSH.




Estrutura do laborátório

Eu usei o GNS3 para montar essa lab, mas você também pode fazê-lo pelo EVE-NG ou pelo CML (VIRL) da Cisco. Esse lab consiste basicamente em:

  • Cloud NAT para servir como DHCP server da rede (192.168.122.0 /24)

Isso poderia ser feito no roteador, mas o post ficaria mais extenso.

  • Um dispositivo final com Ubuntu 18.04 instalado para executarmos o Python.
  • Switches apenas para interligar os devices, nada de específico está sendo feito neles, mas no próximo artigo vamos criar VLANs usando loops.
  • Um router que vamos usar para aplicar as configurações com o Python.




Bilioteca telnetlib

Primeiro vamos buscar pela biblioteca do telnet do Python. Para isso, basta dar um google em "python3 telnet" ou acessar o link abaixo: https://docs.python.org/3.1/library/telnetlib.html

No final da tela está a biblioteca que vamos utilizar para editar o nosso script desse post.


Você pode copiar esse conteúdo e colar no seu editor de texto ou IDE preferido (VS Code, Py Charm, Sublime Text, Notepad++ entre outros) ou colar direto no arquivo de texto que vamos criar no nosso dispositivo final da topologia.

Nesse exemplo eu vou usar Sublime Text para editar o código, porque é mais fácil do que editar direto no arquivo de texto usando o vi, vim, nano, etc.. e pq fica mais bonitinho também haha