snmpとsnmptrapをインターネット越しで利用するためのメモ。
自宅がipv6plusになっているため、ipv4で開放できるポートが限られている。当然well-knownポートは開放不可。標準のudp161,udp162以外を使うipv6だったらポートは全て開放できる。ipv6(udp6)を使う
いつのまにか、VPSでipv6が使えなくなっていたので、諦める。
snmp,snmptrapをipv6で使う
snmpd(agent側)
snmpdの設定例。
/etc/snmp/snmpd.conf
# ipv4 -- all / ipv6 -- all, if restrict on localhost [::1]
agentAddress udp:161,udp6:[::]:161
rocommunity public 127.0.0.1
# ipv6 community
rocommunity6 public aaa:bbbb:cccc:dddd::/64
rocommunity6 public aaaa:bbbb:cccc:ddddd:eeee:ffff:1111:2222/128
snmpでの問合せ(manager側)
snmpwalkの例
# snmpwalk -v2c -cpublic udp6:vm-dmz.hrsk6 .1
# snmpwalk -v2c -cpublic udp6:aaaa:bbbb:cccc:ddddd:eeee:ffff:1111:2222 .1
# snmpwalk -v2c -cpublic udp6:[aaaa:bbbb:cccc:ddddd:eeee:ffff:1111:2222] .1
snmptrapd
/etc/snmp/snmptrapd.conf
# snmpTrapdAddr udp:162
snmpTrapdAddr udp:162,udp6:162
snmptrapの発行
# snmptrap -v2c -cpublic udp6:host.domain '' systemStats 1 s "TEST TRAP"
# snmptrap -v2c -cpublic udp6:.... '' systemStats 1 s "TEST TRAP" ;
# snmptrap -v2c -cpublic udp6:[....]:162 '' systemStats 1 s "TEST TRAP" ;
:162は省略可能。
FWでもipv6でポートを空ける
snmptrapを標準以外のポートで受ける
- 標準のudp162以外のポートでsnmptrapを受信しようと設定したが、snmptrapdの起動でエラーになった。selinuxでPermissionDenyされていた。
- selinuxをPermissiveにしてselinuxを再起動
trapは受信しているようだが、traphandleがうまく動いていないよう