cancelar
Mostrar resultados para 
Pesquisar em vez de 
Queria dizer: 
cancel
114
Apresentações
1
Útil
1
Comentários

isis.png

A automação de redes é essencial para agilizar tarefas repetitivas, reduzir erros e melhorar a eficiência operacional. O Netmiko é uma biblioteca Python que facilita a conexão com dispositivos de rede via SSH e permite a execução de comandos de forma automatizada. Neste artigo, vais aprender a usar o Netmiko para automatizar configurações em switches mas também pode ser usado outros equipamentos Cisco que rodem o sistema IOS.

Instalar o Python

Antes de começarmos, precisas de instalar o Python. O Python geralmente já está pré-instalado em muitas distribuições do Linux. Para este artigo, usarei a distribuição Linux Ubuntu.

Para verificar se o Python está instalado, abre o terminal e digite:

python3 --version

 

Se não estiver instalado, podes instalar o Python com o seguinte comando:

sudo apt update
sudo apt install python3

 

Verificar a instalação:

python3 --version


Em seguida precisas instalar o PIP. Ele é o gerenciador de pacotes do Python, que permite instalar bibliotecas adicionais. Ele geralmente é instalado junto com o Python. Para verificar se o PIP está instalado:

pip3 --version


Se o PIP não estiver instalado, podes instalá-lo manualmente, usando o seguinte comando:

python3 -m ensurepip --upgrade

 

Instalar o Visual Studio Code

O Visual Studio Code (VS Code) é um editor de código-fonte gratuito e de código aberto, desenvolvido pela Microsoft, que oferece uma série de recursos para programadores de diferentes linguagens e plataformas.

Para insalar o VS code, abra o programa Ubuntu Software e procure por Visual Studio Code. Em seguida instale a aplicação.

SilesiodeCarvalho_0-1738960798513.png

 

Instalar o Netmiko

Para instalar o Netmiko, executa:

pip install netmiko

 

Para aceder o switch, criamos um script com o nome netmiko_test01.py em Python:

from netmiko import ConnectHandler

# Definição das credenciais e do dispositivo
device = {
'device_type': 'cisco_ios',
'host': '192.168.43.165',
'username': 'silesio',
'password': 'ccie65745'
}

# Conectar ao dispositivo
login = ConnectHandler(**device)

# Executar um comando e exibir a saída
output = login.send_command('show vlan brief')
print(output)

 

Antes de rodar o script, precisas configurar o switch para suportar acesso remoto via ssh.

host SW1
ip domain-name binaryavenue.com
crypto key gene rsa mod 2048
ip ssh ver 2
line vty 0 4
trans input ssh
login local
username silesio privi 15 secret ccie65745

 

Quando executares o código, terás um resultado parecido a este:

 
SilesiodeCarvalho_3-1738961939356.png

 

Para configurarmos o switch, podemos usar o mesmo script com ligeiras alterações:

from netmiko import ConnectHandler

device = {
'device_type': 'cisco_ios',
'host': '192.168.43.165',
'username': 'silesio',
'password': 'ccie65745'
}

login = ConnectHandler(**device)
#esta parte será ignorada durante a execução do código
#output = login.send_command('show vlan brief')
commands = ['vlan 10', 'vlan 20', 'vlan 30', 'vlan 40']
output = login.send_config_set(commands)
print(output)

 

Este será o resultado do output:

SilesiodeCarvalho_4-1738962299272.png

 

Se executarmos novamente o primeiro script, veremos que as novas vlans foram adicionadas com sucesso:

SilesiodeCarvalho_5-1738962370436.png

 

Existem outras operações e funções que poderiámos explorar, como interagir com mais de um switch ao mesmo tempo ou verificar a tabela de roteamento e muito mais. Porém, seria demasiado para cobrir somente em um artigo. 

Se queres aprofundar-te mais em automação de redes, podes explorar o uso de scripts mais complexos e a integração com outras ferramentas, como Nornir e Ansible.

Comentários
Tarqui Costa
Level 1
Level 1

Automação hoje é necessária devido ao crescimento e complexidade das redes. Ótimo post mestre Silésio.

Primeiros Passos

Encontre respostas, faça perguntas e conecte-se com nossa comunidade de especialistas da Cisco de todo o mundo.

Estamos felizes por você estar aqui! Participe de conversas e conecte-se com sua comunidade.