複数IPアドレスを持つサーバのSNMP監視

net-snmpを稼働させるLinuxサーバが同じネットワーク上のIPアドレスを複数持っていた場合、
snmpdプロセスはいずれか1つのIPアドレスでしかListenしてくれないようです。

ただし、netstatで見ると、0.0.0.0でListenしているので、あたかもどのIPアドレスからも受け付けているように見えるので注意が必要です。

# netstat -pan | grep 161
udp        0      0 0.0.0.0:161     0.0.0.0:*                           12571/snmpd


特定のIPアドレスでListenさせるためには、IPアドレスを指定してsnmpdを起動する必要があります。
そのため、/etc/init.d/snmpdの起動スクリプトの中のOPTIONSの内容を変更する。

# vi /etc/init.d/snmpd

・・・略
OPTIONS="-s -l /dev/null -P /var/run/snmpd -a 192.168.xxx.xxx

・・・略

これだと、192.168.xxx.xxxでsnmpdを立ち上げることが可能です。

これで指定したIPアドレスに対してsnmpwalkでsnmpの値取得をすると正常に取得できるようになります。
全部のIPアドレスからSNMPで値取得することはできないのかな?っと思ったりしてますが、そんなことする必要もないので、とりあえず調査はここまで。