Шаблон для конфигурирования активного сетевого оборудования

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
Приветствую вас коллеги, хочу поделиться с вами шаблоном, который помогает мне в ежедневной работе.
Данный шаблон помогает автоматически проливать конфиг, или собирать информацию с сотни сетевых устройств, что очень сильно экономит время.
В шаблоне используется библиотека rensi.ssh о которой было уже достаточно много сказано(кто хочет ознакомиться с ней более подробно, почитайте конкурсные статьи прошлых лет)

Начну с того, что шаблон написан на предыдущей версии c#, в новых версиях не тестировался.
Шаблон работает достаточно просто. Для начала, нужно добавить библиотеку в директорию "ExternalAssemblies", которая расположена в директории куда вы установили ZP
73683

сначала мы подгружаем в проект список IP адресов на которые нам требуется пролить конфиг. У проекта нет входных настроек, поэтому путь к файлу с IP адресами укажите самостоятельно в свойствах списка, либо положите в директорию с проектом файл ip.txt и в нем уже укажите нужные вам IP адреса.
73684

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

Конфиг мы указываем непосредственно в самом коде, в данном шаблоне приведен простейший код по настройке ACL на оборудовании cisco, а так же пример конфига для сбора нужной информации и одновроменного переконфигурирования оборудования(сам конфиг оборудования скорее всего будет мало кому интересен, но используемые паттерны и команды для сбора информации из консоли, могут кому-нибудь пригодиться). Так же обращаю внимание, что хеши паролей в конфиге изменены, поэтому не надо пытать их брутить :D
После каждой команды делается делей в 1 секунду, поскольку у меня очень распределенная сеть и много устройств, есть и старые, которым требуется какое-то время для обработки команды. когда вы просто вводите конфиг это не столь критично, но если вам нужно получить вывод команды, то иногда нужно дать железке немного времени на вывод в консоль, прежде чем шаблон заберет этот вывод.

так же хочу отдельно отметить, что шаблон не умеет собирать построчный вывод (это когда за один раз, вам выводится не вся информация, а только ее часть, и для продолжения вывода, нужно нажать тут или иную кнопку), решается это(для оборудования cisco) вводом в самом начале команды terminal lenght 0, данная команда убирает построчный вывод, и выводит сразу все информацию в консоль.


Так же если будет кому-то интересно и востребовано, допишу модуль, до которого все никак не доходят руки, чтобы подсунуть шаблону файл с конфигом (обычные команды построчно) и он проливал его на выбранные IP, чтобы не приходилось руками править код c#.
 
Категория
Другое
Номер конкурса шаблонов
Седьмой конкурс шаблонов
Уровень сложности
Продвинутый

Вложения

Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...

Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.

VladislavIX

Client
Регистрация
30.04.2019
Сообщения
10
Благодарностей
0
Баллы
1
Как сетевой инженер плюсую
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)