Поиск по сайту:

Руководство для начинающих по установке, использованию и настройке Net-SNMP — Часть 2

В первой части этой серии мы обсудили шаги, которые необходимо выполнить, чтобы загрузить, установить и запустить инструмент Net-SNMP.

В этой части мы сосредоточимся на аспекте настройки, объяснив, как можно настроить агент Net-SNMP, а также настроить аутентификацию и шифрование сообщений, передаваемых между ним и клиентом.

Настройка агента Net-SNMP — snmpd

Предполагая, что пакет Net-SNMP установлен в вашей системе и работает, выполните следующую команду snmpwalk:

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: (6481067) 18:00:10.67
SNMPv2-MIB::sysContact.0 = STRING: Me <me>
SNMPv2-MIB::sysName.0 = STRING: himanshu-desktop
SNMPv2-MIB::sysLocation.0 = STRING: Sitting on the Dock of the Bay
SNMPv2-MIB::sysServices.0 = INTEGER: 72
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (22) 0:00:00.22
...
...
...</me>

Если вы заметили, этот вывод содержит значения, соответствующие системным переменным, присутствующим в дереве MIB «.iso.org.dod.internet.mgmt.mib-2.system».

Теперь предположим, что вы хотите настроить такую информацию, как «sysLocation» и «sysContact». Это можно сделать, отредактировав соответствующие значения в /etc/snmp/snmpd.conf, файле, который можно использовать для настройки агента Net-SNMP («snmpd»).

Как вы можете видеть на скриншоте выше, файл содержит множество записей, некоторые из которых намеренно закомментированы и их необходимо явно активировать. В этом файле я изменил значение параметра «sysLocation» с «Сидя на причале залива» на «Центр обработки данных, ряд 2, стойка 1».

Чтобы изменения вступили в силу, просто перезапустите демон Net-SNMP с помощью следующей команды:

/etc/init.d/snmpd restart

а затем снова запустите команду snmpwalk:

$ 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: (470) 0:00:04.70
SNMPv2-MIB::sysContact.0 = STRING: Me <me>;
SNMPv2-MIB::sysName.0 = STRING: himanshu-desktop
SNMPv2-MIB::sysLocation.0 = STRING: Datacenter, Row 2, Rack 1
SNMPv2-MIB::sysServices.0 = INTEGER: 72
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
</me>

Итак, как видите, значение параметра «sysLocation» успешно изменено. Аналогичным образом вы можете настроить значения других параметров, присутствующих в этом файле, а также добавить параметры, которых там еще нет.

Примечание. Вы также можете использовать утилиту snmpconf Net-SNMP для создания и изменения файлов конфигурации SNMP. Чтобы узнать больше о команде, прочитайте ее справочную страницу здесь.

Настройте аутентификацию и шифрование

Клиентские утилиты Net-SNMP, такие как snmpget, snmpwalk и другие, а также демон (snmpd) поддерживают все три версии протокола SNMP: v1, v2c, и v3. Хотя первые два поддерживают только аутентификацию, версия 3 также поддерживает шифрование. Итак, в этом разделе мы обсудим, как настроить SNMPv3.

В качестве первого шага остановите службу демона snmpd, используя следующую команду:

/etc/init.d/snmpd stop

затем откройте файл /var/lib/snmp/snmpd.conf и добавьте следующую строку внизу:

createUser USERNAME SHA "AUTHENTICATION-PASSWORD" AES "ENCRYPTION-PASSWORD"

Команда createUser создает пользователя, специфичного для SNMPv3, с целью аутентификации и шифрования сообщений SNMPV3.

В приведенной выше команде замените «ПАРОЛЬ АУТЕНТИФИКАЦИИ» и «ПАРОЛЬ ШИФРОВАНИЯ» фактическими паролями, которые вы хотите сохранить. Также стоит отметить, что если вы вообще не укажете «ПАРОЛЬ-ШИФРОВАНИЕ», Net-SNMP будет использовать «ПАРОЛЬ АУТЕНТИФИКАЦИИ» в качестве «ПАРОЛЬ-ШИФРОВАНИЯ».

Теперь откройте etc/snmp/snmpd.conf и добавьте следующую строку внизу:

rouser USERNAME priv

Эта строка гарантирует, что пользователь, которого мы создали ранее, имеет разрешения только на чтение и доступ к нему возможен только с помощью AuthPriv, режима Net-SNMP, который обеспечивает связь с аутентификацией, а также конфиденциальность. Если вы хотите, чтобы у пользователя также были права на запись, в этом случае просто используйте rwuser (вместо rouser).

Теперь снова запустите службу демона Net-SNMP, используя следующую команду:

/etc/init.d/snmpd start

а затем выполните следующую команду для проверки SNMPV3:

snmpwalk -v 3 -l authPriv -a sha -A [AUTHENTICATION-PASSWORD] -x AES -X [ENCRYPTION-PASSWORD] -u [USERNAME] localhost system

Если SNMPV3 настроен успешно, выходные данные должны быть такими же, как те, которые указаны в начале этой статьи.

Примечание:
1. Обязательно замените [ПАРОЛЬ АУТЕНТИФИКАЦИИ], [ПАРОЛЬ ШИФРОВАНИЯ] и [ИМЯ ПОЛЬЗОВАТЕЛЯ] соответствующими значениями.

2. Аутентификация SHA и поддержка шифрования DES/AES доступны только в том случае, если у вас установлен OpenSSL или если вы скомпилировали его с использованием --with-openssl=internal.

Заключение

Net-SNMP предоставляет множество вариантов конфигурации, и то, что мы здесь обсудили, — это лишь основы, хотя для начала их должно быть достаточно. Для получения дополнительной информации перейдите на страницу руководства snmpd.conf.

Статьи по данной тематике