Как выполнить резервное копирование и восстановление конфигураций на множестве маршрутизаторов и коммутаторов Cisco из Linux?

Я ищу способ резервного копирования, сохранения, версии и восстановления конфигураций сетевого оборудования Cisco.

Мне нужно иметь возможность автоматически получать и толкать файлы конфигурации на многих маршрутизаторах и коммутаторах.

Я ищу какую-то альтернативу Linux Orion чтобы я мог:

  • Автоматически получать конфигурацию с устройства при его изменении (инициируется системным журналом)
  • Сохраните каждую версию конфигурации
  • Нажмите конфигурацию на одном устройстве
  • Выдвиньте конфигурацию на кучу устройств в сценарии

Поэтому я взглянул на то, что может показаться хорошим решением, и не нашел ничего, что соответствовало бы этим критериям. Очень странно, что нет Linux, созданного для этих нужд.

Вот что я нашел:

  • Rancid - это хороший скрипт, который может получить конфигурации и сохранить каждую версию в репозитории CVS или SVN
  • Syslog-ng может помочь мне сказать Rancid снова проверить конфигурацию устройства при отправке системного журнала
  • CVS/SVN/Git/ Все, что может достичь версионности и обеспечить хорошие различия
  • Я мог бы выдвинуть конфиги с помощью clogin (Rancid), но это совсем не приятно
  • Я мог бы выдвинуть конфиги с TFTP, но мне пришлось бы написать его (в основном для массового развертывания).

Мне не хватает инструмента, обеспечивающего функциональность, в которой я нуждаюсь? Странно, что его нет в Linux.

Спасибо за вашу помощь:)

1 ответ

Это то, что, как я обнаружил, было самым простым в управлении... хотя это немного грубо, особенно для людей, которым не нравится CLI.

http://sourceforge.net/projects/cosi-nms/files/ciscocmd/

Это ожидаемый сценарий, используемый для отправки команд на множество устройств Cisco.

Это позволяет вам передать файл с именем всех ваших устройств и командами, которые вы хотите выполнить на устройствах.

У меня просто есть tftp конфиги на наш центральный сервер конфигурации tftp по ночам.

copy system:running-config tftp://mytftpserver/this-router-config

Для восстановления вы можете просто применить:

copy tftp://mytftpserver/this-router-config system:running-config

Простым примером будет иметь файл с именем "myrouters"

--- CUT --- 
#!/bin/sh
DATE=`date +%Y%m%d`
for THISHOST in `cat myrouters`
do
ciscocmd [auth params] -c "copy system:running-config tftp://mytftpserver/$THISHOST.$DATE"
done
--- CUT ---

Это создает файл конфигурации с именем routerx.20130707

Если вы измените

DATE=`date +%Y%m%d`

в

DATE=`date +%w`

у вас просто будет скользящее 7-дневное окноконфигов routerx.1, routerx.2, .. routerx.7

Выше приведен очень упрощенный пример, но это в основном то, что я делаю. У меня на самом деле есть "config-backup.sh" и "config-restore.sh".

Каждый скрипт принимает параметры имени файла, заполненного именами устройств, а вторым параметром является дата в "ГГГГММДД". Если это резервная копия, она добавляет дату к имени файла конфигурации. Если это восстановление, оно сообщает устройствам загрузить "$HOST.$DATE".

Я запускаю резервные копии из cron.

С этим я могу очень легко восстановить что-нибудь только с SSH с моего телефона.

Другие вопросы по тегам