RSS

Архив метки: SNMP

Сохранение конфигурации с оборудования Cisco (SNMP)


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

Регулярное сохранение конфигураций оборудования можно делать как минимум 2мя способами. Первый – это коннектиться телнетом или по ssh, неважно, и потом делать copy run tftp. Это можно оформить в виде скрипта. У этого способа 2 недостатка, во первых, передача в открытом виде пароля по сети, и, во вторых, это долгий процесс по времени если сравнивать со вторым способом. Второй способ это сохранять посредством SNMP. Вкратце Simple Network Management Protocol – это технология, призванная обеспечить управление и контроль за устройствами и приложениями в сети связи путём обмена управляющей информацией между агентами,
располагающимися на сетевых устройствах, и менеджерами, расположенными на станциях управления.

Инструментарий для работы с SNMP это пакет net-snmp в частности 2 команды из этого пакета это snmpwalk и snmpset. Первая позволяет просмотреть какие MIB поддерживает устройство, а вторая позволяет собственно управлять устройством. Также для сохранения конфигов нужен tftp сервер, есть возможность сохранять на ftp но, по-моему, проще на tftp. Платформу на которой всё это городить можно выбрать разную Windows, Linux…и т.д. Я использовал Linux ибо проще всё это прикручивать.

Собственно вот сами MIB которые и позволяют делать эти шаманские действия. Оговорюсь что у цисок в частности свитчей существует IOS (Internetwork Operation System) и COS (Catalyst Operation System) это для записи конфига на tftp IOS аналог в консоли copy running-config tftp вот линк с детальным описанием

snmpset -c $RW $IPtftp .1.3.6.1.4.1.9.2.1.55.192.168.1.1 octetstring routername-confg
это для записи конфига на tftp COS аналог в консоли write net вот линк с детальным описанием

snmpset -c $RW $IPtftp .1.3.6.1.4.1.9.5.1.5.1.0 octetstring 192.168.1.1 (Устанавливаем IP tftp)
snmpset -c $RW $IPtftp .1.3.6.1.4.1.9.5.1.5.2.0 octetstring routername-confg (Задаём имя конфигу)
snmpset -c $RW $IPtftp .1.3.6.1.4.1.9.5.1.5.4.0 integer 3 (Говорим циске писать на tftp)

Желательно на циске сделать данные настройки:
это для IOS

access-list 3 remark “SNMP RW access”
access-list 3 permit 192.168.1.1
snmp-server community secret RW 3

Это для COS

set ip permit 192.168.1.1 snmp
set ip permit enable snmp
set snmp community read-write secret

