snmpd.conf 文件

用途

snmpdv1 代理程序定义一个样本配置文件。

描述

snmpd.conf 文件提供 snmpdv1 代理程序的配置信息。 当 snmpdv1 代理程序正在运行时,可以更改此文件。 如果发出 refreshkill -1 命令, snmpdv1 代理将重新读取此配置文件。 代理 snmpdv1 代理必须处于系统资源控制 (SRC) 下, 刷新命令才能强制重读。 此文件是网络支持设施中简单网络管理协议代理程序应用程序的一部分。

此配置文件包含:

snmpd.conf 文件必须由 root 用户所有。 如果 snmpd.conf 文件不是由 root 用户拥有,或者如果 snmpdv1 守护程序无法打开配置文件,那么如果启用日志记录并且 snmpdv1 守护程序终止,那么 snmpdv1 守护程序会向日志文件发出 FATAL 消息。

某些规则适用于在 snmpd.conf 配置文件中的条目中指定特定参数。 某些条目需要指定对象标识和/或对象名。 下列规则适用:

  1. 对象标识以点分数字表示法指定,并且必须至少包含三个元素。 对象标识中的最大元素数是 50。 元素由 a 分隔。 (点)。 第一个元素必须是 0 到 2 范围内的一位数。 第二个元素必须是范围在 1 到 40 之间的整数。 第三个和后续元素必须 1 范围在 1 到无符号整数的大小之间的整数。
  2. 对象名由带有可选数字实例的文本名称组成。 对象名称必须是 snmpdv1 代理程序已知的名称。 对象名通常是管理信息库 (MIB) 树中的节点的名称。 如果是 MIB 树的根,iso,指定为对象名称,绝对需要该数字实例。 A. (点) 将文本名称与数字实例分隔开。

社区条目

社区条目指定 snmpdv1 代理程序允许的社区,关联访问特权和 MIB 视图。 请参阅示例 1 以 1 样本条目。 社区条目必须使用以下格式:

community CommunityName IPAddress NetMask Permissions ViewName

以下定义适用于以下项中的变量:community项:

