安装 Net-SNMP

CentOS及其它RedHat系列产品提供了net-snmp的二进制包。我们可以直接从源里安装。

yum install net-snmp net-snmp-devel net-snmp-utils

说明:net-snmp-devel是为了使用net-snmp-config, net-snmp-utils是为了使用snmpwalk

配置 Net-SNMP

CentOS下的net-snmp无法在selinux环境下正常使用v3。如果您想使用snmp v3,请先禁用selinux。

net-snmp-config --create-snmpv3-user -ro -A snmp@jiankongbao -a MD5 jiankongbao

以上命令,创建一个snmpv3用户,只读,使用MD5,用户名为jiankongbao,密码为snmp@jiankongbao。

注意:运行之前请先停用net-snmp服务。

service snmpd stop

运行 Net-SNMP
运行 Net-SNMP 服务的方法比较简单,不过Net-SNMP服务的名字是snmpd

service snmpd start

您可能需要把它加入开机自动运行服务列表。

chkconfig snmpd on

检测 Net-SNMP
我们可以使用 snmpwalk 来检测snmp服务是否正常开启。

snmpwalk -v 3 -u jiankongbao -a MD5 -A "snmp@jiankongbao" -l authNoPriv 127.0.0.1 sysDescr

配置iptables防火墙
Net-SNMP 使用 udp 协议,161端口。在/etc/sysconfig/iptables 中添加如下规则

-A RH-Firewall-I INPUT -p udp -s 60.195.249.83 --dport 161 -j ACCEPT
-A RH-Firewall-I INPUT -p udp -s 60.195.252.107 --dport 161 -j ACCEPT
-A RH-Firewall-I INPUT -p udp -s 60.195.252.110 --dport 161 -j ACCEPT