跳转至内容

Snmpd

来自 ArchWiki

SNMP (简单网络管理协议) 是一种标准的互联网协议 (RFC 1157),旨在用于网络设备的管理和监控。Arch Linux 提供了 Net-SNMP,以及其他 SNMP 实现。本文讨论的是 net-snmp 包中 snmpd 守护进程的配置和测试。

安装

Arch Linux 中的 net-snmp 包是单一的,它同时包含 snmpd 守护进程和配套工具。

安装 net-snmp 包。

配置

注意 如果在 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...