moonsn Posted May 24, 2017 Posted May 24, 2017 (edited) Привет всем. Написал под себя небольшой конфигуратор (с псевдо GUI на основе dialog, можно использовать на серверных сборках) для конфигурации коммутаторов через USB/COM кабель, решил поделится. В принципе можно допилить под свои нужды как угодно. Так как опыт в скриптописании сравнительно небольшой прошу не "кидать тапками". Проверялся на коммутаторах DES-32xx и DES-30xx, опять же можно переделать под какие угодно модели. Присутствует базовая настройка, IP, Vlans, Loopdetect, Traffic Control, Multicast, SNMP community, SNTP. swconf2.zip Edited May 26, 2017 by moonsn Вставить ник Quote
vlad11 Posted May 24, 2017 Posted May 24, 2017 Спасибо за скрипт. Начиная с 130 строки осталось сделать читабельное форматирование кода. Сделать глобальную переменную со значением "SWITCHconf v2.0 Beta". Кое-где встречается sleep 1, что желательно обосновать применение. Конструкции вида: echo "create syslog host 1 ipaddress $syslogserv severity all state enable">$usb1 echo "enable syslog">$usb1 заменить на cat << EOF > $usb1 create syslog host 1 ipaddress $syslogserv severity all state enable enable syslog EOF Вставить ник Quote
moonsn Posted May 24, 2017 Author Posted May 24, 2017 Начиная с 130 строки осталось сделать читабельное форматирование кода. Сделать глобальную переменную со значением "SWITCHconf v2.0 Beta". Кое-где встречается sleep 1, что желательно обосновать применение. Конструкции вида: echo "create syslog host 1 ipaddress $syslogserv severity all state enable">$usb1 echo "enable syslog">$usb1 заменить на cat << EOF > $usb1 create syslog host 1 ipaddress $syslogserv severity all state enable enable syslog EOF Спасибо за Ваш отзыв и подсказки. Недочеты из за того, что такой большой (для меня) скрипт писал впервые и практически с нулевыми знаниями Linux систем, спустя всего месяц после знакомства с ними. Сделать глобальную переменную со значением "SWITCHconf v2.0 Beta". Изначально что то не подумал об этом, тем самым усложнив себе работу Кое-где встречается sleep 1, что желательно обосновать применение. sleep 1 собственно как таковой не нужен, он идет только для нормальной визуализации прогресс-бара выполнения процесса. Вставить ник Quote
vlad11 Posted May 24, 2017 Posted May 24, 2017 Спасибо за Ваш отзыв и подсказки. Недочеты из за того, что такой большой (для меня) скрипт писал впервые и практически с нулевыми знаниями Linux систем, спустя всего месяц после знакомства с ними. Используйте тактику "Тик-так". На фазу Тик добавляйте функционал. На фазу Так оптимизируйте написанное. Ну, и промежуточные тесты в виртуалке. Да, советую использовать IDE IntelliJ IDEA с модулем BashSupport Локальный Git или еще github - по вкусу. Вставить ник Quote
bomberman Posted May 26, 2017 Posted May 26, 2017 Старания похвальны, но зачем? Как правило конфигурация пишется единажды, дальше по написанному шаблону, подстановкой параметров, и ручным измененем при необходимости под задачу. Последнее реже. Вставить ник Quote
moonsn Posted May 26, 2017 Author Posted May 26, 2017 Старания похвальны, но зачем? Как правило конфигурация пишется единажды, дальше по написанному шаблону, подстановкой параметров, и ручным измененем при необходимости под задачу. Последнее реже. В основном для собственной практики при изучении Linux систем и bash кодинга. Второстепенно - чтобы опять же был шаблон. Поделился скриптом с той же целью, чтобы у кого то был шаблон, который можно переделать и использовать под себя. Наработки лежат, что добру пропадать. Когда в свое время ставил заббикс, тоже зачастую пользовался чужими наработками, кусками кода, это очень помогло, особенно если учесть что тогда знания были вообще нулевые а задача стояла. Вставить ник Quote
bomberman Posted May 26, 2017 Posted May 26, 2017 (edited) Альтруизм. Похвально. В любом случае, спасибо за наработку. Может пригодиться. Вам дальнейшего успеха в этом деле. p.s. подправте свой первый пост, ограничив картинки в размере, а то рвёт. Edited May 26, 2017 by bomberman Вставить ник Quote
moonsn Posted February 13, 2019 Author Posted February 13, 2019 Еще пару скриптов. 1. FindMAC - bash скрипт для автоматического поиска заданного mac адреса в сети коммутаторов D-Link. Поддерживает модели коммутаторов: DES-3200-10 DES-3200-18 DES-3200-26 DES-3200-28 DES-3200-28F DES-3010G DES-3016 DES-3026 Для корректной работы скрипта необходимо создать файл ip.txt в папке скрипта с перечисленными ip адресами коммутаторов Пример: 192.168.0.1 192.168.0.2 192.168.0.31 Зная OIDы коммутаторов других серий можно вполне привязать и к другим моделям D-Link'а. 2. D-Link ports checker - скрипт проверки портов на прохождение трафика. Работает по snmp (коммьюнити нужно указать свое). Запрашивает ip, модель, аптайм и проверяет все порты на то, было ли прохождение broadcast трафика после последней перезагрузки коммутатора до момента проверки. Выдает результат в виде количества портов и были ли они использованы - Used или нет - Not Used. Для нормально работы скрипта необходимо установить пакеты expect и dialog. find_mac.sh utiliz.zip Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.