Найти в Дзене
Николай Калюжный

Автоматизация Python на маршрутизаторах и коммутаторах Cisco с использованием SSH

Оглавление

Сегодня в этой статье мы увидим, как скрипт на Python автоматически входит в маршрутизатор Cisco с помощью ssh и настраивает интерфейс обратной связи.

Предварительным условием является установка Netmiko с помощью команды "pip install netmiko" в командной строке Windows.

Вот рабочий скрипт на Python:

import netmiko

from netmiko import ConnectHandler

iosv_l2 = {

'device_type': 'cisco_ios',

'ip': '192.168.1.50',

'username': 'cisco',

'password': 'cisco',

'secret': 'cisco',

}

net_connect =ConnectHandler(**iosv_l2)

net_connect.enable()

output =net_connect.send_command('show ip int brief')

print(output)

config_commands = [ 'int loop 0', 'ip addre 1.1.1.1 255.255.255.0', 'no sh']

output = net_connect.send_config_set(config_commands)

print (output)

output =net_connect.send_command('show ip int brief')

print (output)

По сути, мы говорим Python выполнить SSH:

  • SSH на 192.168.1.50.
  • Передайте учетные данные для входа (имя пользователя, пароль и автоматический пароль включения), встроенные в скрипт.
  • Передайте команду "show ip int brief" и распечатайте вывод интерфейсов.
  • Настройте loopback интерфейса 0, передав команду "int loop 0".
  • Передайте конфигурацию "ip addre 1.1.1.1 255.255.255.0" и не закрывайте интерфейс.
  • Выведите приведенную выше конфигурацию (loopback 0), которая была выполнена на предыдущем шаге.
  • Передайте команду "show ip int brief" и распечатайте вывод интерфейсов.

Вот результат выполнения скрипта на Python:

C:\Users\nkalyuzhnyy\Desktop\IOS>python SSH.py

Interface IP-Address OK? Method Status Protocol

Ethernet0/0 192.168.1.50 YES manual up up

Ethernet0/1 unassigned YES NVRAM administratively down down

Ethernet0/2 unassigned YES NVRAM administratively down down

Ethernet0/3 unassigned YES NVRAM administratively down down

Loopback0 unassigned YES manual administratively down down

configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

router(config)#int loop 0

router(config-if)#ip addre 1.1.1.1 255.255.255.0

router(config-if)#no sh

router(config-if)#end

router#

Interface IP-Address OK? Method Status Protocol

Ethernet0/0 192.168.1.50 YES manual up up

Ethernet0/1 unassigned YES NVRAM administratively down down

Ethernet0/2 unassigned YES NVRAM administratively down down

Ethernet0/3 unassigned YES NVRAM administratively down down

Loopback0 1.1.1.1 YES manual up up

C:\Users\nkalyuzhnyy\Desktop\IOS>

Если у вас есть какие-либо мысли или вопросы по этой теме, пожалуйста, не стесняйтесь оставить комментарий или отправить мне сообщение. Я хотел бы продолжить дискуссию и услышать вашу точку зрения.

А также вы всегда можете поддержать меня зайдя на сайт и подписаться https://dzen.ru/kalyuzhnyy.ru и найти больше статей на моих ресурсах https://kalyuzhnyy.ru и https://dev.kalyuzhnyy.ru  или на моем канале telegramm https://t.me/nbkalyuzhnyy на котором в будущем будут выкладываться самые актуальные новости и инструкции по навыкам и обучению. Подпишись!