19. Подключение к оборудованию
Подключение к оборудованию
В этом разделе рассматривается как подключиться к оборудованию по протоколам:
В Python есть несколько модулей, которые позволяют подключаться к оборудованию и выполнять команды:
- pexpect - это реализация expect на Python
- этот модуль позволяет работать с любой интерактивной сессией: ssh, telnet, sftp и др.
- кроме того, он позволяет выполнять различные команды в ОС (это можно делать и с помощью других модулей)
- несмотря на то, что pexpect может быть менее удобным в использовании, чем другие модули, он реализует более общий функционал и это позволяет использовать его в ситуациях, когда другие модули не работают
- telnetlib - этот модуль позволяет подключаться по Telnet
- в версии 1.0 netmiko также появилась поддержка Telnet, поэтому, если netmiko поддерживает то оборудование, которое используется у Вас, удобней будет использовать его
- paramiko - это модуль, который позволяет подключаться по SSHv2
- он более удобен в использовании, чем pexpect, но с более узкой функциональностью (поддерживает только SSH)
- netmiko - это модуль, который упрощает использование paramiko для сетевых устройств
- netmiko это "обертка" вокруг paramiko, которая ориентирована на работу с сетевым оборудованием
В этом разделе рассматриваются все 4 модуля, а также как подключаться к нескольким устройствам параллельно.
В примерах раздела используются три маршрутизатора. К ним нет никаких требований, только настроенный SSH.
Параметры, которые используются в разделе:
- пользователь: cisco
- пароль: cisco
- пароль на режим enable: cisco
- SSH версии 2
- IP-адреса: 192.168.100.1, 192.168.100.2, 192.168.100.3