управление на мрежова инфраструктура за SNMP протокол

Standard SNMP (Simple Network Managment Protocol) е специално проектиран за диагностика, управлението и мониторинга на всички устройства и софтуерни компоненти на разположение на мрежовия интерфейс. Тъй като SNMP се поддържа от почти всички устройства в мрежата: рутери, суичове сървъри, работни станции, принтери и т.н. Но като част от тази поредица от статии ще разгледаме само до аспектите на ползване SNMP в реални проекти. Поради това предложената материал е по-фокусирани върху практическо приложение, а не теоретични изследвания.







SNMP архитектура

Първо трябва да се опише по-точно в класа на устройства за поддържане на взаимодействие SNMP. Тъй като SNMP транспорт отива над UDP / IP протокол, този протокол може да се използва за работа с домакините на мрежата, които са достъпни за транспортни данни протоколи.

В модела на управление SNMP винаги са три компонента:

  1. контролирано устройство (хардуер или софтуер);
  2. SNMP агент (който в други мрежови системи, наречена сървър) - единица софтуер за управление на мрежата, с контролирано устройство и след като контролна информация за устройството; агент е отговорен за трансфера на тази информация в SNMP-специфичен формат и обратно;
  3. мениджър (това, което в други мрежови системи, наречена на клиента) - софтуер, за да поиска информация от агент или устройство за управление чрез агент.

Агентът получава искания на UDP-порт, по подразбиране е 161-ти порт, но за по-голяма сигурност на предприемача да промените номера на порта. Управителят може да изпраща искания за всяка налична порт на порт агент и реакцията на агент ще бъде изпратен обратно в пристанището на управление. По подразбиране, мениджърът може също да получава уведомления от асинхронни агент (Капани и InformRequests) на порт 162.

от SNMP самата не определя каква информация и променливи трябва да бъде предложена от успя система. Вместо това, SNMP използва разтегателен модел, в които наличната информация се определя като информация управление на бази данни (MIB - управление на информационна база). База MIB на управляваните данни описание на структурата, като се използва йерархична пространство от имена, съдържащи идентификатори на обекти (Object ID - OID).

Всяка OID определя променлива, която може да се разглежда или инсталирани чрез SNMP. В устройството могат да се определят няколко SNMP-обекти. Обекти, свързани с конкретен проект / устройство са описани в така наречените MIB-файлове от определен формат, които в последствие се превърнали в неразделна част от общата база данни MIB. Тъй като променлива обекта и уведомлението могат да бъдат използвани. Променливи могат да бъдат два вида: скаларна (един) стойност и таблицата с няколко стойности. Стойностите на променливи могат да бъдат прочетени или записани на управителя на искане агент.

Скаларна променлива се характеризира със своята специфична OID (можете да го разгледа като уникално име на променлива), вид и стойност. Например, последователността .1.3.6.1.4.1.9876.11.5 - е OID на скаларна (един) променлива. Променливите могат да принадлежат към различни типове, например, цяло число. DisplayString. IPADDRESS. с всеки тип дефинира набор от стойности, разрешени за променливата. Също променливите ограничени тип могат да бъдат определени: INTEGER (1..30) или скаларни променливи структурен тип (последователност).

В таблица SNMP - масив от динамичен измерение, съдържащ същия тип на скаларни променливи, с общ OID. Всеки елемент в таблицата е свързан с уникален OID, OID формира от масата. Например, OID маса променлива - .1.3.6.1.4.1.9876.11.15. и са включени в тази таблица скаларни променливи (елементите на таблицата) ще имат OID: .1.3.6.1.4.1.9876.11.15.1. .1.3.6.1.4.1.9876.11.15.2. .1.3.6.1.4.1.9876.11.15.3. т.е. Таблица 3 съдържа елемент.

