Python: Configurar comandos Cisco en multiples WLCs (Cisco Aireos)

Para los que gestionamos Cisco Wireless Controllers tener que realizar un mismo comando en multiples WLCs puede ser un dolor de cabeza debido que el lenguaje de los legacy Cisco Aireos es bastante distinto al de los tradicionales Cisco IOS.


Menos mal que Cisco se ha puesto las pilas y en la nueva generación de Wireless Controllers estan basados en Cisco IOS :)

 

# Ejemplo: Configurar un SNMP Community string (v2c) restringiendo el accesso a un SNMP server (192.168.1.10)


import paramiko

import time

import getpass

 

username = "<usuario>"

password = "<contraseña>"

 

f = open ("/home/angel/scripts/wlc.txt")

 

for line in f:

        ip_address = line.strip()

        ssh_client = paramiko.SSHClient()

        ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

        ssh_client.connect(hostname=ip_address,username=username,password=password)

        print ("Successful connection", ip_address)

        remote_connection = ssh_client.invoke_shell()

        remote_connection.send("\n")

        remote_connection.send("<usuario>\n")

        remote_connection.send("<contraseña>\n")

        remote_connection.send("\n")

        remote_connection.send("config snmp community create community_test\n")

        remote_connection.send("config snmp community mode enable community_test\n")

        remote_connection.send("config snmp community ipaddr 192.168.1.10 255.255.255.255 community_test!\n")

        remote_connection.send("\n")

        remote_connection.send("save config\n")

        remote_connection.send("y\n")

 

        time.sleep(5)

        output = remote_connection.recv(65535)

        print (output)

 

        ssh_client.close

 

# Ejecutar script en Python 2.7 (No funciona en Python 3)

 

sudo python <nombredelscript>

Comentarios

Entradas populares de este blog

EVE-NG: Instalación de EVE-NG

Fortigate: Capturar paquetes (Packet capture/sniffer)

Cisco ISE | Certificados SSL públicos para Guest Portal