Jump to content
Калькуляторы

Настройка сервера времени для всех коммутаторов в сети

Всем здравствуйте! Не нашёл где спросить или куда впихнуть эту тему, так что не ругаете или перенесите тему в нужное место... 

 

Cоздал сервер времени ntp на debian, настроил интерфейсы на определённую сеть, в ручную настроил пару коммутаторов агрегации и доступа (d-link)

 

А вопрос в следующем, можно ли отправить  настройки на все коммутаторы в сети, чтобы не делать этого для каждого коммутатора в ручную? Вроде где-то слышал, что через icmp как то можно, но загуглить не смог.

 

Спасибо.

Share this post


Link to post
Share on other sites

Настраивается через SNMP, в зависимости от модели коммутаторов.

Share this post


Link to post
Share on other sites
7 минут назад, Алек-НТК сказал:

можно ли отправить  настройки на все коммутаторы в сети

Нельзя.

 

7 минут назад, Алек-НТК сказал:

через icmp как то можно

Нельзя.

 

7 минут назад, Алек-НТК сказал:

чтобы не делать этого для каждого коммутатора в ручную

Зависит от коммутаторов и способов их настройки.

В некоторых случаях можно отдать по DHCP.

В других случаях можно использовать SNMP, это самый универсальный способ.

Иногда делается через DNS.

Для монобренда обычно делают через provisioning.

Share this post


Link to post
Share on other sites

Коммутаторы в основном DES-3200-10, DES-3200-26

 

Спасибо за наводку на SNMP. Буду разбираться...

Share this post


Link to post
Share on other sites

Шел 2020 год...

Включайте на свичах ssh, читайте про ansible.

 

Share this post


Link to post
Share on other sites
26 минут назад, naves сказал:

Шел 2020 год...

Включайте на свичах ssh, читайте про ansible.

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

Он половину слов не поймёт на остальное скажет НИНУЖНО.

 

Очень хорошо что проблему подняли и начали решать.

Дальше будет интересней, там как раз SNMP мониторинг, радиус авторизация, сислог централизованный и прочие плюхи валявшиеся без дела :)

Share this post


Link to post
Share on other sites

Под каждый длинк свой oid, это очень парит если использовать snmp. В момент когда ранее нужно было обойти кучку свитчей обычно использовали expect, сейчас наверное ansible не самый плохой вариант.

Share this post


Link to post
Share on other sites
9 часов назад, Алек-НТК сказал:

Коммутаторы в основном DES-3200-10, DES-3200-26

ПО от вендора Dlink D-View. 25 устройств бесплатно. С помощью промежуточного сервера можно не выставлять наружу сами железки. Нужная вам функция - Batch Configuration. Можно управлять и другим железом, импортировав MIB`ы. Советы про Ansible - хорошие, но поначалу весь пар будет уходить в плейбуки для разных девайсов. Потом дорастете.

Share this post


Link to post
Share on other sites
В 02.03.2020 в 21:33, vurd сказал:

сейчас наверное ansible не самый плохой вариант

netmiko + nornir например

Share this post


Link to post
Share on other sites

я бы сделал это так:

нашел хост с линуксом/бсд с которого доступны все коммутаторы на которых я хочу массово поменять/добавить конфиг

создал бы файл с списоком ип адресов коммутаторов в файл 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 by Alexspils

Share this post


Link to post
Share on other sites
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"

 

Share this post


Link to post
Share on other sites

 

20 часов назад, Alexspils сказал:

прошу сильно не пинать скрипты писались оочень давно и оид 1.0.8802.1.1.2.1.3.4.0 мог поменятся

Лучше брать дефолтный sysDescr из rfc1213

Share this post


Link to post
Share on other sites
В 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 мог поменятся

 

Очень круто, я прямо в восторге от простоты решения, возьму обязательно на вооружение, спасибо большое )))

Share this post


Link to post
Share on other sites

Ну ансибл же, такая возможность его изучить, зачем пилить свои лесопеды то?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
В 02.03.2020 в 12:44, Алек-НТК сказал:

чтобы не делать этого для каждого коммутатора в ручную?

 

какое количество свитчей?

Share this post


Link to post
Share on other sites
22 часа назад, VolanD666 сказал:

Ну ансибл же, такая возможность его изучить, зачем пилить свои лесопеды то?

Ansible и подобное нужны, когда однотипных объектов много, задача формализирована и одинаковые ревизии коммутаторов.
Во всех случаех, изучать лишнюю сущность (ЯП это невозможно назвать) - только для смены работы, для перехода в DevOps.

А так, наше все - bash, awk, sed, expect и perl в особо тяжелом случае.
Ну, и не забывать выставлять скрипты на гитхаб.

Share this post


Link to post
Share on other sites
53 минуты назад, vlad11 сказал:

А так, наше все - bash, awk, sed, expect и perl в особо тяжелом случае.

Ну а это конечно не лишняя сущность?

Share this post


Link to post
Share on other sites
В 11.03.2020 в 12:54, VolanD666 сказал:

Ну а это конечно не лишняя сущность?

Нет, Ansible сущность _над_ ними.
В самом коде Ansible вы найдете кучу костылей из баш партянок.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now