我需要 snmptrapd 配置文件,我没有找到任何配置文件。如果我从命令行运行"snmptrapd -Le -A -Lf /var/log/snmptrapd.log
“命令,snmptrapd 进程正在运行。我尝试这个snmptrapd -Le -A -Lf /var/log/snmptrapd.log --
安装,但服务没有运行或创建。我如何手动编写snmptrapd.conf
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 配置。
由于防火墙,我在接收陷阱时遇到了一些问题,因此如果您想测试初始配置,请确保防火墙配置正确或完全禁用它。