Site icon IT Blog

Настройка SNMP Traps в Linux

Приведу пример установки SNMP и ловли SNMP traps в Ubuntu Server.

Выполним установку:

sudo apt-get install snmpd snmptt snmptrapd libnet-ip-perl

В конфигурационном файле /etc/default/snmpd изменяем значение параметра TRAPDRUN с no на yes и добавим -On в TRAPDOPTS=:

TRAPDRUN=yes
TRAPDOPTS='-On -Lsd -p /var/run/snmptrapd.pid'

В конфигурационном файле /etc/snmp/snmptrapd.conf укажем комьюнити и что трапы необходимо передавать на snmptt:

authCommunity log,execute,net COMMUNITY
traphandle default snmptthandler

В конфигурационном файле /etc/snmp/snmptt.ini укажем параметры:

mode = daemon
net_snmp_perl_enable = 1
mibs_environment = ALL
unknown_trap_log_enable = 1

Перезапустим snmpd и snmptt чтобы применить изменения:

sudo /etc/init.d/snmpd restart
sudo /etc/init.d/snmptt restart

Проверим запустились ли snmpd(udp 161) и snmptrapd(udp 162):

netstat -tulanp|grep snmp
netstat -tulanp|grep 162

Можно временно остановить snmpd и запустить его вручную чтобы посмотреть в реальном времени какие SNMP traps приходят на сервер:

sudo service snmpd stop
sudo snmptrapd -f -L o

Если в системе используется iptables, то разрешим указанной ниже командой прием udp пакетов на порт 162 и сохраним добавленное правило чтобы оно не сбросилось после перезапуска системы:

sudo iptables -A INPUT -p udp -m udp -s 192.168.0.0/24 --dport 162 -j ACCEPT
sudo service iptables save

Если все правильно настроили, то SNMP traps должны записываться в директории /var/log/snmptt/.

UPD: В Ubuntu 22.04 пришлось еще изменить права на директорию и перезагрузить snmptrapd:

sudo chmod 777 /var/spool/snmptt
sudo /etc/init.d/snmpd restart
sudo /etc/init.d/snmptt restart
sudo /etc/init.d/snmptrapd restart
sudo /etc/init.d/snmptrapd status

А также я закомментировал daemon_uid:

sudo nano /etc/snmp/snmptt.ini
#daemon_uid = snmptt

Смотрите также мою статью:
Настройка SNMP Traps на коммутаторах D-Link

Exit mobile version