- Регистрация
- 06.12.2014
- Сообщения
- 122
- Благодарностей
- 129
- Баллы
- 43
Приветствую вас коллеги, хочу поделиться с вами шаблоном, который помогает мне в ежедневной работе.
Данный шаблон помогает автоматически проливать конфиг, или собирать информацию с сотни сетевых устройств, что очень сильно экономит время.
В шаблоне используется библиотека rensi.ssh о которой было уже достаточно много сказано(кто хочет ознакомиться с ней более подробно, почитайте конкурсные статьи прошлых лет)
Начну с того, что шаблон написан на предыдущей версии c#, в новых версиях не тестировался.
Шаблон работает достаточно просто. Для начала, нужно добавить библиотеку в директорию "ExternalAssemblies", которая расположена в директории куда вы установили ZP
сначала мы подгружаем в проект список IP адресов на которые нам требуется пролить конфиг. У проекта нет входных настроек, поэтому путь к файлу с IP адресами укажите самостоятельно в свойствах списка, либо положите в директорию с проектом файл ip.txt и в нем уже укажите нужные вам IP адреса.
после шаблон, подключается к каждому из них посредством ssh, вводит логин и пароль, если они не подошли, вводит альтернативную пару и выполняет действия указанные в конфиге.
в ходе конфигурирования можно задавать условия, опираясь на которые, будет проливаться тот или иной конфиг
Конфиг мы указываем непосредственно в самом коде, в данном шаблоне приведен простейший код по настройке ACL на оборудовании cisco, а так же пример конфига для сбора нужной информации и одновроменного переконфигурирования оборудования(сам конфиг оборудования скорее всего будет мало кому интересен, но используемые паттерны и команды для сбора информации из консоли, могут кому-нибудь пригодиться). Так же обращаю внимание, что хеши паролей в конфиге изменены, поэтому не надо пытать их брутить
После каждой команды делается делей в 1 секунду, поскольку у меня очень распределенная сеть и много устройств, есть и старые, которым требуется какое-то время для обработки команды. когда вы просто вводите конфиг это не столь критично, но если вам нужно получить вывод команды, то иногда нужно дать железке немного времени на вывод в консоль, прежде чем шаблон заберет этот вывод.
так же хочу отдельно отметить, что шаблон не умеет собирать построчный вывод (это когда за один раз, вам выводится не вся информация, а только ее часть, и для продолжения вывода, нужно нажать тут или иную кнопку), решается это(для оборудования cisco) вводом в самом начале команды terminal lenght 0, данная команда убирает построчный вывод, и выводит сразу все информацию в консоль.
Так же если будет кому-то интересно и востребовано, допишу модуль, до которого все никак не доходят руки, чтобы подсунуть шаблону файл с конфигом (обычные команды построчно) и он проливал его на выбранные IP, чтобы не приходилось руками править код c#.
Данный шаблон помогает автоматически проливать конфиг, или собирать информацию с сотни сетевых устройств, что очень сильно экономит время.
В шаблоне используется библиотека rensi.ssh о которой было уже достаточно много сказано(кто хочет ознакомиться с ней более подробно, почитайте конкурсные статьи прошлых лет)
Начну с того, что шаблон написан на предыдущей версии c#, в новых версиях не тестировался.
Шаблон работает достаточно просто. Для начала, нужно добавить библиотеку в директорию "ExternalAssemblies", которая расположена в директории куда вы установили ZP
сначала мы подгружаем в проект список IP адресов на которые нам требуется пролить конфиг. У проекта нет входных настроек, поэтому путь к файлу с IP адресами укажите самостоятельно в свойствах списка, либо положите в директорию с проектом файл ip.txt и в нем уже укажите нужные вам IP адреса.
после шаблон, подключается к каждому из них посредством ssh, вводит логин и пароль, если они не подошли, вводит альтернативную пару и выполняет действия указанные в конфиге.
в ходе конфигурирования можно задавать условия, опираясь на которые, будет проливаться тот или иной конфиг
Конфиг мы указываем непосредственно в самом коде, в данном шаблоне приведен простейший код по настройке ACL на оборудовании cisco, а так же пример конфига для сбора нужной информации и одновроменного переконфигурирования оборудования(сам конфиг оборудования скорее всего будет мало кому интересен, но используемые паттерны и команды для сбора информации из консоли, могут кому-нибудь пригодиться). Так же обращаю внимание, что хеши паролей в конфиге изменены, поэтому не надо пытать их брутить
После каждой команды делается делей в 1 секунду, поскольку у меня очень распределенная сеть и много устройств, есть и старые, которым требуется какое-то время для обработки команды. когда вы просто вводите конфиг это не столь критично, но если вам нужно получить вывод команды, то иногда нужно дать железке немного времени на вывод в консоль, прежде чем шаблон заберет этот вывод.
так же хочу отдельно отметить, что шаблон не умеет собирать построчный вывод (это когда за один раз, вам выводится не вся информация, а только ее часть, и для продолжения вывода, нужно нажать тут или иную кнопку), решается это(для оборудования cisco) вводом в самом начале команды terminal lenght 0, данная команда убирает построчный вывод, и выводит сразу все информацию в консоль.
Так же если будет кому-то интересно и востребовано, допишу модуль, до которого все никак не доходят руки, чтобы подсунуть шаблону файл с конфигом (обычные команды построчно) и он проливал его на выбранные IP, чтобы не приходилось руками править код c#.
- Категория
- Другое
- Номер конкурса шаблонов
- Седьмой конкурс шаблонов
- Уровень сложности
- Продвинутый
Вложения
-
166,3 КБ Просмотры: 96
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.