Алек-НТК Posted March 2, 2020 Posted March 2, 2020 Всем здравствуйте! Не нашёл где спросить или куда впихнуть эту тему, так что не ругаете или перенесите тему в нужное место... Cоздал сервер времени ntp на debian, настроил интерфейсы на определённую сеть, в ручную настроил пару коммутаторов агрегации и доступа (d-link) А вопрос в следующем, можно ли отправить настройки на все коммутаторы в сети, чтобы не делать этого для каждого коммутатора в ручную? Вроде где-то слышал, что через icmp как то можно, но загуглить не смог. Спасибо. Вставить ник Quote
prolan Posted March 2, 2020 Posted March 2, 2020 Настраивается через SNMP, в зависимости от модели коммутаторов. Вставить ник Quote
alibek Posted March 2, 2020 Posted March 2, 2020 7 минут назад, Алек-НТК сказал: можно ли отправить настройки на все коммутаторы в сети Нельзя. 7 минут назад, Алек-НТК сказал: через icmp как то можно Нельзя. 7 минут назад, Алек-НТК сказал: чтобы не делать этого для каждого коммутатора в ручную Зависит от коммутаторов и способов их настройки. В некоторых случаях можно отдать по DHCP. В других случаях можно использовать SNMP, это самый универсальный способ. Иногда делается через DNS. Для монобренда обычно делают через provisioning. Вставить ник Quote
Алек-НТК Posted March 2, 2020 Author Posted March 2, 2020 Коммутаторы в основном DES-3200-10, DES-3200-26 Спасибо за наводку на SNMP. Буду разбираться... Вставить ник Quote
naves Posted March 2, 2020 Posted March 2, 2020 Шел 2020 год... Включайте на свичах ssh, читайте про ansible. Вставить ник Quote
Ivan_83 Posted March 2, 2020 Posted March 2, 2020 26 минут назад, naves сказал: Шел 2020 год... Включайте на свичах ssh, читайте про ansible. Это примерно как рассказывать местному домовому электрику о необходимости установки сетевых фильтров (настоящих а не этих удлинителей), автоматов ограничивающих напряжение и дифф автоматов всем жильцам, и про прочие плюшки которые есть по питанию в тех же датацентрах. Он половину слов не поймёт на остальное скажет НИНУЖНО. Очень хорошо что проблему подняли и начали решать. Дальше будет интересней, там как раз SNMP мониторинг, радиус авторизация, сислог централизованный и прочие плюхи валявшиеся без дела :) Вставить ник Quote
vurd Posted March 2, 2020 Posted March 2, 2020 Под каждый длинк свой oid, это очень парит если использовать snmp. В момент когда ранее нужно было обойти кучку свитчей обычно использовали expect, сейчас наверное ansible не самый плохой вариант. Вставить ник Quote
jffulcrum Posted March 2, 2020 Posted March 2, 2020 9 часов назад, Алек-НТК сказал: Коммутаторы в основном DES-3200-10, DES-3200-26 ПО от вендора Dlink D-View. 25 устройств бесплатно. С помощью промежуточного сервера можно не выставлять наружу сами железки. Нужная вам функция - Batch Configuration. Можно управлять и другим железом, импортировав MIB`ы. Советы про Ansible - хорошие, но поначалу весь пар будет уходить в плейбуки для разных девайсов. Потом дорастете. Вставить ник Quote
GrandPr1de Posted March 4, 2020 Posted March 4, 2020 В 02.03.2020 в 21:33, vurd сказал: сейчас наверное ansible не самый плохой вариант netmiko + nornir например Вставить ник Quote
Alexspils Posted March 4, 2020 Posted March 4, 2020 (edited) я бы сделал это так: нашел хост с линуксом/бсд с которого доступны все коммутаторы на которых я хочу массово поменять/добавить конфиг создал бы файл с списоком ип адресов коммутаторов в файл swlist 10.10.10.1 10.10.10.2 192.168.5.100 192.168.5.101 …... в том же каталоге создал бы файл masscmd.sh #!/bin/bash cat swlist | while read j;do echo "#!/usr/bin/expect spawn telnet $j expect \":\" send "myusername\\n" expect \":\" send "mypass\\n" expect \"#\" send "config sntp primary 11.11.11.11 secondary 12.12.12.12 poll-interval 600\\n" expect \"#\" send \"save\n\" expect \"#\" exit " > abc expect abc done где myusername и mypass- имя пользователя/пароль на коммутатор, 11.11.11.11 и 12.12.12.12 ntp сервера которые я хочу прописать и вуаля :) По аналогии можно массово добавлять/менять конфиг как надо или обновлять прошивку на коммутаторах любого вендора особо не заморачиваясь с поиском мибов,спецпрограм и прочей хрени, единственное что надо знать это какие команды надо выполнить. Так как у длинка синтаксис команд не сильно отличается этот вариант подойдет лучше всего, в крайнем случае можно сгруппировать список ип адресов коммутаторов по моделям и выполнять для разных моделей коммутаторов свой список команд ВАЖНО: что-бы не натворить херни во всей сети сначала в файл swlist добавьте парочку ип адресов и после выполнения скрипта удостоверьтесь что все прошло имеено так как Вам надо и только после этого массово меняйте конфиг на всех коммутаторах в Вашей сети как группировать по моделям: создаем файл allswipz со всеми ип адресами коммутаторов которые есть в Вашей сети например нам нужны ип адреса только DES-3526 #!/bin/bash cat allswipz| while read j;do b=`snmwalk -v 2c -с mycommunity $j 1.0.8802.1.1.2.1.3.4.0 |grep DES-3526` if [ ! -z "$b" ];then echo $j fi done прошу сильно не пинать скрипты писались оочень давно и оид 1.0.8802.1.1.2.1.3.4.0 мог поменятся Edited March 4, 2020 by Alexspils Вставить ник Quote
Andrei Posted March 5, 2020 Posted March 5, 2020 8 часов назад, Alexspils сказал: оид 1.0.8802.1.1.2.1.3.4.0 мог поменятся Угу snmpwalk -v 2c -c public 192.168.254.70 1.0.8802.1.1.2.1.3.4.0 iso.0.8802.1.1.2.1.3.4.0 = STRING: "Fast Ethernet Switch" snmpwalk -v 2c -c public 192.168.254.70 .1.3.6.1.2.1.1.1 iso.3.6.1.2.1.1.1.0 = STRING: "DES-3526 Fast-Ethernet Switch" Вставить ник Quote
pppoetest Posted March 5, 2020 Posted March 5, 2020 20 часов назад, Alexspils сказал: прошу сильно не пинать скрипты писались оочень давно и оид 1.0.8802.1.1.2.1.3.4.0 мог поменятся Лучше брать дефолтный sysDescr из rfc1213 Вставить ник Quote
Алек-НТК Posted March 10, 2020 Author Posted March 10, 2020 В 04.03.2020 в 22:46, Alexspils сказал: я бы сделал это так: нашел хост с линуксом/бсд с которого доступны все коммутаторы на которых я хочу массово поменять/добавить конфиг создал бы файл с списоком ип адресов коммутаторов в файл swlist 10.10.10.1 10.10.10.2 192.168.5.100 192.168.5.101 …... в том же каталоге создал бы файл masscmd.sh #!/bin/bash cat swlist | while read j;do echo "#!/usr/bin/expect spawn telnet $j expect \":\" send "myusername\\n" expect \":\" send "mypass\\n" expect \"#\" send "config sntp primary 11.11.11.11 secondary 12.12.12.12 poll-interval 600\\n" expect \"#\" send \"save\n\" expect \"#\" exit " > abc expect abc done где myusername и mypass- имя пользователя/пароль на коммутатор, 11.11.11.11 и 12.12.12.12 ntp сервера которые я хочу прописать и вуаля :) По аналогии можно массово добавлять/менять конфиг как надо или обновлять прошивку на коммутаторах любого вендора особо не заморачиваясь с поиском мибов,спецпрограм и прочей хрени, единственное что надо знать это какие команды надо выполнить. Так как у длинка синтаксис команд не сильно отличается этот вариант подойдет лучше всего, в крайнем случае можно сгруппировать список ип адресов коммутаторов по моделям и выполнять для разных моделей коммутаторов свой список команд ВАЖНО: что-бы не натворить херни во всей сети сначала в файл swlist добавьте парочку ип адресов и после выполнения скрипта удостоверьтесь что все прошло имеено так как Вам надо и только после этого массово меняйте конфиг на всех коммутаторах в Вашей сети как группировать по моделям: создаем файл allswipz со всеми ип адресами коммутаторов которые есть в Вашей сети например нам нужны ип адреса только DES-3526 #!/bin/bash cat allswipz| while read j;do b=`snmwalk -v 2c -с mycommunity $j 1.0.8802.1.1.2.1.3.4.0 |grep DES-3526` if [ ! -z "$b" ];then echo $j fi done прошу сильно не пинать скрипты писались оочень давно и оид 1.0.8802.1.1.2.1.3.4.0 мог поменятся Очень круто, я прямо в восторге от простоты решения, возьму обязательно на вооружение, спасибо большое ))) Вставить ник Quote
VolanD666 Posted March 10, 2020 Posted March 10, 2020 Ну ансибл же, такая возможность его изучить, зачем пилить свои лесопеды то? Вставить ник Quote
EShirokiy Posted March 10, 2020 Posted March 10, 2020 Если используется заббикс, то можно заббиксом пройтись по всем свитчам и через телнет закинуть конфиг, даже сторонние скрипты не нужны. Вставить ник Quote
No_name Posted March 10, 2020 Posted March 10, 2020 В 02.03.2020 в 12:44, Алек-НТК сказал: чтобы не делать этого для каждого коммутатора в ручную? какое количество свитчей? Вставить ник Quote
vlad11 Posted March 11, 2020 Posted March 11, 2020 22 часа назад, VolanD666 сказал: Ну ансибл же, такая возможность его изучить, зачем пилить свои лесопеды то? Ansible и подобное нужны, когда однотипных объектов много, задача формализирована и одинаковые ревизии коммутаторов. Во всех случаех, изучать лишнюю сущность (ЯП это невозможно назвать) - только для смены работы, для перехода в DevOps. А так, наше все - bash, awk, sed, expect и perl в особо тяжелом случае. Ну, и не забывать выставлять скрипты на гитхаб. Вставить ник Quote
VolanD666 Posted March 11, 2020 Posted March 11, 2020 53 минуты назад, vlad11 сказал: А так, наше все - bash, awk, sed, expect и perl в особо тяжелом случае. Ну а это конечно не лишняя сущность? Вставить ник Quote
vlad11 Posted March 12, 2020 Posted March 12, 2020 В 11.03.2020 в 12:54, VolanD666 сказал: Ну а это конечно не лишняя сущность? Нет, Ansible сущность _над_ ними. В самом коде Ansible вы найдете кучу костылей из баш партянок. Вставить ник 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.