| 
 
 
   |   |  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, lissyaragmirror
 Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
 2013-08-20, zentarimScan+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, zentarimWi-FI роутер + DHCP + DNS
 Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
 2011-06-15, -ZG-Охранная система на FreeBSD+LPT
 В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
 2011-03-13, terminusng_nat
 Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
 2011-02-20, КапитанNagios+Digitemp
 Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
 2011-02-17, Le1Zyxel Configuration
 Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
 2011-02-16, foxhast 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.
 
 | 
	
		| 
	
		| 
			
				
					| Статистика сайта |  
					| Сейчас на сайте находится: 7 чел. |  
					| За последние 30 мин было: 60 человек |  
					| За сегодня было11305 показов,
 1417 уникальных IP
 |  |  |  |   Этот информационный блок появился по той простой причине,
			что многие считают нормальным, брать чужую информацию не уведомляя автора
			(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
			Я не против распространения информации — только за. Только условие простое — извольте
			подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
			незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
			Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
 © lissyara 2006-10-24 08:47 MSK
			
 |   | 
		
		 | 
Комментарии пользователей [6 шт.]