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

Скрипт глобальной прошивки техническое решение

Есть сеть на D-link коммутаторах, коммутаторов каждой серии по 60 штук, если ли скрипт на linux для прошивки коммутаторов всех одновременно по snmp? help?

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


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

У меня есть скрипт который по телнету выполняет команды из файла commands, заходя по очереди на IP из файла

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


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

expect + telnet (snmp) пишется минут за 10-15.

 

Лучше сами потренируйтесь.

 

Да, прошивая коммутаторы в поле, стоит предварительно проверить совместимость прошивок. На дебилинках сталкивался с крайне непредвиденными косяками с stp и ip-mac-port привязках.

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

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


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

на перле накидал подобный апдейт по телнету за 10 мин

 

Да, прошивая коммутаторы в поле, стоит предварительно проверить совместимость прошивок.

Знамо дело, сначала все прошивается и проверятся на стенде, затем десяток коммутаторов в поле, лишь потом массовый апдей

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


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

есть еще empty

 

Дайте линк.

 

P.S. Сам увидел - http://empty.sourceforge.net/

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

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


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

Вероятно это: http://empty.sourceforge.net/

 

Интересно, однако.

 

 

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

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


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

на перле накидал подобный апдейт по телнету за 10 мин

у меня на обычно шелле все работает.

по snmp быстрее правда.

там все просто.

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


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

по snmp быстрее правда.

там все просто.

Согласен, но у длинков есть один ... эмнь... одна особенность, менять ОИДы от прошивки к прошивке, CLI менее подвержен этому идиотизму

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

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


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

скрипт на linux для прошивки коммутаторов всех одновременно по snmp?

Все одновременно опасно, т.к. при перепрошивке узлового устройства отвалятся конечные.

Если они в этот момент тоже перепрошиваются - не факт, что процесс закончится успешно.

 

Сценарий для сбора конфигов, можете взять за основу:

#!/usr/bin/perl

use strict;
use warnings;

use DBI;
use Net::Telnet;

my $TFTP_SERVER = '10.90.90.250';
my $TFTP_PATH = 'configs';

my $LOGIN = 'admin';
my $PASSWORD = 'MyPass';

sub exec_telnet($$) {
       my ($IP, $CMD) = @_;
       my $t = new Net::Telnet(Prompt => '/[\$%#>] *$/');
       unless ($t) {
               warn "$IP: Cannot create Net::Telnet\n";
               return undef;
       }
       unless ($t->open($IP)) {
               warn "$IP: Cannot open:".$t->errmsg."\n";
               return undef;
       }
       print "$IP: Open OK.\n";
       unless ($t->login($LOGIN, $PASSWORD)) {
               warn "$IP: Cannot login:".$t->errmsg."\n";
               return undef;
       }
       print "$IP: Login OK.\n";
       my @lines = $t->cmd($CMD);
       print "$IP: command passed.\n";
       $t->close;
       print "$IP: Closed.\n";
}

...
exec_telnet('10.90.90.12', "upload cfg_toTFTP tftp://$TFTP_SERVER/$TFTP_PATH/10.90.90.12.cfg");
exec_telnet('10.90.90.13', "upload configuration     $TFTP_SERVER $TFTP_PATH/10.90.90.13.cfg running");
exec_telnet('10.90.90.14', "upload cfg_toTFTP        $TFTP_SERVER $TFTP_PATH/10.90.90.14.cfg");
...

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


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

по snmp быстрее правда.

там все просто.

Согласен, но у длинков есть один ... эмнь... одна особенность, менять ОИДы от прошивки к прошивке, CLI менее подвержен этому идиотизму

У длинков OID-ы по работе с файлами не меняются (я ни разу такого не встречал), а зачастую они одни и теже даже на нескольких сериях коммутаторов.

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


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

Писал подобное на перле, но задача стояла: получить полностью настроенный коммутатор. Монтажник приходит, ставит коммутатор, настраивает ip и route, инженер с места пускает перловский скрипт. Скрипт проверяет прошивку, отключает stp, перепрошивает, включает stp, прописывает все типовые настройки, создаёт вланы,... + acl.

Удобно.

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


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

Некогда нашёл это в интернете

cat conveer.sh 
#!/usr/local/bin/bash
FILE=`cat $1 | sort -u` 

for I in $FILE
 do

if [ -n "$I" ]
 then


(sleep 1; echo admin_login; echo "admin_password";sleep 2; cat ./commands; sleep 5; )| telnet $I                
fi

 

В скрипте правим admin_login и admin_password, в файл commands вписываем комманды, которые нужно выполнить на коммутаторе, в файл например с именем ipofswitchs вписываем в столбец ip адреса коммутаторов.

Далее командой sh conveer.sh ipofswitchs выполняем команды на коммутаторах.

Использую этот скрипт для до настройки или перенастройки коммутаторов dlink.

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


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

Все одновременно опасно, т.к. при перепрошивке узлового устройства отвалятся конечные.

Если они в этот момент тоже перепрошиваются - не факт, что процесс закончится успешно.

ИМХО постараться надо. Кучу раз шились сразу по 5-6-7К (сейчас еще больше) разношерстных длинков и эджкоров скриптом в пару десятков строк на питоне и ни разу ничего не пропало. Залить новую прошивку оно вообще нехитро.

 

Хитрее с одновременным ребутом всех свитчей для зарузки новой прошивки. У Эджкоров есть отсрочка ребута, длинку приходится в кучу потоков скармливать всем свитчам "тяжелую команду" типа диагностики кабеля и сразу ребут. Кольца по свитчей 30 еще прокатывает. Длиннее пока нет.

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


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

Join the conversation

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

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

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

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

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

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

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