Руководство для начинающих по установке, использованию и настройке Net-SNMP. Часть 1.
Простой протокол управления сетью (SNMP) — это протокол, который широко используется для мониторинга сетевых устройств, включая маршрутизаторы, коммутаторы, серверы и т. д., на предмет условий, требующих внимания администратора.
Net-SNMP — это набор инструментов и библиотек для использования и развертывания протокола SNMP. В этой статье мы обсудим, как загрузить, установить и начать использовать пакет Net-SNMP.
Примечание. Ожидается, что читатели имеют хотя бы базовые знания о SNMP (включая OID и MIB), а также о том, как он работает.
Загрузка и установка
Вы можете скачать последнюю версию пакета со страницы Sourceforge. Например, я скачал версию 5.7.3 пакета с сайта хостинга проекта с помощью следующей команды:
wget http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.3/net-snmp-5.7.3.tar.gz
Обратите внимание, что пакет Net-SNMP зависит от пакета разработки Perl, который вы можете легко установить с помощью следующей команды:
sudo apt-get install libperl-dev
После этого распакуйте загруженный пакет с помощью следующей команды:
tar -xvzf net-snmp-5.7.3.tar.gz
Затем войдите в основной каталог и настройте пакет:
cd net-snmp-5.7.3/ sudo ./configure
Это вызовет ряд вопросов, которые помогут пакету Net-SNMP определить, как должны работать приложения, связанные с SNMP. Например, вас спросят, какую версию SNMP (1, 2c или 3) использовать по умолчанию:
К кому обращаться:
Расположение системы:
И место для хранения файла журнала и постоянной информации.
Вы можете либо ввести запрошенные значения, либо продолжать нажимать клавишу Enter, чтобы сценарий конфигурации выбрал значения по умолчанию. После этого скрипт конфигурации продолжит свою работу, и если все пойдет хорошо, вы должны получить что-то похожее на следующее:
--------------------------------------------------------- Net-SNMP configuration summary: --------------------------------------------------------- SNMP Versions Supported: 1 2c 3 Building for: linux Net-SNMP Version: 5.7.3 Network transport support: Callback Unix Alias TCP UDP IPv4Base SocketBase TCPBase UDPIPv4Base UDPBase SNMPv3 Security Modules: usm Agent MIB code: default_modules => snmpv3mibs mibII ucd_snmp notification notification-log-mib target agent_mibs agentx disman/event disman/schedule utilities host MYSQL Trap Logging: unavailable Embedded Perl support: enabled SNMP Perl modules: building -- embeddable SNMP Python modules: disabled Crypto support from: internal Authentication support: MD5 SHA1 Encryption support: DES AES Local DNSSEC validation: disabled ---------------------------------------------------------
Это означает, что часть настройки прошла успешно. Затем скомпилируйте и установите пакет, используя следующие две команды:
sudo make sudo make install
Теперь выполните следующую команду, чтобы загрузить и установить файлы базы управляющей информации (MIB) в вашей системе:
sudo apt-get install snmp-mibs-downloader
Затем загрузите и установите агент SNMP — процесс-демон, который выполняет функции управления сетью по указанию менеджера, который сам по себе является центральной системой, используемой для мониторинга трафика, наблюдаемого различными агентами SNMP. Это можно сделать с помощью следующей команды:
sudo apt-get install snmpd
Теперь запустите процесс демона, используя следующую команду:
/etc/init.d/snmpd start
Это должно запустить службу управления сетью в вашей системе.
Основное использование
Чтобы проверить правильность настройки пакета, используйте команду snmpget
для проверки работоспособности системы:
snmpget -v 2c -c public 127.0.0.1 SNMPv2-MIB::sysUpTime.0
Если вы не знаете, snmpget
— это приложение, которое использует запрос SNMP GET для запроса информации о сетевом объекте. В моем компьютере с Ubuntu команда выдала следующий результат:
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (26770) 0:04:27.70
В выводе, показанном выше, последняя часть — это время безотказной работы системы, указывающее, что система работала примерно 4 минуты 27 секунд. Здесь стоит упомянуть, что это время рассчитывается с момента запуска демона snmpd
.
Аналогичным образом вы можете запустить следующую команду snmpwalk
, чтобы отобразить значения, соответствующие системным переменным, присутствующим в дереве MIB «.iso.org.dod.internet.mgmt.mib-2.system».
$ snmpwalk -v2c -c public localhost system SNMPv2-MIB::sysDescr.0 = STRING: Linux himanshu-desktop 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (47647) 0:07:56.47 SNMPv2-MIB::sysContact.0 = STRING: Me <me> SNMPv2-MIB::sysName.0 = STRING: himanshu-desktop ... ... ...</me>
Для тех, кто не знает: команда snmpwalk
предназначена для получения нескольких OID и значений от удаленного агента.
Заключение
Как вы могли заметить, цель этой статьи — дать вам представление о том, как правильно загрузить и установить пакет Net-SNMP. Во второй части мы рассмотрим все основы, связанные с настройкой Net-SNMP.