描述
CommunityName 社区名称。
IPAddress 指定共用名的主机名,以点分十进制格式表示的 IPv4 地址或 IPv6 地址。
NetMask 点分十进制格式的网络掩码 (对于指定的 IPv4 地址) 或前缀长度 (对于指定的 IPv6 地址 0 ,范围在 0 到 128 之间。
许可权 指定下列其中一项:
  • readOnly
  • writeOnly
  • readWrite
  • 无。

许可权 字符串是不区分大小写的。

ViewName 点分数字表示法中的唯一对象标识,它与指定的共用名允许访问的 MIB 树的一部分相关联。 ViewName 值与视图条目中指定的值相同。

以下项所需的最小规范:community条目为:

community CommunityName

此最小社区条目的缺省值为:

描述
IPAddress 0.0.0.0
NetMask 0.0.0.0
许可权 readOnly
查看 iso.3

最小条目右侧的字段是可选的,但有一个限制,即指定字段左侧的任何字段都不会被省略。 忽略 ViewName 变量右边的任何信息。 如果指定了 IPAddress 0.0.0.0 ,那么缺省 NetMask 为 0.0.0.0。 如果指定了非 0.0.0.0 的 IPAddress ,那么缺省 NetMask 为 255.255.255.255。

许可权 缺省值为 readOnly。 如果未指定 ViewName ,那么此社区的视图缺省为 ISO (整个 MIB 树)。 例如:

community    public     192.100.154.1 

是具有缺省值的有效条目:

描述
NetMask 255.255.255.255
许可权 readOnly
查看 iso.3

以下条目无效,因为未指定 许可权 变量左侧的必需 NetMask 变量:

community  public   192.100.154.1
readWrite

在这种情况下,将接受 许可权 变量中的值作为 NetMask 值。 由于许可权 变量中的值不是 NetMask 变量所需的格式,因此将发生错误。 如果启用了日志记录,那么 snmpdv1 代理程序会记录 EXCEPTIONS 消息。 如果社区条目无效,那么 snmpdv1 代理程序将忽略该条目。

视图条目

该视图条目指定特定社区具有访问权的 MIB 子树。 请参阅示例 3 以 3 样本条目。 视图条目必须采用下列格式:

view   ViewName      MibSubtree... 

以下定义适用于以下项中的变量:view项:

描述
ViewName 以点分数字表示法指定与 MIB 树的某个部分关联的唯一对象标识。 此 ViewName 值与社区条目中的值相同,必须按此处所述进行格式化。
MibSubtree ViewName 变量关联的 MIB 子树或 MIB 组的列表,指定为对象名或对象标识。 如果未指定 MIBSubtree 列表,那么视图缺省为 iso ,即整个 MIB 树。

同时,视图条目及其关联的社区条目定义 snmpdv1 代理程序允许的访问特权或 MIB 视图。

在视图条目无效的情况下, snmpdv1 代理程序会记录异常消息 (如果已启用日志记录) ,并忽略该视图条目。

如果 ViewName 但没有视图条目来描述该 ViewNamesnmpdv1 代理就会记录一条 EXCEPTIONS 消息,说明该社区没有这样的视图。 代理 snmpdv1 代理将不允许访问该社区和视图协会。

陷阱条目

陷阱条目指定 snmpdv1 代理程序在生成陷阱的事件中通知的主机。 请参阅示例 2 以获取样本条目。 陷阱条目必须使用以下格式:

trap  CommunityName  IPAddress ViewName TrapMask

在此格式中,变量定义如下所示:

描述
CommunityName 要在 SNMP 陷阱包中编码的共用体名称。
IPAddress 指定共用名的主机名或 IPv4 地址 (以点分十进制格式表示) 或 IPv6 地址。
ViewName snmpdv1 代理程序仅检查 ViewName 以验证格式是否有效以及是否未指定重复的 ViewName 变量。
TrapMask 十六进制格式的陷阱掩码。 从左到右的数字代表 coldStart 陷阱 warmStart 陷阱 linkDown 陷阱 linkUp 陷阱 authenticationFailure 陷阱 egpNeighborLoss 陷阱,以及 enterpriseSpecific 陷阱 最右边的位不具有任何意义。 如果值 1 1 ,那么将能够发送相应的陷阱。 否则,陷阱将被阻止。
例如:
hexadecimal  bits       meaningh
fe           1111 1110  block no traps
7e           0111 1110  block coldStart trap
be           1011 1110  block warmStart trap
3e           0011 1110  block coldStart trap and warmStart trap
陷阱条目需要的最低规范为:
trap   CommunityName   IPAddress

此最小陷阱条目的 TrapMask 的缺省值为fe。对于这种情况,没有阻止的陷阱。

最小条目右侧的字段是可选的,但有一个限制,即指定字段左侧的任何字段都不会被省略。 TrapMask 变量右边应该没有任何信息。

在陷阱条目无效的情况下,如果启用了日志记录,那么 snmpdv1 代理程序会在日志文件中放置 EXCEPTIONS 消息并忽略陷阱条目。

假定陷阱条目中列出的所有主机都在 SNMP 陷阱的已知 UDP 端口 162 上进行侦听。 由于不支持陷阱的社区视图,因此 snmpdv1 代理程序将向陷阱条目中列出的主机发送由 TrapMask 变量指示的所有陷阱的陷阱消息。 如果 snmpd.conf 文件中未显示陷阱条目,那么 snmpdv1 代理程序不会在生成陷阱时发送陷阱消息。

日志记录条目

如果未使用 - 选项从 SNMP 命令定向日志记录,那么日志记录条目将指定 snmpdv1 代理程序日志记录活动的特征。 4 请参阅示例 4 以获取样本条目。 日志记录条目必须具有以下格式:
logging   FileName     Enablement
logging   size=Limit   level=DebugLevel

以下定义适用于以下项中的字段:logging项:

描述
FileName 指定该日志文件的完整路径和文件名。
限制 指定指定日志文件的最大大小 (以字节为单位)。 如果将 0 指定为 0 ,那么文件大小不受限制。
DebugLevel 指定日志记录级别,此级别可以是下列其中一项:
0
所有注意事项、异常和致命错误消息
1
级别 0 加上调试消息
2
级别 1 加上接收和发送包的十六进制转储
3
级别 2 加上一个请求与响应包的英语版本。
启用 指定日志记录是否处于活动状态。 以下选项是可用的:
启用
开启登录。
disabled
关闭日志记录。

不存在缺省日志文件。 启用 缺省值为禁用。 0 文件大小 限制 缺省值为 0 ,这表示无限制。 如果在不使用 -d 选项的情况下调用 snmpd 命令,那么 DebugLevel 缺省值为 0。 如果指定了 -d 选项,那么缺省 DebugLevel 是由 snmpd 命令行上的 -d 选项指定的值。

size=level=如果指定了大小或调试级别,那么绝对需要项。 在以下位置周围没有空间 =(等号)。

对于变量在日志记录条目中的输入顺序,没有任何限制。 日志记录条目可以包含单个或多个变量。

如果该值为size=无法将字段或 DebugLevel 变量转换为整数,将使用缺省大小和调试级别。 由于 SNMP 命令在读取日志文件配置参数后立即设置这些参数,因此如果 SNMP 命令确定该条目中存在无效字段,那么不一定会忽略日志记录条目中的参数。 例如,在以下无效日志记录条目中:
logging   size=100000    garbagestuff    enabled

SNMP 命令将设置大小参数,但将废弃从 加尔巴格斯图夫 的字段值到行尾的所有信息。 此外,如果启用了日志记录,那么将记录 EXCEPTIONS 消息。

snmpd 条目

SNMP 条目指定 snmpdv1 代理程序的配置参数。 请参阅示例 5 以获取样本条目。 SNMP 条目必须使用以下格式:
snmpd   Variable=Value

= (等号) 是绝对必需的; 它的周围不能有空格。

以下定义适用于以下项:snmpd项:

描述
变量 指定特定配置参数。 变量 可以是下列其中一个值:
  • 最大包
  • 查询超时.
VALUE 指定指定特定变量的值。

可配置变量和允许值为:

描述
最大包 snmpdv1 代理程序将传输的最大包大小 (以字节为单位)。 此变量可以设置为的最小长度为 300 个字节。 可将此变量设置为的最大值为 56KB。 如果没有针对 最大包SNMP 条目,那么将使用系统套接字缺省级别。
QUERYTIMEOUT snmpdv1 代理程序将查询接口以检查接口状态更改的时间间隔 (以秒计)。 可以将 查询超时 设置为的最小值为 30 秒。 如果指定 0 ,那么 snmpdv1 代理程序将不会查询接口以获取状态更改。 如果没有针对 查询超时SNMP 条目,那么将使用缺省值 60 秒。

= (等号) 是绝对必需的; 它的周围不能有空格。 对于在 SNMP 条目中输入变量的顺序,没有任何限制。 SNMP 条目可以包含单个或多个变量。

snmpdv1 代理程序在读取特定于 SNMP 的参数后立即设置这些参数。 如果值无效,那么 snmpdv1 代理程序将忽略这些值。 如果 snmpdv1 代理程序在条目中迂到无效字段,那么将终止该条目的处理,并且如果启用了日志记录,那么 snmpdv1 代理程序将记录异常消息。

smux 条目

smux 条目指定 snmpdv1 代理程序与 SMUX 对等客户机之间的 SMUX 关联的配置信息。 6 请参阅示例 6 以获取样本条目。 smux 条目的格式必须为:

smux   ClientOID Password  IPAddress  NetMask

以下定义适用于以下项:smux项:

描述
ClientOID 以 SMUX 对等客户机的点分数字表示法指定唯一对象标识。 ClientOID 必须与 /etc/snmpd.peers 文件中指定的 ObjectID 匹配。
密码 指定 snmpdv1 代理程序需要来自 SMUX 对等客户机的密码以认证 SMUX 关联。 密码 必须与 /etc/snmpd.peers 文件中的 密码 匹配。
IPAddress 运行 SMUX 对等客户机的主机的主机名或 IPv4 地址 (采用点分表示法) 或 IPv6 地址。
NetMask 为指定的 IPv4 地址指定点分十进制表示法的网络掩码,或为指定的 IPv6 0 指定 0 到 128 范围内的前缀长度。

以下项的最小指定项:smux条目为:

smux   ClientOID   Password

此最小 smux 条目的缺省值为:

描述
IPAddress 127.0.0.1
NetMask 255.255.255.255

最小条目右侧的字段是可选的,但有一个限制,即指定字段左侧的任何字段都不会被省略。 将忽略 NetMask 右侧的任何信息。 如果未指定密码,那么将不会对 SMUX 关联进行确认。 如果既未指定IPAddress 也未指定 NetMask ,那么 SMUX 关联仅限于本地主机。

对于无效的 smux 条目,如果启用了日志记录,那么 snmpdv1 代理程序将记录 EXCEPTIONS 消息,并且 snmpdv1 代理程序将忽略该 smux 条目。

sysLocation, sysContact, 和 sysName 条目

可以采用以下格式来指定这些条目:

sysLocation  "Austin, Texas, USA, XYZ, Bld 905, 5C-11"
sysContact   "Bill Roth, Amber Services, 1-512-849-3999"
sysName      "my_sysname_value"

条目的第一部分指定变量名称: sysLocationsysContactsysName。 条目的第二部分是表示变量值的带引号字符串。 此字符串的长度不得超过 256 个字符。 对于特定变量名称,如果配置文件中提供了多个条目 (值) ,那么将使用最后一个条目来定义该变量。 如果某个条目在配置文件中不存在,或者在变量名称后未出现任何文本,那么该值将定义为 NULL 字符串。 如果变量名称后面不存在括在引号内的字符串,那么将变量名称后面的第一个单词用作变量值。 sysName 变量条目可用作定制系统名称,而不是系统的缺省主机名。

snmpdv1 守护程序使用 snmpd.conf 配置文件来保存和读取变量。 snmpd.conf 配置文件可以是缺省文件,也可以从命令行指定。 您不需要刷新 snmpdv1 守护程序来查看这些新变量。

注: 为变量 (设置请求) 设置值时, snmpdv1 守护程序将该值写入 snmpd.conf 配置文件以更新这些变量。 如果您正在编辑 snmpd.conf 配置文件,并且集合请求更改了变量,那么在保存已编辑的文件时,集合请求可能会丢失。 可以通过关闭 snmpdv1 守护程序以编辑 snmpd.conf 配置文件或使用 snmpinfo 命令设置变量来避免此情况。
要在 snmpd.conf 配置文件中输入注释,请先输入 # (井号) 字符,然后输入注释。 您可以在 snmpd.conf 文件中的任何位置输入注释。 注释以 # 字符开始,并继续到行尾。
注: 可以在 snmpd.conf 配置文件中按任意顺序放置各种配置条目组,例如 Community Entry , Trap Entry , View Entry , Logging Entry , snmpd EntrySmut Entry

示例

  1. snmpd.conf 文件中的社区条目示例:
    #  Community specifications
    community public
    community private  192.100.154.7  255.255.255.255    readWrite   1.17.2
    community monitor  192.100.154.1  255.255.255.0      readWrite   1.17.2
    community private  oilers
    community simple   giants
    community test     0.0.0.0        0.0.0.0            none
    community nobody   0.0.0.0        255.255.255.255    readWrite   1.17.35
    community ipv6test 0::0           0
    community ipv6monitor  2000:1:1:1:209:6bff:feae:6d67  64     readWrite   1.17.2

    第一个条目举例说明了社区条目的最低必需规范。 IP 地址缺省为 0.0.0.0。 网络掩码缺省为 0.0.0.0。 许可权缺省为 readOnly。 该视图缺省为整个 MIB 树。 此配置使 snmpdv1 代理程序能够接受社区名称下的所有 readOnly 请求public而不考虑 IP 地址。 写入或设置请求被拒绝。

    第二个条目限制 snmpdv1 代理程序接受readWrite社区名称下的请求private仅从 IP 地址192.100.154.7对于与视图名称关联的 MIB 变量 1.17.2.

    第三个条目使 snmpdv1 代理程序能够接受readWrite社区名称下的请求monitor从所有以以下地址开头的 IP 地址192.100.154(由网络掩码指示) 对于与视图名称关联的所有 MIB 变量,1.17.2.

    第四个条目将网络掩码设置为缺省值255.255.255.255以及对缺省值 readOnly的许可权。 此配置使 snmpdv1 代理程序能够接受社区名称下的 readOnly 请求private来自指定的主机oilers用于整个 MIB 树。 社区名称的重复使用private与第二个示例条目中的用法无关。

    第五个条目将网络掩码设置为缺省值255.255.255.255以及 readOnly的缺省许可权。 此配置使 snmpdv1 代理程序能够接受社区名称下整个 MIB 树的 readOnly 请求simple仅从主机giants. 写入或设置请求被拒绝。

    第六个条目导致 snmpdv1 代理程序拒绝共用名下的所有请求test,而不考虑 IP 地址,因为none.

    第七个条目导致 snmpdv1 代理程序拒绝共用名下的所有请求nobody因为网络掩码将 IP 地址限制为进入0.0.0.0,它是保留的,不可用于主机。

    第八个条目使 snmpdv1 代理程序通过社区名称 ipv6test下的 IPv6 网络接受所有请求。

    第九个条目使 snmpdv1 代理程序接受来自以 2000:1:1:1:209:6bff:feae:6d67开头的所有 IP 地址的社区名称 ipv6monitor 下的读写请求,如与视图名称 1.17.2关联的所有 MIB 变量的网络前缀长度所指示。

  2. snmpd.conf 文件中陷阱条目的示例:
    #  Trap host notification specifications
    trap traps   192.100.154.7
    trap traps   129.35.39.233
    trap events  giants
    trap public  oilers  1.2.3       be
    trap private 129.35.42.2101.2.4        7etrap events  2000:1:1:1:209:6bff:feae:6d67

    第一个条目指定 snmpdv1 代理程序将通知具有 IP 地址的主机192.100.154.7生成的所有陷阱的数据。 嵌入在陷阱包中的共用名将traps.

    第二个条目指定 snmpdv1 代理程序将使用 IP 地址来通知主机129.35.39.233生成的所有陷阱的数据。 嵌入在陷阱包中的共用名将traps.

    第三个条目指定 snmpdv1 代理程序将通知主机。giants生成的所有陷阱的数据。 嵌入在陷阱包中的共用名将events.

    第四个条目指定 snmpdv1 代理程序将通知该主机oilers生成的所有陷阱 ( warmStart 陷阱除外)。 嵌入在陷阱包中的共用名将public. 视图名称1.2.3,将被忽略。

    第五个条目指定 snmpdv1 代理程序将通知该主机129.35.42.210生成的所有陷阱 ( coldStart 陷阱除外)。 嵌入在陷阱包中的共用名将private. 视图名称1.2.4,将被忽略。

    第六个条目指定 snmpdv1 代理程序将通知 IPv6 主机 2000:1:1:1:209:6bff:feae:6d67 生成的所有陷阱。 嵌入在陷阱包中的共用名将是事件。

  3. snmpd.conf 文件中的视图条目示例:
    #     View specifications
    view  1.17.2 system enterprises view
    view  1.17.35
    view  2.10.1 iso.3

    第一个条目关联视图名称1.17.2使用系统,企业和查看 MIB 组。 与视图关联的共用体名称1.17.2将仅与这三个组中的 MIB 变量相关联。 因此,具有具有此共用名关联的读许可权的主机只能获取这些指定组中 MIB 变量的值。

    第二个和第三个条目将 snmpdv1 代理程序配置为允许具有与这些指定视图名称相关联的访问特权的主机访问整个 MIB 树。

  4. snmpd.conf 文件中的日志记录条目示例:
    #   Logging specifications
    logging    /tmp/snmpdlog enabled
    logging    level=2   size=100000 

    这些日志记录条目配置 snmpdv1 代理程序以在调试级别记录消息2和下面的文件/tmp/snmpdlogsize 参数将 /tmp/snmpd 日志文件的文件大小限制为100,000字节。 当日志文件达到 100,000 字节时,将轮换日志文件,以便将完整文件重命名为 /tmp/snmpdlog.0 ,并将新日志文件命名为 /tmp/snmpdlog

  5. snmpd.conf 文件中的 snmpd 条目的示例:
    #       snmpd parameter specifications
    snmpd   maxpacket=2048
    snmpd   querytimeout=120

    第一个 snmpd 条目将 snmpdv1 代理程序传输的包大小限制为 2048字节。

    第二个条目设置 querytimeout参数120秒。 这会将 snmpdv1 代理程序配置为每两分钟查询一次 TCP/IP 内核已知的所有接口以进行状态更改。

  6. snmpd.conf 文件中 smux 条目的示例:
    #    smux configuration
    smux 1.3.6.1.4.1.2.3.1.2.2       #gated
    此 smux 条目将 snmpdv1 代理程序配置为仅允许 SMUX 关联 SMUX 对等客户机,而不进行认证。 SMUX 对等项必须在本地主机上运行。
    #    smux configuration
    smux 1.3.6.1.4.1.2.3.1.2.2   private  #gated
    此 smux 条目将 snmpdv1 代理程序配置为仅允许 SMUX 关联具有密码的 SMUX 对等客户机private。SMUX 对等项必须在本地主机上运行。
    #    smux configuration
    smux 1.3.6.1.4.1.2.3.1.2.2 private 0.0.0.0  0.0.0.0
    此 smux 条目将 snmpdv1 代理程序配置为仅允许 SMUX 关联具有密码的 SMUX 对等客户机private。SMUX 同级可以在任何主机上运行。
    #    smux configuration
    smux 1.3.6.1.4.1.2.3.1.2.2 private 192.100.154.7 255.255.255.255
    此 smux 条目将 snmpdv1 代理程序配置为仅允许 SMUX 关联具有密码的 SMUX 对等客户机private。gated SMUX 同级必须在具有 IP 地址的主机上运行192.100.154.7
    #    smux configuration
    smux 1.3.6.1.4.1.2.3.1.2.2 private 192.100.154.1 255.255.255.0
    此条目将 snmpdv1 代理程序配置为仅允许 SMUX 关联具有密码的 SMUX 对等客户机 private。gated SMUX 同级可以在网络中由以下项定义的任何主机上运行:192.100.154.
    #    smux configuration
    smux 1.3.6.1.4.1.2.3.1.2.2 private 2000:1:1:1:209:6bff:feae:6d67  64
    此条目配置 snmpdv1 代理程序,以仅允许 SMUX 与具有 private 密码的 gated SMUX 对等客户机进行关联。 Gated SMUX 同级可以在 2000:1:1:1:209:6bff:feae:6d67定义的网络中的任何 IPv6 主机上运行。
    注: SMUX 对等客户机对象标识必须是唯一的。 snmpd.conf 文件中只能有 一种 格式的针对 gated SMUX 对等客户机的 smux 条目示例。
  7. snmpd.conf 文件中 sysLocation 和 sysContact 变量条目的示例:
    # Definitions for sysLocation and sysContact
    sysLocation   "Austin, Texas, USA, XYZ, Bld 905, 5C-11"
    sysContact   "Bill Roth, Amber Services, 1-512-849-3999"

    这些条目设置 sysLocationsysContact 变量的值。

  8. snmpd.conf 文件中未设置 sysName 变量时的缺省系统名称示例:
    # snmpinfo -m get sysName.0
    1.3.6.1.2.1.1.5.0 = "p8apa-cx3p1.xxx.xxxlabs.ibm.com"
  9. snmpd.conf 文件中设置 sysName 变量时定制系统名称的示例:
    # snmpinfo -m get sysName.0
    1.3.6.1.2.1.1.5.0 = "my_sysname_value"