シナプス技術者ブログ

シナプスの技術者公式ブログ。インターネットで、鹿児島の毎日を笑顔にします。

snmptrapd で SNMPトラップを受信できない?!

技術部ネットワーク課の二之宮です。

はじめに

サービス運用の効率化を目的とした監視ソフトの入れ替えを検討するにあたり、Zabbix を試すことになりました。
その中で、SNMPトラップの受信テストを行いました。
これまで使用してきた商用ソフトとは異なり、Zabbix では、SNMPトラップを受信し、Zabbix に渡す仕組みを、別で準備する必要があります。
まずは、CentOS で SNMPトラップを受信する最低限の環境を構築し、テストしました。
が、外部からの SNMPトラップを受信できませんでした。

やったこと

環境

項目 内容
ディストリビューション CentOS Linux release 7.7.1908 (Core)
snmptrapd Version 5.7.2

必要なパッケージをインストール

# yum install net-snmp-perl perl-Sys-Syslog

サービスを起動

# systemctl start snmptrapd

ローカルからの SNMPトラップ受信テスト

ローカルから SNMPトラップを送信

# snmptrap -v 2c -c public 127.0.0.1 '' .1.3.6.1.4.1.8072.9999 .1.3.6.1.4.1.8072.9999 s 'TEST'

SNMPトラップの受信を確認

# tail -f /var/log/messages
Oct 20 12:20:48 dev20 snmptrapd[16484]: 2020-10-20 12:20:48 localhost [UDP: [127.0.0.1]:47069->[127.0.0.1]:162]:#012.1.3.6.1.2.1.1.3.0 = Timeticks: (2996878906) 346 days, 20:39:49.06#011.1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.4.1.8072.9999#011.1.3.6.1.4.1.8072.9999 = STRING: "TEST"

ローカルからの SNMPトラップは受信できました。

外部からの SNMPトラップ受信テスト

外部から SNMPトラップを送信

# snmptrap -v 2c -c public 192.168.174.20 '' .1.3.6.1.4.1.8072.9999 .1.3.6.1.4.1.8072.9999 s 'TEST'

SNMPトラップの受信を確認

# tail -f /var/log/messages
≪ログ無し≫

外部からの SNMPトラップは受信できていません。

やってなかったこと

TCP Wrapper で、全ての接続を不許可にしている状態で、SNMPトラップ送信元からの snmptrapd へのアクセスを許可していませんでした。

/etc/hosts.deny の設定確認

# cat /etc/hosts.deny
ALL: ALL

全てのホストからの接続を許可していない状態。

snmptrapd へのアクセスを許可

トラップ送信元からの snmptrapd へのアクセスを許可する。

# vi /etc/hosts.allow

追加した設定

snmptrapd: 192.168.182.144

外部からの Trap 受信テスト

外部サーバーから SNMPトラップを送信

# snmptrap -v 2c -c public 192.168.174.20 '' .1.3.6.1.4.1.8072.9999 .1.3.6.1.4.1.8072.9999 s 'TEST'

SNMPトラップの受信を確認

# tail -f /var/log/messages
Oct 20 12:22:20 dev20 snmptrapd[16484]: 2020-10-20 12:22:20 tes144.synapse.ne.jp [UDP: [192.168.182.144]:52376->[192.168.174.20]:162]:#012.1.3.6.1.2.1.1.3.0 = Timeticks: (2471855047) 286 days, 2:15:50.47#011.1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.4.1.8072.9999#011.1.3.6.1.4.1.8072.9999 = STRING: "TEST"

外部からの SNMPトラップを受信できました!

おわりに

気づけば簡単なことなのですが、忘れがちなので、気を付けたいところです。