Skip to main content

5. 通知发起者中的管理目标识别 (Identification of Management Targets in Notification Originators)

通知发起者应用使用snmpTargetAddrTable和snmpTargetParamsTable来识别应向其发送通知的管理目标,并确定发送通知时应使用的SNMP版本和安全参数。

当发生触发通知生成的事件时,通知发起者:

  1. 查询snmpNotifyTable以确定此通知应使用哪些通知标签。snmpNotifyTable中的每个条目将标签值与通知类型(陷阱或通知)关联。

  2. 从snmpTargetAddrTable中选择目标地址,通过匹配通知标签。对于snmpTargetAddrTable中的每个条目:

    a. snmpTargetAddrTagList对象包含标签值列表。

    b. 如果snmpTargetAddrTagList中的任何标签值与snmpNotifyTable中指定的标签匹配,则选择此目标地址。

  3. 检索每个选定目标地址的传输参数:

    a. snmpTargetAddrTDomain指定传输域(例如,snmpUDPDomain、snmpTCPDomain)。

    b. snmpTargetAddrTAddress指定传输地址(例如,IP地址和端口)。

  4. 检索每个选定目标地址的SNMP参数:

    a. snmpTargetAddrParams对象引用snmpTargetParamsTable中的条目。

    b. 从引用的snmpTargetParamsTable条目中,通知发起者检索:

    • snmpTargetParamsMPModel(消息处理模型)
    • snmpTargetParamsSecurityModel(安全模型)
    • snmpTargetParamsSecurityName(安全名称)
    • snmpTargetParamsSecurityLevel(安全级别)
  5. 使用检索到的参数为每个选定的管理目标生成并发送通知

配置示例 (Example Configuration)

考虑一个需要发送linkDown通知的通知发起者。配置可能包括:

snmpNotifyTable条目:

  • snmpNotifyName: "linkDownNotify"
  • snmpNotifyTag: "criticalDevices"
  • snmpNotifyType: trap(1)

snmpTargetAddrTable条目:

条目1:

  • snmpTargetAddrName: "mgmtStation1"
  • snmpTargetAddrTDomain: snmpUDPDomain
  • snmpTargetAddrTAddress: 192.0.2.1:162
  • snmpTargetAddrTagList: "criticalDevices monitoring"
  • snmpTargetAddrParams: "snmpv3Params"

条目2:

  • snmpTargetAddrName: "mgmtStation2"
  • snmpTargetAddrTDomain: snmpUDPDomain
  • snmpTargetAddrTAddress: 192.0.2.2:162
  • snmpTargetAddrTagList: "criticalDevices"
  • snmpTargetAddrParams: "snmpv2cParams"

snmpTargetParamsTable条目:

条目snmpv3Params:

  • snmpTargetParamsMPModel: 3 (SNMPv3)
  • snmpTargetParamsSecurityModel: 3 (USM)
  • snmpTargetParamsSecurityName: "operator"
  • snmpTargetParamsSecurityLevel: authPriv(3)

条目snmpv2cParams:

  • snmpTargetParamsMPModel: 1 (SNMPv2c)
  • snmpTargetParamsSecurityModel: 2 (SNMPv2c)
  • snmpTargetParamsSecurityName: "public"
  • snmpTargetParamsSecurityLevel: noAuthNoPriv(1)

当发生linkDown事件时:

  1. 通知发起者查询snmpNotifyTable并发现应将带有标签"criticalDevices"的通知作为陷阱发送。

  2. 它扫描snmpTargetAddrTable并找到两个在其标签列表中包含"criticalDevices"的条目:"mgmtStation1"和"mgmtStation2"。

  3. 对于mgmtStation1,它使用USM安全和authPriv级别以及安全名称"operator"向192.0.2.1:162发送SNMPv3陷阱。

  4. 对于mgmtStation2,它使用团体字符串"public"向192.0.2.2:162发送SNMPv2c陷阱。

通知请求的超时和重试 (Timeout and Retry for Inform Requests)

当通知类型为通知(InformRequest-PDU)时,snmpTargetAddrTable还提供超时和重试参数:

  • snmpTargetAddrTimeout: 指定在将请求视为超时之前等待响应的时间(以百分之一秒为单位)。

  • snmpTargetAddrRetryCount: 指定如果未收到响应,重试发送通知请求的次数。

通知发起者使用这些参数来实现通知请求的可靠通知传递。

例如,如果snmpTargetAddrTimeout为1500(15秒)且snmpTargetAddrRetryCount为3,则通知发起者将:

  1. 发送通知请求。
  2. 等待最多15秒以获得响应。
  3. 如果未收到响应,最多重试3次。
  4. 在4次总尝试(初始+3次重试)或60秒(4×15秒)后放弃,以先到者为准。

管理目标识别的安全考虑 (Security Considerations for Management Target Identification)

在识别通知的管理目标时:

  1. 配置的身份验证: 管理目标的配置(snmpTargetAddrTable、snmpTargetParamsTable和snmpNotifyTable)应受访问控制保护,以防止未经授权的修改。

  2. 敏感信息: 安全名称,特别是与SNMPv1或SNMPv2c(团体字符串)一起使用时,应防止泄露。snmpTargetParamsTable应仅供授权用户访问。

  3. 通知过滤: 没有适当的通知过滤(在下一节中描述),所有配置的管理目标将接收所有通知,可能会将敏感信息暴露给未经授权的接收者。

  4. 标签选择: 使用标签允许灵活地对管理目标进行分组,但应注意确保正确应用标签,以防止通知误导。