Агентът изпраща уведомление за управление на асинхронно, така че инициативата за изпращане на уведомление идва от агент, а не програма за управление. Известията могат да бъдат от 2 вида: Капани и InformRequests. Тъй като SNMP се основава на UDP протокол не е гаранция за доставка на съобщения, изпратени от агент, като изпрати уведомление Trap. Той знае, че Ви очаква всеки, който я получава. Уведомление InformRequest е въведена по-късно и предоставя доказателство за доставка, за която получателят изпраща обратно съобщение, повтаряйки цялата информация, от InfromRequest (потвърждение).

Всички множество OID-а е единична дърво - например, .3.2.7: .. както е показано на фигура 1.

Фигура 1. Схематично OID формация в SNMP протокол

управление на мрежова инфраструктура за SNMP протокол






На свой ред, идентификаторите в най-високата (корен) на дървото са определени в MIB-файлове в директорията / ЮЕсАр / акции / SNMP / МИБС. По подразбиране, търсене OID и SNMP знака синоними комунални услуги да използват тази директория и директорията на текущия потребител $ HOME / .snmp / МИБС (ред и списък на директории можете да пренебрегнете опциите за комунални SNMP):

Този изход осигурява определения основната система OID, и подкрепа за обектите, описани в стандарт SNMP агент snmpd.

Допълнителни MIB комплекти са представени в директорията / ЮЕсАр / акции / МИБС. но по подразбиране, тези директории не се използват в процеса на търсене на:

По време на разработването на протокола SNMP е претърпял няколко промени в версия на протокола, и в момента няколко версии се използват едновременно:

Протоколи на различни версии не са съвместими един с друг, но със SNMP агенти могат да поддържат всички варианти на протокола, мениджърите трябва да посочат версия на протокола, използван в искането (-v опцията в комунални услуги SNMP * или софтуерни повиквания).

Важна забележка! Моля, имайте предвид, че неконтролираното използване на SNMP съпроводено със значителни рискове. Тъй като в случай на компрометиране на сигурността скъпо оборудване с помощта на SNMP-команди, изпратени от един нападател, той може да бъде деактивиран, или дори хора с увреждания.

Инсталационни пакети за употреба SNMP

В тази статия, тъй като планираната система да се използва "чиста" операционна система Linux, монтаж, дистрибуция Fedora 17 RFR, в които няма подразбиране SNMP. Ето защо, ние стъпка по стъпка, следвайте инструменти за монтаж, необходими за използването на SNMP. Уверете се, че системата има (няма) пакети, свързани с SNMP, можете да използвате следната команда:

Сега можете да стъпка по стъпка да инсталирате SNMP инструменти, като се започне с основата - демоните, които реализират функциите на агент:

По този начин в директорията / ИЪ / systemd / система / появи скрипт, който да управлява услугата SNMP (агент snmpd) с помощта на система за управление на systemd обща услуга. В / и т.н. конфигурационни файлове се появяват, за да контролират демоните - snmpd.conf и snmptrapd.conf - основните инструменти, с които да работи. Тази функционалност е достатъчно за прости задачи - даде възможност на SNMP агент в тази мрежа домакин, а често са ограничени до конфигурацията на SNMP и решаването на този проблем.

Сега можете да започнете на SNMP агенти и да си взаимодействат с тях на мрежовите протоколи (UDP портове 161 и 162). Но ние все още не са установени инструментите, необходими за това, най-малко snmpwalk програма, за да се диагностицира по подразбиране SNMP система:

Преди да се пристъпи към инсталирането на инструменти, за да използват SNMP, трябва да бъде най-малко грубо разберат предназначението им, както се предлага много богат набор от инструменти за SNMP:

Моля, имайте предвид, че за SNMP-пакет използва лиценза BSD, а не на GPL, за по-голямата част от Linux пакети. От така получения списък на комунални услуги трябва да обърнат внимание на:

  • Нетната-SNMP-UTILS - това е набор от инструменти, които трябва точно сега;
  • Нетната-SNMP-раз - инструменти за използване софтуер, SNMP, които се използват в следващата статия;
  • Нетната-SNMP-GUI - графични инструменти за работа с данните MIB;
  • Нетната-SNMP-sysvinit - инструменти за по старата система за обслужване инициализация, която може да бъде полезна и в други дистрибуции (например Debian или Ubuntu);

Сега, след като е избран пакетите, които искате, можете да продължите да инсталирате комунални услуги за SNMP:

Повечето от тези комунални услуги изпълняват различни запитвания към агента SNMP (snmpd), а след това има един прост мениджъри конзола. snmpget. snmpgetnext. snmpwalk. Използвайте тези услуги може да бъде само тичане демон SNMP. Но има инструменти, които не се нуждаят от начало snmpd. например, snmptranslate. който статично превежда (диагнози) OID-ите са определени в MIB-файлове в различни форми: числови, символни, йерархията на дърво.

И накрая, можете да опитате комплекта инструмент, преди да го използвате по-рано, за да инсталирате агенти (демон сървъра услуга) snmpd. Обикновено, агентът работи в среда на Linux, а след това ние ще направим така, но за първоначално запознаване е по-добре да го стартирате в режим на отстраняване на грешки, когато не премине в режим демон, и показва информация за отстраняване на грешки на терминала. Моля, имайте предвид, че snmpd се извършва от името на корен:

Жалба до SNMP

Сега можете да проверите инструментите за SNMP, като се започне със стандартната система OID. В SNMPv2c (втора версия на SNMP, базирани в общността, общност) -с опция в комунални услуги SNMP * определя името на общността на членовете на който в конфигурацията на snmpd.conf са обособени файловите права:

Така запитва snmpd. но изглежда статичен диагноза на една от поддървета OID-S и неговата цифров представяне:

По този начин можете да получите пълен спецификация (вид, метод за достъп) за същия сайт:

Пакети за обработка на MIB-файлове

За да се създаде набор от OID-ите в развитието на проекта, ще трябва да си приготвите MIB файлове, в които следва да бъдат определени и следната информация:

  • поддърво йерархия собствен OID в MIB-базирани данни (в дървото);
  • поддърво структура;
  • OID поддървото възли;
  • видовете обекти с данни в поддървото.

По принцип от създаването на MIB файлове могат да се премахнат, тъй като само символични имена на дървета възли, необходими за човешкото възприятие, а ако вече са известни пълен цифров запис OID параметър на интереси, можете да напишете код за агент, който да работи с тази OID. Въпреки това, на практика най-често се използва различен подход:

  1. в съответствие със строг синтаксиса на подготовката на един или повече MIB, свързани с файлове;
  2. направи автоматична проверка на синтаксиса и, ако е необходимо, да редактирате MIB-файлове, използвани за тази цел и snmptranslate smilint полезност (намира се в libsmi.i686 пакет., които ние все още не сте инсталирали).
  3. MIB-файлове се намират в една от директориите, където те ще бъдат предоставени на разположение на търсенията подсистемата SNMP, извършвани от стандартните маршрути.
  4. след това се нарича автоматични генератори код, които са описани в MIB-експлоатирай файлове OID поколение код шаблони за използване с тях; Има много трети страни пакети за генериране на код в C, C ++, Java е един от тези генератори за C език - mib2c включени в пакета за нетната-SNMP-Perl.
  5. Получени кодови шаблони, включени в проекта за кодекс, а след това кода на шаблона се пълни с конкретната софтуер код.

Остава само да инсталирате липсващите пакети libsmi.i686 и мрежесто-SNMP-Perl:

заключение

Тази статия представя кратък преглед на архитектурата и възможностите на SNMP. Ние също приключи инсталирането на пакети, необходими да развиват собствената си SNMP управление на Linux.

В следващата статия ще разгледаме един конкретен пример за управление на мрежата чрез SNMP, като част от собствения си проект.