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 和 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...