【问题标题】:Co Existence and Backward Compatibility among SNMP VersionsSNMP版本之间的共存和向后兼容
【发布时间】:2015-06-08 08:45:15
【问题描述】:

我是使用 SNMP 的新手。我对不同版本的 SNMP 之间的向后兼容性和共存感到困惑。

版本之间的共存在RFC 2576 中定义,其中解释了代理和多语言实现。

我的问题是:运行 SNMPv3 代理的设备如何响应 SNMPv1 请求消息?当应该使用身份验证和加密算法时,代理如何使用简单的社区字符串响应消息?

如何将代理配置为多语言? SNMPv3 是否向后兼容 v1 和 v2? (它会一直响应 v1 和 v2 查询吗?)

【问题讨论】:

  • 我没有检查这个,但它可能根本不应该响应,或者可能响应错误。如果代理被配置为使用基于用户的安全性,那么泄露任何信息都将是一个巨大的安全问题。
  • 我在各种书籍和博客中读到 SNMP V3 与 v1 和 v2 “向后兼容”。 books.google.co.in/…“向后兼容性”到底是什么?
  • 如果您将 v3 代理设置为使用基于社区的安全性,那么是的,它完全向后兼容。但事实上,您将有一个不安全的解决方案。

标签: snmp net-snmp


【解决方案1】:

谁说 SNMPv3 是“向后兼容”的,可能意味着其中一个(或两个):

  • 大多数支持 SNMPv3 的代理都是多语言代理,并且如果配置为支持 SNMPv1 和 SNMPv2c,也可以使用。
  • SNMPv3 使用与早期版本相同的 MIB 语言 (SMIv1/SMIv2),因此无需修改即可支持相同的 MIB 模块。

三个版本的协议本身不同,互不兼容,但可以通过代理进行翻译(有一些例外),有一些相似之处:

  • SNMPv2c 与 SNMPv1 几乎相同,除了编码中的不同版本号、新数据类型和 SNMPv1 不支持的 Get-Bulk 请求。
  • SNMPv3 使用所有相同的数据类型和 PDU,其编码与 SNMPv2c 相同,但消息编码完全不同。

运行 SNMPv3 代理的设备如何响应 SNMPv1 请求 留言?

支持 SNMPv3 和 SNMPv1 的多语言设备以 SNMPv1 回复响应 SNMPv1 请求,并以 SNMPv3 回复响应 SNMPv3 请求。

代理如何使用简单的社区字符串响应消息 什么时候应该使用身份验证和加密算法?

当应该使用身份验证和加密算法时,您不能拥有带有简单社区字符串的消息,因为身份验证和加密是 SNMPv3 的功能,并且 SNMPv3 消息编码没有社区字符串字段。它有一个用户名和字段,指示消息的身份验证和隐私级别以及执行这些功能所需的参数。

如何将代理配置为多语言?

标准方法是通过适当配置 SNMP-COMMUNITY-MIB、SNMP-USER-BASED-SM-MIB 和 SNMP-VIEW-BASED-ACM-MIB 表。例如,snmpCommunityTable 中没有配置社区?然后它不会响应 SNMPv1 或 SNMPv2c。代替这些 MIB 的标准表,“如何”将是特定于实现的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 2015-02-11
    • 2021-10-09
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多