Настройки клиента Net-SNMP
Подключение MIB-файлов
Для установки в систему стандартных MIB-файлов нужно установить пакет snmp-mibs-downloader:
# apt-get install snmp-mibs-downloader
Этот пакет скачивает и устанавливает стандартные MIB-файлы в каталог /var/lib/snmp/mibs.
Устанавливается их очень много и во многих из них есть синтаксические ошибки, предупреждения о наличии которых выводятся при запуске из командной строки любой утилиты snmp. Чтобы не видеть эти предупреждения, проще всего подключить только нужные MIB-файлы.
Например, для подключения MIB-файла IF-MIB, нужно вписать в файл /etc/snmp/snmp.conf строчку следующего вида:
mibs +IF-MIB
Если файлы расположены в нестандартном каталоге, то перед подключением MIB-файла нужно указать дополнительные каталоги для поиска MIB-файлов:
mibdirs +/var/lib/mibs/
Отключение проверки диапазона
На коммутаторах Huawei встречаются OID'ы, в октетах которых значения выходят за пределы допустимых значений для чисел со знаком. Клиент SNMP отказывается запрашивать такие OID'ы. Чтобы отключить проверки значений октетов, нужно вписать в файл /etc/snmp/snmp.conf опцию:
noRangeCheck yes
Указание исходного IP-адреса
Если в системе имеется несколько IP-адресов, то ядро операционной системы выбирает для подключения тот IP-адрес, через который будут посылаться исходящие пакеты. Обычно это не вызывает проблем.
Но если в системе настроено резервирование каналов связи с получением маршрутов от соседних маршрутизаторов по протоколу BGP, то исходный IP-адрес будет зависеть от того, какой из каналов сейчас активен. Это может вызывать проблемы, если на оборудовании настроена фильтрация входящих SNMP-запросов по IP-адресу отправителя.
Чтобы отправлять SNMP-запросы с одного и того же строго определённого IP-адреса, можно вписать в файл конфигурации /etc/snmp/snmp.conf опцию с указанием IP-адреса:
clientaddr 169.254.253.2
Настройки по умолчанию
Настройки библиотеки net-snmp по умолчанию находятся в файле /etc/snmp/snmp.conf, а настройки по умолчанию для взаимодействия с отдельными узлами сети можно указывать в файлах /etc/snmp/hosts/HOSTNAME.conf
Например:
defVersion 2c
defCommunity community
timeout 1
retries 3
Или:
noRangeCheck yes
defVersion 3
defSecurityName username
defSecurityLevel authPriv
defAuthType SHA
defAuthPassphrase security-passphrase
defPrivType AES
defPrivPassphrase private-passphrase
timeout 1
retries 3
Таким образом можно избавиться от необходимости явно указывать настройки SNMP в утилитах командной строки snmpget, snmpwalk и т.д.