Перейти к содержимому
Калькуляторы

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

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

 

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

 

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

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Нельзя.

 

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

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

Нельзя.

 

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

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Шел 2020 год...

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

26 минут назад, naves сказал:

Шел 2020 год...

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

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

9 часов назад, Алек-НТК сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 02.03.2020 в 21:33, vurd сказал:

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

netmiko + nornir например

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

Изменено пользователем Alexspils

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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"

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 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 мог поменятся

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 02.03.2020 в 12:44, Алек-НТК сказал:

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

22 часа назад, VolanD666 сказал:

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

53 минуты назад, vlad11 сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 11.03.2020 в 12:54, VolanD666 сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.