Собственно вот минимальный конфиг для сохранения на цисках у которых стоит ОС IOS:
#!/usr/bin/perl
use English;
$BACKUP_DIRS = “/root/backup-conf-cisco/”;
$BACKUP_SOURCE_DIR = “/tftpboot/”;
$tftpserver = ’192.168.1.1′;
$MIB = ‘.1.3.6.1.4.1.9.2.1.55′;
$RW = ‘secret’;
# файл host-ios должен быть в формате
# cisco-one::192.168.1.2
# cisco-two::192.168.1.3 и т.д.
$filename_host = ‘/root/script/host-ios’;
#Опрашиваем все циски по SNMP из файла host
open DATA, $filename_host or die “Невозможно открыть $filename_host: $!”;
while ()
{
chomp;
# теперь в $_ есть строка и мы ее разделяем на переменные
($name, $ip) = split(/::/);
system (“snmpset -v 2c -O qv -t 5 -c $RW $ip $MIB.$tftpserver s $name”);
}
close DATA;
system (“mkdir $BACKUP_DIRS/`date +%m.%Y` -p”);
system (“tar cvzf $BACKUP_DIRS/`date +%m.%Y`/configs-`date
+%b.%d.%Y`.tar.gz $BACKUP_SOURCE_DIR >> /dev/null && rm
-f $BACKUP_SOURCE_DIR/*”);

Собственно вот минимальный конфиг для сохранения на цисках у которых стоит ОС СOS:
#!/usr/bin/perl
use English;
$tftpserver = ’192.168.1.1′;
$RW = ‘secret’;
# файл host-cos должен быть в формате
# cisco-one::192.168.1.2
# cisco-two::192.168.1.3 и т.д.
$filename = ‘/root/script/host-cos’;
open DATA, $filename or die “Невозможно открыть $filename: $!”;
while ()
{
chomp;
# теперь в $_ есть строка и мы ее разделяем на переменные
($name, $ip) = split(/::/);
# устанавливаем на циске IP tftp сервера
system (“snmpset -v 2c -O qv -t 5 -c $RW $ip .1.3.6.1.4.1.9.5.1.5.1.0 s 172.25.15.8″);
# устанавливаем имя под которым будет сохраняться конфиг
system (“snmpset -v 2c -O qv -t 5 -c $RW $ip .1.3.6.1.4.1.9.5.1.5.2.0 s $name”);
# ну а тут говорим циске сгрузить конфиг на tftp
system (“snmpset -v 2c -O qv -t 5 -c $RW $ip .1.3.6.1.4.1.9.5.1.5.4.0 i 3 “);
}
close DATA;

для сохранения конфигов с PIX я знаю только один вариант в виду того,
что они не поддерживают типы сообщений SNMP Set. Остается только первый
вариант это сохранение посредством телнета, вот сам скрипт:
#!/usr/bin/perl
use English;
# файл host-pix должен быть в формате
# cisco-one::192.168.1.2
# cisco-two::192.168.1.3 и т.д.
$filename = ‘/root/script/host-pix’;
$DIR=”/root/script/”;
# пользователь в моём случае аутентификация через tacasc+
$USER=”user”;
$PASS_USER=”passuser”;
# пароль на ENABLE
$PASS_ENABLE=”passenable”;
system(“rm -f ./temp.sh”);
open DATA, $filename or die “Невозможно открыть $filename: $!”;
while ()
{
chomp;
# теперь в $_ есть строка и мы ее разделяем на переменные
($name, $ip) = split(/::/);
system(“cd $DIR”);
system(“echo ‘#!/usr/bin/expect -f’ >> temp.sh”);
system(“echo spawn telnet $ip >> temp.sh”);
system(“echo expect ‘Username: ‘ >> temp.sh”);
system(“echo send \”$USER\\r\” >> temp.sh”);
system(“echo expect ‘Password: ‘ >> temp.sh”);
system(“echo send \”$PASS_USER\\r\” >> temp.sh”);
system(“echo sleep 3 >> temp.sh”);
system(“echo send \”enable\\r\” >> temp.sh”);
system(“echo expect ‘Password: ‘ >> temp.sh”);
system(“echo send \”$PASS_ENABLE\\r\” >> temp.sh”);
system(“echo sleep 10 >> temp.sh”);
system(“echo send ‘\”write net 172.25.15.8:config-$name\\r\”‘ >> temp.sh”);
system(“echo sleep 15 >> temp.sh”);
system(“echo send \”exit\\r\” >> temp.sh”);
system(“chmod 755 ./temp.sh”);
system(“./temp.sh”);
system(“rm -f ./temp.sh”);
}
close DATA;

оригинал: http://webdock.nnm.ru/sohranenie_konfigov_s_cisok

Реклама
 

Метки: , ,

База управления информацией (mib).


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

 

Метки: ,

Мониторинг сети по протоколу SNMP.


Довольно часто встречается ситуация, в которой системные администраторы, а иногда и сами руководители ИТ-служб не знают и не подозревают о существовании такого необходимомого инструмента в администрировании локальной сети, как протокол SNMP. SNMP – расшифровывается, как простой протокол управления сетью. Что может дать его использование при администрировании сети: получение информации о “здоровье” локальной сети, СКС, активного сетевого оборудования, а также.. и отдельных хостов (компьютеров). Существует множество графических оболочек, предназначенных для работы с данным протоколом, а я же хочу лишь обозначить путь, по которому необходимо следовать, поэтому выбор гуев оставляю за вами. Как правило такие графические оболочки уже имеют набор стандартных счетчиков для данного протокола, вам остается лишь настроить свое активное сетевое оборудование на разрешение использования протокола SNMP, описать имена используемых сообществ и настроить безопасность для данного протокола, если она поддерживается данным устройством, а также указать хост управления сетью, с которого разрешены подключения по протоколу SNMP. На хосте управления сетью с помощью гуя рекомендую также сделать импорт так называемых информационных баз (mib), которые предназначены конкретно для вашего устройства, это позволит осуществлять расширенный мониторинг, а не только по базовым показателям, доступными по-умолчанию в гуе.
Итак, какую информацию покажет вывод статистики по заданному управляемому сетевому устройству, собранной по протоколу SNMP (в общих чертах):
— объем и количество пакетов транзитного трафика по отдельным портам активного оборудования, как общее, так и в заданом временнном инервале;
— объем и количество пакетов уникаст, аникаст и броадкаст по отдельным портам активного оборудования, как общее, так и в заданом временнном инервале;
— изменение загрузки пропускной способности портов коммутатора в заданном временном интервале, с их максимальными и минимальными значениями;
— возможно температуру аппаратных компонентов;
— общее количество потерянных пакетов по отдельным портам активного оборудования, как общее, так и в заданном временном интервале;
— общее количество ошибок переданых/полученных пакетов по отдельным портам активного оборудования, как общее, так и в заданном временном интервале;
— текущее состояние портов коммутатора (включен/выключен), а также статистику стостояний портов коммутатора в заданном временном интервале;
— показывает количество и значения MAC-адресов и IP-адресов на данном порту коммутатора, как общую статистику, так и в заданном временном интервале (не у всех показываются пары MAC-IP, зачастую только MAC);
— и т. д.
В добавок ко всему этому имеется возможность отобразить визульно всю локальную сеть в виде графа, будут отрисованы все коммутаторы, все компьютеры и другое актиное оборудование, подключенное к управляемым коммутаторам. А также имеется возможность отслеживания изменения сети в режиме реального времени (кто, во сколько подключился к сети, отключился от сети, к какому порту коммутатора было инициировано было данное подключение).
Такой богатый функционал и позволяет отслеживать здоровье в локальной сети с ипользованием протокола SNMP и управляемого сетевого оборудования. Как я сказал, клиентами хоста управления могут выступать и обыкновенные рабочие станции, если задействовать и настроить на них поддержку SNMP клиента.
Так, например, наличие большого числа потерянных пакетов на каком-то одном порту коммутатора будет однозначно говорить о проблемах в цепочке сетвевая карта-кабель-порт коммутатора. И будет являться основанием для проверки данной цепочки. Или же, большое количество броадкаст трафика на порту коммутатора может говорить о наличии сетевых проблем у компьютера, подключенного на данный порт (это может оказаться и вирусом). Наличие нескольких MAC-адресов на каком-либо порту коммутатора, при наличии только одного хоста, подключенного к данному порту может говорить о том, что данный сотрудлник занимеатся либо флудингом, либо пытается у кого-то отобрать целевой трафик, например, получить доступ к сети интернет, если прокся разграничивает доступ только по MAC-адресам, а у сотрудника по каким-либо причинам имеются административные права на его компьютер.

Рекомендую под управление активным сетевым оборудованием выделить отдельную VLAN, чтобы никто не смог осуществить атаку на протокол SNMP. И отдельную рабочую станцию. Я бы назвал это обязательным условием.

Хотя некоторые админы и страшаться таких слов, как VLAN, Bridge, Trunk. 😉 Не стоит бояться, уверен, что вам это доставит удовольствие и вы найдете этому достойное применение в организации сети и в своей повседневной работе.

Хочу пожелать вам успехов в использовании данного очень полезного протокола, позволяющего оперативно реагировать на проблемы с локальной сетью и СКС. Удачи! 😉

 

Метки: , ,