配置 SNMP

最基本的 SNMP 配置需要您执行以下操作:

  • 启用并启动 snmpd 服务。
  • 指定 SNMP 代理侦听的一个或多个 IP 地址。
  • 指定用户名(对于 SNMPv3)或只读团体字符串(对于 SNMPv1 或 SNMPv2c 的密码)。

默认情况下,SNMP 配置的侦听地址为 localhost (127.0.0.1),这允许代理(snmpd 服务)响应源自交换机本身的 SNMP 请求。这是一种安全方法,允许检查 SNMP 配置,而不会将交换机暴露于外部攻击。对于外部 SNMP NMS 轮询 Cumulus Linux 交换机,您必须配置在交换机上运行的 snmpd 服务以侦听链路状态为“UP”的接口上的一个或多个 IP 地址。

使用 SNMPv3 用户名而不是只读团体名称。SNMPv3 用户名不会暴露用户凭据,并且可以加密数据包内容。但是,SNMPv1 和 SNMPv2c 环境需要只读团体密码,以便 snmpd 守护程序可以响应请求。只读团体字符串使您能够轮询设备上的各种 MIB 对象。

基本配置

在使用 SNMP 之前,您需要启用并启动 snmpd 服务,并配置侦听地址。

cumulus@switch:~$ nv set system snmp-server state enabled
cumulus@switch:~$ nv set system snmp-server listening-address localhost
cumulus@switch:~$ nv config apply
  1. 启动 snmpd 服务

    cumulus@switch:~$ sudo systemctl start snmpd.service
    
  2. 启用 snmpd 服务以便在重启后自动启动

    cumulus@switch:~$ sudo systemctl enable snmpd.service
    

    要启用 snmpd 服务在失败后自动重启,请创建一个名为 /etc/systemd/system/snmpd.service.d/restart.conf 的文件并添加以下行

    [Service]
    Restart=always
    RestartSec=60
    
  3. 编辑 /etc/snmp/snmpd.conf 文件,并添加 IP 地址、协议和端口,供 snmpd 侦听传入请求。您可以使用多行来定义多个侦听地址,或在单行上使用逗号分隔列表。

cumulus@switch:~$ sudo nano /etc/snmp/snmpd.conf
...
agentAddress 192.168.200.11@mgmt
agentAddress udp:66.66.66.66:161,udp:77.77.77.77:161,udp6:[2001::1]:161
...
  1. 运行 sudo systemctl daemon-reload 命令。

侦听 IP 地址

默认情况下,侦听地址为 localhost,因此 SNMP 代理仅响应 default VRF 中源自交换机本身的请求。要将交换机配置为响应在 mgmt VRF shell 中发送到 localhost 的请求,请参阅 SNMP 和 VRF。您还可以配置仅侦听 IPv6 localhost 地址。当使用 IPv6 地址或 localhost 时,您可以为 SNMPv1 和 SNMPv2c 请求使用 readonly-community-v6。对于 SNMPv3 请求,您可以使用 username 命令来限制访问。请参阅下面的 配置 SNMPv3 用户名

IP 地址必须存在于您使用 snmpd 的交换机上具有链路 UP 状态的接口上。默认情况下,IP 地址为 udp:127.0.0.1:161,因此 snmpd 仅响应源自交换机的请求(例如 snmpwalksnmpgetsnmpgetnext)。通配符设置 udp:161,udp6:161 强制 snmpd 侦听所有 IPv4 和 IPv6 接口上的传入 SNMP 请求。

您可以配置多个 IP 地址,并绑定到特定 VRF 表中的特定 IP 地址。

要配置侦听 IP 地址

cumulus@switch:~$ nv set system snmp-server listening-address localhost
cumulus@switch:~$ nv set system snmp-server listening-address localhost-v6
cumulus@switch:~$ nv config apply

要将 snmpd 守护程序配置为侦听所有接口以接收 IPv4 或 IPv6 UDP 端口 161 SNMP 请求,请运行以下命令,这将删除所有其他单独配置的 IP 地址

cumulus@switch:~$ nv set system snmp-server listening-address all
cumulus@switch:~$ nv set system snmp-server listening-address all-v6
cumulus@switch:~$ nv config apply

要配置 snmpd 侦听特定的 IPv4 或 IPv6 地址

cumulus@switch:~$ nv set system snmp-server listening-address 192.168.200.11
cumulus@switch:~$ nv config apply

要配置 snmpd 侦听多个地址以接收传入的 SNMP 查询,请用空格分隔地址

cumulus@switch:~$ nv set system snmp-server listening-address 192.168.200.11 192.168.200.21
cumulus@switch:~$ nv config apply

编辑 /etc/snmp/snmpd.conf 文件,并添加 IP 地址、协议和端口,供 snmpd 侦听传入请求。您可以使用多行来定义多个侦听地址,或在单行上使用逗号分隔列表。

cumulus@switch:~$ sudo nano /etc/snmp/snmpd.conf
...
agentAddress 192.168.200.11@mgmt
agentAddress udp:66.66.66.66:161,udp:77.77.77.77:161,udp6:[2001::1]:161
...

SNMP 和 VRF

Cumulus Linux 为 VRF 提供侦听地址以及 Trap 和 Inform 支持。您可以配置 snmpd 侦听特定 VRF 内的接口上的特定 IPv4 或 IPv6 地址。使用 VRF,相同的 IP 地址可以存在于不同的 VRF 表中。此命令将侦听限制为特定 VRF 内的特定 IP 地址。如果您未提供 VRF 名称,则 Cumulus Linux 使用默认 VRF。

以下命令将 snmpd 配置为侦听 eth0 上 IP 地址 10.10.10.10,即管理 VRF 中的管理接口

cumulus@switch:~$ nv set system snmp-server listening-address 10.10.10.10 vrf mgmt
cumulus@switch:~$ nv config apply

默认情况下,snmpd 不跨越 VRF 表边界。要在不同的 VRF 表中的 IP 地址上侦听,请使用多个 listening-address 命令,每个命令都带有 VRF 名称

cumulus@switch:~$ nv set system snmp-server listening-address 10.10.10.10 vrf rocket
cumulus@switch:~$ nv set system snmp-server listening-address 10.10.10.20 vrf turtle
cumulus@switch:~$ nv config apply

默认情况下,snmpd 仅响应 default VRF 中的 localhost 请求。您可以将交换机配置为响应在 mgmt VRF shell 中发送到 localhost 的请求。要将 snmpd 守护程序配置为侦听 mgmt VRF 中的 localhost,请运行

cumulus@switch:~$ nv set system snmp-server listening-address localhost vrf mgmt
cumulus@switch:~$ nv config apply

要绑定到特定 VRF 表中的特定 IP 地址,请编辑 /etc/snmp/snmpd.conf 文件,并将 @ 和 VRF 表的名称附加到 IP 地址(例如,192.168.200.11@mgmt)。

cumulus@switch:~$ sudo nano /etc/snmp/snmpd.conf
...
agentAddress 192.168.200.11@mgmt
agentAddress udp:66.66.66.66:161,udp:77.77.77.77:161,udp6:[2001::1]:161
...

默认情况下,snmpd 仅响应 default VRF 中的 localhost 请求。您可以将交换机配置为响应在 mgmt VRF shell 中发送到 localhost 的请求。编辑 /etc/snmp/snmpd.conf 文件,并将 @mgmt 添加到 agentaddress 配置中

cumulus@switch:~$ sudo nano /etc/snmp/snmpd.conf
...
agentaddress 127.0.0.1@mgmt
...

然后使用 sudo systemctl restart snmpd 命令重启 snmpd

配置 SNMPv3 用户名

NVIDIA 建议您使用 SNMPv3 用户名和密码而不是只读团体;SNMPv3 不会在 GetRequestGetResponse 数据包中暴露密码,并且还可以加密数据包内容。您可以为具有不同用户角色的多个用户名配置不同的 MIB 访问级别。

默认 snmpd.conf 文件包含默认用户 _snmptrapusernameX。您不能将此用户名用于身份验证。SNMP Trap 需要此用户名。

您可以通过以下方式验证用户身份

  • 不使用身份验证密码(如果您指定 auth-none
  • 使用 MD5 密码
  • 使用 SHA 密码

以下示例命令对用户 testusernoauth 不需要身份验证密码

cumulus@switch:~$ nv set system snmp-server username testusernoauth auth-none
cumulus@switch:~$ nv config apply

以下示例命令为用户 limiteduser1 配置 MD5 身份验证

cumulus@switch:~$ nv set system snmp-server username testuserauth auth-md5 myauthmd5password
cumulus@switch:~$ nv config apply

以下示例命令为用户 limiteduser1 配置 SHA 身份验证

cumulus@switch:~$ nv set system snmp-server username limiteduser1 auth-sha SHApassword1
cumulus@switch:~$ nv config apply

如果您指定 MD5 或 SHA 身份验证,您还可以指定 AES 或 DES 加密密码来加密请求和响应数据包的内容。

cumulus@switch:~$ nv set system snmp-server username testuserauth auth-md5 myauthmd5password encrypt-aes myencryptsecret
cumulus@switch:~$ nv config apply

您可以将用户限制为特定的 OID 树。OID 可以是由句点分隔的十进制数字字符串,也可以是标识 SNMP MIB 对象的唯一文本字符串。Cumulus Linux 包含的 MIB 位于 /usr/share/snmp/mibs/ 目录中。如果您要使用的 MIB 默认未安装,您可以使用最新的 Debian snmp-mibs-downloader 软件包安装它。

cumulus@switch:~$ nv set system snmp-server username testuserauth auth-md5 myauthmd5password encrypt-aes myaessecret oid 1.3.6.1.2.1.1
cumulus@switch:~$ nv config apply

您可以将用户限制为预定义的视图

cumulus@switch:~$ nv set system snmp-server username testuserauth auth-md5 myauthmd5password encrypt-aes myaessecret view rocket
cumulus@switch:~$ nv config apply

下面的示例定义了五个用户,每个用户具有不同的身份验证和加密组合

cumulus@switch:~$ nv set system snmp-server username user1 auth-none
cumulus@switch:~$ nv set system snmp-server username user2 auth-md5 user2password
cumulus@switch:~$ nv set system snmp-server username user3 auth-md5 user3password encrypt-des user3encryption
cumulus@switch:~$ nv set system snmp-server username user666 auth-sha user666password encrypt-aes user666encryption
cumulus@switch:~$ nv set system snmp-server username user999 auth-md5 user999password encrypt-des user999encryption
cumulus@switch:~$ nv set system snmp-server username user1 auth-none oid 1.3.6.1.2.1
cumulus@switch:~$ nv set system snmp-server username user3 auth-sha testshax encrypt-aes testaesx oid 1.3.6.1.2.1
cumulus@switch:~$ nv config apply

三个指令定义了一个内部 SNMPv3 用户名,您需要该用户名才能让 snmpd 检索信息并发送内置 Trap,或者用于您使用 monitor 命令配置的 Trap(请参阅下面的 配置 SNMP Trap 和 Inform 消息

  • createuser 是默认的 SNMPv3 用户名。
  • iquerysecName 是您在进行内部查询以检索受监控的表达式时使用的默认 SNMPv3 用户名,用于评估受监控的表达式或构建通知负载。这些内部查询始终使用 SNMPv3,即使您使用 SNMPv1 或 SNMPv2c 查询代理也是如此。iquerysecname 指令仅定义要使用的用户。
  • rouser 是这些 SNMPv3 查询的用户名。

编辑 /etc/snmp/snmpd.conf 文件并添加 createuseriquerysecNamerouser 命令。以下示例配置将 snmptrapusernameX 配置为使用 createUser 命令的用户名。

cumulus@switch:~$ sudo nano /etc/snmp/snmpd.conf
...
createuser snmptrapusernameX
iquerysecname snmptrapusernameX
rouser snmptrapusernameX
...

下面的示例定义了五个用户,每个用户具有不同的身份验证和加密组合

cumulus@switch:~$ sudo nano /etc/snmp/snmpd.conf
...
# simple no auth user
#createuser user1

# user with MD5 authentication
#createuser user2 MD5 user2password

# user with MD5 for auth and DES for encryption
#createuser user3 MD5 user3password DES user3encryption

# user666 with SHA for authentication and AES for encryption
createuser user666 SHA user666password AES user666encryption

# user999 with MD5 for authentication and DES for encryption
createuser user999 MD5 user999password DES user999encryption

# restrict users to certain OIDs
# (Note: creating rouser or rwuser will give
# access regardless of the createUser command above. However,
# createUser without rouser or rwuser will not provide any access).
rouser user1 noauth 1.3.6.1.2.1
rouser user2 auth 1.3.6.1.2.1
rwuser user3 priv 1.3.6.1.2.1
rwuser user666
rwuser user999
...

以下示例展示了一种更高级但稍微更安全的配置 SNMPv3 用户的方法,而无需创建 cleartext 密码

  1. 安装 net-snmp-config 脚本,该脚本位于 libsnmp-dev 软件包中

    cumulus@switch:~$ sudo -E apt-get update
    cumulus@switch:~$ sudo -E apt-get install libsnmp-dev
    
  2. 停止 snmpd 守护程序

    cumulus@switch:~$ sudo systemctl stop snmpd.service
    
  3. 使用 net-snmp-config 命令创建两个用户,一个使用 MD5 和 DES,另一个使用 SHA 和 AES。

最小密码长度为八个字符,并且参数 -a-xnet-snmp-config 中的含义与 snmpwalk 不同。

cumulus@switch:~$ sudo net-snmp-config --create-snmpv3-user -a md5authpass -x desprivpass -A MD5 -X DES userMD5withDES
cumulus@switch:~$ sudo net-snmp-config --create-snmpv3-user -a shaauthpass -x aesprivpass -A SHA -X AES userSHAwithAES
cumulus@switch:~$ sudo systemctl start snmpd.service

这将在 /var/lib/snmp/snmpd.conf 中添加 createUser 命令。除非您要删除用户名,否则请勿手动编辑此文件。您可以编辑此文件并通过添加 noauthauthpriv 来限制对 MIB 某些部分的访问,以允许未经身份验证的访问、需要身份验证或强制使用加密。

snmpd 守护程序从 /var/lib/snmp/snpmd.conf 文件中读取信息,然后删除该行(以便 Cumulus Linux 不存储该用户的主密码),并将其替换为它派生的密钥(使用 EngineID)。密钥是本地化的密钥,因此如果有人窃取了密码,他们也无法使用它来访问其他代理。要删除两个用户 userMD5withDESuserSHAwithAES,请停止 snmpd 守护程序并编辑 /var/lib/snmp/snmpd.conf 文件。删除包含用户名的行,然后如上述步骤 3 中所述重启 snmpd 守护程序。

配置 SNMP 视图定义

要限制 MIB 树的暴露,您可以为 SNMPv3 用户名或团体密码以及来自受限子网的主机定义视图。这样做,任何带有该用户名和密码的 SNMP 请求都必须具有配置子网内的源 IP 地址。

您可以多次定义特定视图并进行微调,以使用 includedexcluded 命令指定某些 MIB 树的分支来提供或限制访问。

默认情况下,snmpd.conf 文件在 systemonly 视图中包含许多视图。

cumulus@switch:~$ nv set system snmp-server viewname cumulusOnly included .1.3.6.1.4.1.40310
cumulus@switch:~$ nv set system snmp-server viewname cumulusCounters included .1.3.6.1.4.1.40310.2
cumulus@switch:~$ nv set system snmp-server readonly-community simplepassword access any view cumulusOnly
cumulus@switch:~$ nv set system snmp-server username testusernoauth auth-none view cumulusOnly
cumulus@switch:~$ nv set system snmp-server username limiteduser1 auth-md5 md5password1 encrypt-aes myaessecret view cumulusCounters
cumulus@switch:~$ nv config apply

编辑 /etc/snmp/snmpd.conf 文件并添加 view 命令。

rocommunity 使用 systemonly 视图创建一个密码,该密码只能访问 OID 树的这些分支。

cumulus@switch:~$ sudo nano /etc/snmp/snmpd.conf
...
view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.2
view systemonly included .1.3.6.1.2.1.3
...

配置团体字符串

默认情况下,Cumulus Linux 禁用 SNMPv1 和 SNMPv2c 的 snmpd 身份验证。要启用身份验证,请为 SNMPv1 或 SNMPv2c 环境提供密码(团体字符串),以便 snmpd 守护程序可以响应请求。默认情况下,这为这些请求提供对完整 OID 树的访问,而与其来源无关。Cumulus Linux 未设置默认密码,因此 snmpd 不会响应任何到达的请求,除非您设置只读团体密码。

对于 SNMPv1 和 SNMPv2c,您可以指定只读团体字符串。对于 SNMPv3,您可以指定只读或读写团体字符串(只要您不使用首选的 用户名方法;请参阅上文)。

您可以指定源 IP 地址令牌以限制仅对该主机或网络的访问。

您还可以指定视图来限制 OID 树的子集。

以下示例配置

  • 将 SNMP 请求的只读团体字符串设置为 simplepassword
  • 将请求限制为仅来自 192.168.200.10/24 子网中的主机。
  • 将查看限制为使用 view 命令定义的 mysystem 视图。
cumulus@switch:~$ nv set system snmp-server viewname mysystem included 1.3.6.1.2.1.1
cumulus@switch:~$ nv set system snmp-server readonly-community simplepassword access 192.168.200.10/24 view mysystem
cumulus@switch:~$ nv config apply

此示例创建了一个只读团体密码 showitall,该密码允许访问来自任何源 IP 地址的请求的整个 OID 树。

cumulus@switch:~$ nv set system snmp-server readonly-community showitall access any
cumulus@switch:~$ nv config apply

要启用团体字符串,请提供团体字符串,然后设置

  • rocommunityrwcommunityrocommunity 用于只读团体;rwcommunity 用于读写访问。指定其中一个。
  • public:纯文本密码或团体字符串。

NVIDIA 强烈建议您将此密码更改为其他密码。

  • default 允许来自任何系统的连接。
  • localhost 仅允许来自本地主机的请求。受限源可以是特定的主机名(或地址),也可以是子网,表示为 IP/MASK(如 10.10.10.0/255.255.255.0)或 IP/BITS(如 10.10.10.0/24)或 IPv6 等效项。
  • -V 将查看限制为特定的 视图。例如,systemonly 是一个 SNMP 视图。这是一个用户定义的值。

编辑 /etc/snmp/snmpd.conf 文件并添加团体字符串。

在以下示例中,第一行将来自 192.168.200.10/24 子网的 SNMP 请求的只读团体字符串设置为 turtle,并将查看限制为使用 -V 选项定义的 systemonly 视图。第二行创建一个只读团体字符串,该字符串允许从任何源 IP 地址访问整个 OID 树。

cumulus@switch:~$ sudo nano /etc/snmp/snmpd.conf
...
rocommunity turtle 192.168.200.10/24 -V systemonly
rocommunity cumuluspassword
...

重启 snmpd 以使更改生效

cumulus@switch:~$ systemctl restart snmpd.service

配置系统设置

您可以为 SNMPv2 MIB 配置系统设置。以下示例命令设置:

  • SNMPv2-MIB 系统表中节点的系统物理位置 (syslocation)。
  • 此受管节点的联系人的用户名和电子邮件地址 (syscontact)。
  • 为受管节点管理分配的名称 (sysname)。

要设置 SNMPv2-MIB 系统表中节点的系统物理位置

cumulus@switch:~$ nv set system snmp-server system-location my-private-bunker
cumulus@switch:~$ nv config apply

要设置此受管节点的联系人的用户名和电子邮件地址

cumulus@switch:~$ nv set system snmp-server system-contact myemail@example.com
cumulus@switch:~$ nv config apply

要设置受管节点的管理分配名称,请运行以下命令。通常,这是节点的完全限定域名。

cumulus@switch:~$ nv set system snmp-server system-name CumulusBox-1,543,567
cumulus@switch:~$ nv config apply

编辑 /etc/snmp/snmpd.conf 文件并添加以下配置

cumulus@switch:~$ sudo nano /etc/snmp/snmpd.conf
...
syscontact myemail@example.com
syslocation My-private-bunker
sysname CumulusBox-1,543,567
...

为 FRR 启用 SNMP 支持

SNMP 支持 FRR 中的路由 MIB。如果您正在运行 Linux 命令来配置交换机,则需要在 FRR 中配置 AgentX (ASX) 访问。

NVUE nv set system snmp-server state enable 命令会自动配置 FRR 中的 AgentX (ASX) 访问;您无需运行任何其他命令。

  1. 启用 AgentX

    cumulus@switch:~$ sudo vtysh
    ...
    switch# configure terminal
    switch(config)# agentx
    switch(config)# end
    switch# write memory
    switch# exit
    
  2. 如果您的 SNMP 视图限制了 MIB 访问,请为您正在使用的协议公开以下 MIB

    • 对于 BGP4 MIB,允许访问 1.3.6.1.2.1.15
    • 对于 OSPF MIB,允许访问 1.3.6.1.2.1.14
    • 对于 OSPFV3 MIB,允许访问 1.3.6.1.2.1.191

要验证配置,您可以运行 snmpwalk

cumulus@switch:~$ sudo snmpwalk -v2c -cpublic localhost 1.3.6.1.2.1.14

如果您在启用 AgentX 的情况下禁用 SNMP 服务器,则 FRR 服务将重启,这可能会影响流量。

启用 .1.3.6.1.2.1 范围

Cumulus Linux 中的 snmpd.conf 文件默认不包含某些 MIB。这会导致常见网络工具(如 librenms)上的某些默认视图返回的数据少于最佳数据。要包含更多 MIB,请启用完整的 .1.3.6.1.2.1 范围。默认 SNMPv3 配置包括:

  • ENTITY-MIB
  • ENTITY-SENSOR MIB
  • BRIDGE-MIB 和 Q-BRIDGE-MIB 的一部分

此配置授予对大量 MIB 的访问权限,包括所有 SNMPv2-MIB,这显示的数据超出您的预期。除了成为安全漏洞之外,它还会消耗更多 CPU 资源。

要启用 .1.3.6.1.2.1 范围,请确保 view 命令包含所需的 MIB 对象。

在 NMS 上设置自定义 MIB

您无需更改交换机上的 /etc/snmp/snmpd.conf 文件即可支持自定义 MIB。该文件默认包含以下行,并为 Cumulus Counters 和 Cumulus Resource Query MIB 提供支持。

cumulus@switch:~$ cat /etc/snmp/snmpd.conf
...
sysObjectID 1.3.6.1.4.1.40310
pass_persist .1.3.6.1.4.1.40310.1 /usr/share/snmp/resq_pp.py
pass_persist .1.3.6.1.4.1.40310.2 /usr/share/snmp/cl_drop_cntrs_pp.py
...

您需要将多个文件复制到 NMS 服务器,以便它识别自定义 Cumulus MIB。

  • /usr/share/snmp/mibs/Cumulus-Snmp-MIB.txt
  • /usr/share/snmp/mibs/Cumulus-Counters-MIB.txt
  • /usr/share/snmp/mibs/Cumulus-Resource-Query-MIB.txt

Pass Persist 脚本

Cumulus Linux 中的 Pass Persist 脚本使用 Net-SNMP 的 pass_persist 扩展。这些脚本位于 /usr/share/snmp 中,包括:

  • bridge_pp.py
  • cl_drop_cntrs_pp.py
  • cl_poe_pp.py
  • entity_pp.py
  • entity_sensor_pp.py
  • ieee8023_lag_pp.py
  • resq_pp.py
  • snmpifAlias_pp.py
  • sysDescr_pass.py
  • vrf_bgpun_pp.py

Cumulus Linux 默认启用所有脚本,但 bgp4_pp.py 除外,FRR 使用该脚本。

禁用 SNMP

要禁用 SNMP,请运行 nv set system snmp-server state disable 命令

cumulus@switch:~$ nv set system snmp-server state disable
cumulus@switch:~$ nv config apply

当您禁用SNMP时,FRR服务将重启,这可能会影响流量。

配置示例

以下示例配置

  • 启用SNMP代理以监听所有IPv4地址,并使用团体字符串密码。
  • 设置陷阱目标主机IP地址。
  • 创建几种类型的SNMP陷阱。
cumulus@switch:~$ nv set system snmp-server listening-address all
cumulus@switch:~$ nv set system snmp-server readonly-community tempPassword access any
cumulus@switch:~$ nv set system snmp-server trap-destination 1.1.1.1 community-password mypassword version 2c
cumulus@switch:~$ nv set system snmp-server trap-link-up check-frequency 15
cumulus@switch:~$ nv set system snmp-server trap-link-down check-frequency 10
cumulus@switch:~$ nv set system snmp-server trap-snmp-auth-failures
cumulus@switch:~$ nv config apply

编辑 /etc/snmp/snmpd.conf 文件并应用以下配置(添加以 + 开头的每一行)

cumulus@switch:~$ sudo nano /etc/snmp/snmpd.conf
+agentaddress udp:161
agentxperms 777 777 snmp snmp
agentxsocket /var/agentx/master
+authtrapenable 1
createuser _snmptrapusernameX
iquerysecname _snmptrapusernameX
+load 7.45 5.14 0
master agentx
monitor -r 60 -o laNames -o laErrMessage "laTable" laErrorFlag != 0
+monitor CumulusLinkDOWN -S -r 10 -o ifName -o ifIndex -o ifAdminStatus -o ifOperStatus ifOperStatus == 2
+monitor CumulusLinkUP -S -r 15 -o ifName -o ifIndex -o ifAdminStatus -o ifOperStatus ifOperStatus != 2
pass -p 10 1.3.6.1.2.1.1.1 /usr/share/snmp/sysDescr_pass.py
pass_persist 1.2.840.10006.300.43 /usr/share/snmp/ieee8023_lag_pp.py
pass_persist 1.3.6.1.2.1.17 /usr/share/snmp/bridge_pp.py
pass_persist 1.3.6.1.2.1.31.1.1.1.18 /usr/share/snmp/snmpifAlias_pp.py
pass_persist 1.3.6.1.2.1.47 /usr/share/snmp/entity_pp.py
pass_persist 1.3.6.1.2.1.99 /usr/share/snmp/entity_sensor_pp.py
pass_persist 1.3.6.1.4.1.40310.1 /usr/share/snmp/resq_pp.py
pass_persist 1.3.6.1.4.1.40310.2 /usr/share/snmp/cl_drop_cntrs_pp.py
pass_persist 1.3.6.1.4.1.40310.3 /usr/share/snmp/cl_poe_pp.py
+rocommunity neteng default
+rocommunity tempPassword default
rouser _snmptrapusernameX
+syslocation leaf01
sysobjectid 1.3.6.1.4.1.40310
sysservices 72
+trap2sink 1.1.1.1 mypassword