0

我需要 snmptrapd 配置文件,我没有找到任何配置文件。如果我从命令行运行"snmptrapd -Le -A -Lf /var/log/snmptrapd.log“命令,snmptrapd 进程正在运行。我尝试这个snmptrapd -Le -A -Lf /var/log/snmptrapd.log --安装,但服务没有运行或创建。我如何手动编写snmptrapd.conf

4

1 回答 1

1

在 Linux 中,如果您使用的是 net-snmp 包。您可以在 中找到配置文件/etc/snmp/snmptrapd,conf。根据NET-SNMP 手册页,该工具按顺序在以下目录中查找 snmp 和 snmptrapd 的配置:

ROOTDIR/etc/snmp, ROOTDIR/usr/share/snmp, ROOTDIR/usr/lib/snmp, and $HOME/.snmp

也可以通过执行查看配置目录。

sudo net-snmp-config --snmpconfpath

您可以在该位置创建 snmptrapd.conf 文件并开始向其中添加配置。

出于测试目的,您可以在命令中提供参数“-c”snmptrapd来指定配置文件位置。

# eg. sudo snmptrapd -f -C -c snmptrapd.conf -Le -m ALL
sudo snmptrapd -f -C -c <config file location> -Le -m ALL

有不同的 SNMP 版本(snmp v1、snmp v2 和 snmp v3)可用于发送/接收陷阱。

SNMP v1 是最不安全的(也很少使用),snmp v2 使用“社区字符串”作为身份验证的密钥,而 snmp v3 是迄今为止最安全的,它具有“基于用户”(USM)和“基于 TLS/DTLS”( TSM) 身份验证。

对于 SNMP v2,接收陷阱的基本配置如下

# SNMP v2 configuration

# Access control
# Eg: authCommunity log,execute,net public
authCommunity log <community-string>

保存此配置并重新启动 snmptrapd 服务器后。您可以从您的系统尝试此命令来发送陷阱。

snmptrap -v2c -c public 127.0.0.1 '' 1.3.6.1.4.1.33095.0.1000 1.3.6.1.4.1.33095.0.1000 s "This is my first snmp trap."

您可以添加snmptrapd.conf 文档中列出的更多选项。

对于 SNMP v3(USM),您可以使用以下配置来接收陷阱。

# SNMPv3 config with AuthPriv security level.

# Create a user for authentication
# Eg. createUser snmptestuser SHA shapassword AES aespassword
createUser <username> <AuthProtocol> <authpass> <PrivProtocol> <privpass>

# Access control
# Eg. authuser log,execute,net snmptestuser
authuser log <username>

重新启动 snmptrapd 服务器并运行以下命令以发送陷阱

snmptrap -Ci -v 3 -a SHA -A shapassword -x AES -X aespassword -l authPriv -u snmptestuser 127.0.0.1 1.3.6.1.4.1.33095.0.1000 1.3.6.1.4.1.33095.0.1000 s "This is my first snmp v3 trap."

您可以参考此文档了解 snmp v3 配置。

由于防火墙,我在接收陷阱时遇到了一些问题,因此如果您想测试初始配置,请确保防火墙配置正确或完全禁用它。

于 2020-12-20T11:54:46.060 回答