Skip to content
mrgrin-93Public

About

Connection script

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

ct

ct — это скрипт для подключения к сетевым устройствам Cisco, а также для получения и сохранения их конфигураций с помощью Nornir и Scrapli. Скрипт поддерживает различные способы подключения, позволяет запускать интерактивные SSH-сессии, а также автоматически сохраняет конфигурацию устройств в git-репозиторий для аудита изменений.

Основные возможности

  • Подключение к Cisco-устройствам через SSH (с поддержкой ввода паролей и enable-секрета).
  • Получение и сохранение конфигурации устройств.
  • Автоматическое коммитирование полученных конфигураций в git-репозиторий.
  • Гибкая фильтрация устройств и выбор способа подключения (локальный, туннель, внешний IP).
  • Интерактивный режим работы.

Требования

  • Python 3.6+
  • Nornir
  • Scrapli
  • pexpect
  • GitPython
  • Файл конфигурации Nornir: /opt/ct/config.yaml
  • Виртуальное окружение Python: /opt/ct/venv/
  • Каталог для хранения конфигураций: /usr/local/Cisco/confs

Установка

  1. Клонируйте репозиторий:
    git clone https://github.com/mrgrin-93/ct.git
    cd ct
  2. Установите зависимости:
    pip install -r requirements.txt
  3. Настройте файл /opt/ct/config.yaml для вашего инвентаря Nornir.
  4. Настройте файл /opt/ct/config.yaml для вашего инвентаря Nornir.

Использование

/opt/ct/venv/bin/python3 ct <hostname> [опции]

Основные аргументы

  • — имя устройства (из инвентаря Nornir).
  • -L — открыть интерактивную SSH-сессию.
  • -t1 — подключиться через tunnel 1.
  • -t2 — подключиться через tunnel 2.
  • -e1 — подключиться через внешний IP 1.
  • -e2 — подключиться через внешний IP 2.
  • -R — получить и сохранить конфигурацию (sh run) устройства.

Пример запуска

Открыть интерактивную SSH-сессию на устройство:

python3 ct <hostname> -L

Получить и сохранить конфигурацию:

python3 ct <hostname> -R

Структура проекта

  • ct — основной скрипт подключения и управления устройствами.
  • /opt/ct/config.yaml — конфигурация Nornir.
  • /usr/local/Cisco/confs — каталог для сохранённых конфигураций (под git).
  • /opt/ct/scripts/get_config.py — вспомогательный скрипт для получения конфигурации.

Пример работы

После подключения и сохранения конфигурации, изменения автоматически коммитятся в git-репозиторий. Это позволяет отслеживать, кто и когда получал конфигурации устройств.

About

Connection script

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages