Snmpd
外观
SNMP (简单网络管理协议) 是一种标准的互联网协议 (RFC 1157),旨在用于网络设备的管理和监控。Arch Linux 提供了 Net-SNMP,以及其他 SNMP 实现。本文讨论的是 net-snmp 包中 snmpd 守护进程的配置和测试。
安装
Arch Linux 中的 net-snmp 包是单一的,它同时包含 snmpd 守护进程和配套工具。
配置
注意 如果在 snmpd 运行时修改了
/var/net-snmp/snmpd.conf,则在守护进程重启时,任何更改都会丢失。因此,在编辑配置文件时,务必停止 snmpd 服务。SNMP 1 and 2c
net-snmp 支持 SNMP 的三个版本:1、2c 和 3。版本 1 和 2c 以相同的基本配置开始,使用 /etc/snmp/snmpd.conf。
# mkdir /etc/snmp/ # echo rocommunity read_only_community_string >> /etc/snmp/snmpd.conf
上述命令将添加一个可用于监控的 community string。可选地,您可以添加另一个用于管理的 community string。除非有特定原因,否则不建议这样做。
# echo rwcommunity read_write_community_string >> /etc/snmp/snmpd.conf
SNMP 3
SNMP v3 增加了安全性和加密的身份验证/通信。它在 /etc/snmp/snmpd.conf 中使用不同的配置方案,并在 /var/net-snmp/snmpd.conf 中进行额外配置。
对于 /etc/ 中的前一个配置文件,直接写入或使用 snmpconf 向导。
# mkdir /etc/snmp/ # echo rouser read_only_user >> /etc/snmp/snmpd.conf
$ snmpconf -g basic_setup
对于 /var/ 中的后一个配置文件,直接写入或使用 net-snmp-create-v3-user。
# mkdir -p /var/net-snmp/ # echo createUser read_only_user SHA password1 AES password2 > /var/net-snmp/snmpd.conf
# net-snmp-create-v3-user -ro -a SHA -x AES
请注意,一旦 snmpd 被(重新)启动,/var/net-snmp/snmpd.conf 将被重写,您输入的明文密码将被加密。
守护进程
启动/启用 snmpd.service。
测试
如果使用 SNMP 1 或 2c,请使用以下命令之一来测试配置。
# snmpwalk -v 1 -c read_only_community_string localhost | less # snmpwalk -v 2c -c read_only_community_string localhost | less
如果使用 SNMP 3,请使用以下命令来测试配置。
# snmpwalk -v 3 -u read_only_user -a SHA -A password1 -x AES -X password2 -l authNoPriv localhost | less
无论哪种方式,您都应该看到几行数据,看起来像这样:
SNMPv2-MIB::sysDescr.0 = STRING: Linux myhost 2.6.37-ARCH #1 SMP PREEMPT Sat Jan 29 20:00:33 CET 2011 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: ccitt.1 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (307772) 0:51:17.72 SNMPv2-MIB::sysContact.0 = STRING: root@localhost SNMPv2-MIB::sysName.0 = STRING: myhost ...SNIP...