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 和 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
上述命令将添加一个可用于监控的团体字符串。可选地,您可以添加另一个用于管理的团体字符串。除非您有特定的理由这样做,否则不建议这样做。
# 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...