|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> Programming
—> Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel
Автор: Le1.
Привет всем, много писать не буду, просто скажу, что один раз понадобилось изменить конфиг на свичах Zyxel, дело вроде бы нормальное, но нужно было сделать это все на 300-400 устройствах.
Подумав немного, написал маленький скрипт на Perl-е, вот собственно и он:
#!/usr/local/bin/perl
use Time::HiRes;
use Net::Telnet;
$user = "admin";
$pass = "1234";
open (IPLIST, "iplist");
open (WRFILE, ">>zyxel.log");
while ($host = <IPLIST>)
{
$th = new Net::Telnet(Timeout => 15, Telnetmode => 1,Errmode => "return");
print "======================= START =======================\n";
print "[+] Connectiong to: ".$host."\n";
print "=====================================================\n";
print WRFILE "======================= START =======================\n";
print WRFILE "[+] Connectiong to: ".$host."\n";
print WRFILE "=====================================================\n";
$th->open($host);
$th->waitfor('/ser name:.*$/');
$th->print($user);
$th->waitfor('/assword:.*$/');
$th->print($pass);
$th->waitfor('/#.*$/');
open (COMMANDS, "commands");
while ($cmds = <COMMANDS>)
{
$th->print($cmds);
@out = $th->waitfor('/#.*$/');
print @out;
print WRFILE @out;
}
close(COMMANDS);
print "\n=================== END ===================\n\n\n";
print WRFILE "\n=================== END ===================\n\n\n";
Time::HiRes::sleep(10);
}
close(WRFILE);
close(IPLIST);
|
Скрипт работает следующим образом, берет IP или hostname из файла iplist:
192.168.176.59
192.168.176.91
192.168.176.93
192.168.176.94
192.168.176.68
192.168.176.16
192.168.176.17
192.168.176.18
192.168.176.19
192.168.176.21
...
...
192.168.176.47
192.168.176.45
192.168.176.44
192.168.176.38
192.168.176.34
192.168.176.27
|
По очереди заходит на каждый свич по телнету, и выполняет команды находящиеся в файде commands, к примеру:
conf t
vlan 1
fixed 24-26
no untagged 24
exit
vlan 31
name Management
normal ""
fixed 24-26
no untagged 24
exit
...
...
vlan-trunking
bandwidth-limit ingress 1
bandwidth-limit egress 1
igmp-snooping filtering profile uplink
diffserv
exit
no port-security 24 learn inactive
no port-security 24
spanning-tree 24
mstp hello-time 3 maximum-age 40 forward-delay 30
mstp max-hop 40
mstp instance 0 interface port-channel 24
exit
wr mem
|
Также при исполнении скрипт пишет лог.
Вот собственно и все, строго не судите, так как я не гуру Perl-а, просто опубликовал статью чисто для заметки, вдруг комуто и поможет.
размещено: 2011-02-17,
последнее обновление: 2011-02-19,
автор: Le1
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
|
Статистика сайта
|
Сейчас на сайте находится: 14 чел.
|
За последние 30 мин было: 183 человек
|
За сегодня было 5057 показов, 1239 уникальных IP
|
|
|
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
|
|
|
Комментарии пользователей [6 шт.]