Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

为路由实例配置 SNMP

了解路由实例的 SNMP 支持

Junos OS 支持所有路由实例的 SNMP 管理器,以请求和管理与相应路由实例和逻辑系统网络相关的 SNMP 数据。

在 Junos OS:

  • 来自路由实例和/或逻辑系统(默认)的客户端只能访问 MIB 对象,并仅在它们所属的路由实例和/或逻辑系统网络上执行 SNMP 操作。

  • 默认路由实例中的客户端可以访问与所有路由实例和逻辑系统网络相关的信息。

  • 安全Junos路由实例 ( mgmt_junos ) 是一个特殊实例。管理路由实例中的客户端可视为在默认路由实例中,并可以访问所有路由实例和逻辑系统网络相关信息。

在Junos OS版本 8.4 之前,只有默认路由实例 (inet.0) 中的 SNMP 管理器有权访问 MIB对象。

随着虚拟专用网络(VPN)服务产品的增加,此功能特别适用于需要为特定路由实例获取 SNMP 数据的服务提供商(请参阅图 1)。服务提供商可以将这些信息用于自己的管理需求或导出数据以供其客户使用。

图 1: 路由实例的 SNMP 数据路由实例的 SNMP 数据

如果未在请求中指定路由实例,SNMP 代理将按以前的方式运行:

  • 对于 nonrouting table 对象,所有实例都公开。

  • 对于路由表对象,只有与默认路由实例相关联的才会暴露。

    注:

    实际协议数据单元(Pdu)仍通过默认(inet)路由实例进行交换,但返回的数据内容由请求 Pdu 中指定的路由实例决定。

SNMPv3 管理路由实例

从 Junos OS 19.4 R1 开始,您可以通过在所需管理实例中配置 SNMPv3 管理接口来访问与所有路由实例和逻辑系统网络相关的信息,而不是特定于入口路由实例。您可以在[edit SNMP v3]层次结构级别配置管理实例配置语句。

优势

SNMPv3 管理路由实例支持来自非默认路由实例的所有 SNMPv3 请求,如同请求来自默认路由实例。使用 SNMPv3 管理路由实例,可以访问与所有路由实例和逻辑系统网络相关的信息。

启用管理路由实例

要启用 SNMPv3 管理路由实例:

  1. 配置管理实例语句。

  2. 提交配置。

卸下管理路由实例

要卸下 SNMPv3 管理路由实例:

  1. 删除或停用 SNMPv3 管理路由实例语句。

支持路由实例的 SNMP Mib

表 1显示了 Junos OS 支持的企业特定 MIB 对象,并提供了详细说明在 SNMP 请求中指定路由实例时如何处理它们的注释。用一个短号 (-) 表示条目不适用。

表 1: MIB 对路由实例的支持(瞻博网络 Mib)

对象

支持类

说明/注释

jnxProducts (1)

产品对象 Id

jnxServices (2)

服务

jnxMibs (3)

jnxBoxAnatomy (1)

3类

仅为默认逻辑系统公开对象。

mpls (2)

2 类

逻辑系统内的所有实例均公开。数据不会被隔离到路由实例级别。

ifJnx (3)

1类

只有属于特定路由实例的逻辑接口(及其父物理接口)才会公开。

jnxAlarms (4)

3类

仅为默认逻辑系统公开对象。

jnxFirewalls (5)

第4类

数据不会由路由实例隔离。所有实例都公开。

jnxDCUs (6)

1类

只有属于特定路由实例的逻辑接口(及其父物理接口)才会公开。

jnxPingMIB (7)

3类

仅为默认逻辑系统公开对象。

jnxTraceRouteMIB (8)

3类

仅为默认逻辑系统公开对象。

jnxATM (10)

1类

只有属于特定路由实例的逻辑接口(及其父物理接口)才会公开。

jnxIpv6(11)

第4类

数据不会由路由实例隔离。所有实例都公开。

jnxIpv4(12)

1类

jnxIpv4AddrTable(1). 只有属于特定路由实例的逻辑接口(及其父物理接口)才会公开。

jnxRmon (13)

3类

jnxRmonAlarmTable (1)。仅为默认逻辑系统公开对象。

jnxLdp (14)

2 类

jnxLdpTrapVars (1)。逻辑系统内的所有实例均公开。数据不会被隔离到路由实例级别。

jnxCos (15)

jnxCosIfqStatsTable (1) jnxCosFcTable (2) jnxCosFcIdTable (3) jnxCosQstatTable (4)

3类

仅为默认逻辑系统公开对象。

jnxScu (16)

jnxScuStatsTable (1)

1类

只有属于特定路由实例的逻辑接口(及其父物理接口)才会公开。

jnxRpf (17)

jnxRpfStatsTable (1)

1类

只有属于特定路由实例的逻辑接口(及其父物理接口)才会公开。

jnxCfgMgmt (18)

3类

仅为默认逻辑系统公开对象。

jnxPMon (19)

jnxPMonFlowTable (1)

jnxPMonErrorTable (2)

jnxPMonMemoryTable (3)

1类

只有属于特定路由实例的逻辑接口(及其父物理接口)才会公开。

jnxSonet (20)

jnxSonetAlarmTable (1)

1类

只有属于特定路由实例的逻辑接口(及其父物理接口)才会公开。

jnxAtmCos (21)

jnxCosAtmVcTable (1)

jnxCosAtmScTable (2)

jnxCosAtmVcQstatsTable (3)

jnxCosAtmTrunkTable (4)

1类

只有属于特定路由实例的逻辑接口(及其父物理接口)才会公开。

ipSecFlowMonitorMIB (22)

jnxMac (23)

jnxMacStats (1)

1类

只有属于特定路由实例的逻辑接口(及其父物理接口)才会公开。

apsMIB (24)

3类

仅为默认逻辑系统公开对象。

jnxChassisDefines (25)

3类

仅为默认逻辑系统公开对象。

jnxVpnMIB (26)

2 类

逻辑系统内的所有实例均公开。数据不会被隔离到路由实例级别。

jnxSericesInfoMib (27)

1类

只有属于特定路由实例的逻辑接口(及其父物理接口)才会公开。

jnxCollectorMIB (28)

1类

只有属于特定路由实例的逻辑接口(及其父物理接口)才会公开。

jnxHistory (29)

jnxSpMIB (32)

3类

仅为默认逻辑系统公开对象。

表 2显示了 Junos OS 支持的第1类 MIB 对象(标准和特定于企业的 Mib)。对于类1对象,只有属于特定路由实例的逻辑接口(及其父物理接口)才会公开。

表 2: 第1类 MIB 对象(标准和 Juniper Mib)

分类

MIB

对象

1类

802.3ad.mib

(dot3adAgg)MIB 对象:

dot3adAggTable

dot3adAggPortListTable

(dot3adAggPort)

dot3adAggPortTable

dot3adAggPortStatsTable

dot3adAggPortDebugTable

rfc2863a.mib

ifTable

ifXTable

ifStackTable

rfc2011a.mib

ipAddrTable

ipNetToMediaTable

rtmib.mib

ipForward (ipCidrRouteTable)

rfc2665a.mib

dot3StatsTable

dot3ControlTable

dot3PauseTable

rfc2495a.mib

dsx1ConfigTable

dsx1CurrentTable

dsx1IntervalTable

dsx1TotalTable

dsx1FarEndCurrentTable

dsx1FarEndIntervalTable

dsx1FarEndTotalTable

dsx1FracTable ...

rfc2496a.mib

dsx3 (dsx3ConfigTable)

rfc2115a.mib

frDlcmiTable (以及相关 MIB 对象)

rfc3592.mib

sonetMediumTable (以及相关 MIB 对象)

rfc3020.mib

mfrMIB

mfrBundleTable

mfrMibBundleLinkObjects

mfrBundleIfIndexMappingTable

(以及相关 MIB 对象)

ospf2mib.mib

所有对象

ospf2trap.mib

所有对象

bgpmib.mib

所有对象

rfc2819a.mib

示例:etherStatsTable

1类

rfc2863a.mib

例子

ifXtable

ifStackTable

rfc2665a.mib

etherMIB

rfc2515a.mib

atmMIB 对象

例子

atmInterfaceConfTable

atmVplTable

atmVclTable

rfc2465.mib

ip-v6mib

例子

ipv6IfTable

ipv6AddrPrefixTable

ipv6NetToMediaTable

ipv6RouteTable

rfc2787a.mib

vrrp mib

rfc2932.mib

ipMRouteMIB

ipMRouteStdMIB

mroutemib.mib

ipMRoute1MIBObjects

isismib.mib

isisMIB

pimmib.mib

pimMIB

msdpmib.mib

msdpmib

jnx-if-extensions.mib

例子

ifJnxTable

ifChassisTable

jnx-dcu.mib

jnxDCUs

jnx-atm.mib

例子

jnxAtmIfTable

jnxAtmVCTable

jnxAtmVpTable

jnx-ipv4.mib

jnxipv4

示例:jnxIpv4AddrTable

jnx-cos.mib

例子

jnxCosIfqStatsTable

jnxCosQstatTable

jnx-scu.mib

示例:jnxScuStatsTable

jnx-rpf.mib

示例:jnxRpfStatsTable

jnx-pmon.mib

示例:jnxPMonFlowTable

jnx-sonet.mib

示例:jnxSonetAlarmTable

1类

jnx-atm-cos.mib

例子

jnxCosAtmVcTable

jnxCosAtmVcScTable

jnxCosAtmVcQstatsTable

jnxCosAtmTrunkTable

jnx-mac.mib

示例:jnxMacStatsTable

jnx-services.mib

示例:jnxSvcFlowTableAggStatsTable

jnx-coll.mib

jnxCollectorMIB

例子

jnxCollPicIfTable

jnxCollFileEntry

表 3显示了 Junos OS 支持的第2类 MIB 对象(标准和特定于企业的 Mib)。对于2类对象,将公开逻辑系统内的所有实例。数据不会被隔离到路由实例级别。

表 3: 2类 MIB 对象(标准和 Juniper Mib)

分类

MIB

对象

2 类

rfc3813.mib

mplsLsrStdMIB

例子

mplsInterfaceTable

mplsInSegmentTable

mplsOutSegmentTable

mplsLabelStackTable

mplsXCTable

(以及相关 MIB 对象)

igmpmib.mib

igmpStdMIB

注:

igmpmib.mib是在实验树中的 IGMP 标准 MIB 的草稿版本。Junos OS 不支持原始 IGMP 标准 MIB。

l3vpnmib.mib

mplsVpnmib

jnx-mpls.mib

示例:mplsLspList

jnx-ldp.mib

jnxLdp

示例:jnxLdpStatsTable

jnx-vpn.mib

jnxVpnMIB

jnx-bgpmib2.mib

jnxBgpM2Experiment

表 4显示了 Junos OS 支持的第3类 MIB 对象(标准和特定于企业的 Mib)。对于类3,仅为默认逻辑系统公开对象。

表 4: 3类 MIB 对象(标准和 Juniper Mib)

分类

MIB

对象

3类

rfc2819a.mib

rmonEvents

alarmTable

logTable

eventTable

agentxMIB

rfc2925a.mib

pingmib

rfc2925b.mib

tracerouteMIB

jnxchassis.mib

jnxBoxAnatomy

jnx-chassis-alarm.mib

jnxAlarms

默认情况下,SRX 系列设备仅查询冗余组 0 (RG0) 的主节点上的 jnxAlarms mib,而非辅助节点。

jnx-ping.mib

jnxPingMIB

jnx-traceroute.mib

jnxTraceRouteMIB

jnx-rmon.mib

jnxRmonAlarmTable

jnx-cos.mib

示例:jnxCosFcTable

jnx-cfgmgmt.mib

示例:jnxCfgMgmt

jnx-sonetaps.mib

apsMIBObjects

jnx-sp.mib

jnxSpMIB

ggsn.mib

ejnmobileipABmib

rfc1907.mib

snmpModules

snmpModules

例子

snmpMIB snmpFrameworkMIB

表 5显示了 Junos OS 支持的第4类 MIB 对象(标准和特定于企业的 Mib)。对于第4类对象,数据不会由路由实例隔离。所有实例都公开。

表 5: 第4类 MIB 对象(标准和 Juniper Mib)

分类

MIB

对象

第4类

系统

示例:sysORTable

rfc2011a.mib

ip (ipDefaultTTL、ipInReceives)

icmp

rfc2012a.mib

tcp

tcpConnTable

ipv6TcpConnTable

rfc2013a.mib

udp

udpTable

ipv6UdpTable

rfc2790a.mib

hrSystem

rfc2287a.mib

sysApplOBJ

jnx-firewall.mib

jnxFirewalls

jnx-ipv6.mib

jnxIpv6

MIB 对象的支持类

指定路由实例时,所有与路由相关的 MIB 对象均返回由请求中的路由实例维护的数据。对于所有其他 MIB 对象,返回的数据将根据该路由实例进行隔离。例如,只有分配给该路由实例的接口(例如,逻辑接口 [ifls] 及其对应的物理接口 [ifds])才会由 SNMP 代理公开。同样,具有明确连接到接口的对象(例如地址)也将被隔离。

对于附件不明确的对象(例如,sysApplMIB 中的对象),不进行隔离,并且所有实例在所有情况下都可见。

另一个对象类别仅在未指定逻辑系统时可见(仅限在默认逻辑系统中),而不管默认逻辑系统中的路由实例是什么。此类别中的对象包括机箱 MIB 对象、SNMP 组中的对象、RMON 报警、事件和日志组、Ping MIB 对象、配置管理对象和 V3 对象。

总而言之,为了支持路由实例,MIB 对象属于以下类别之一:

  • 1 类 - 数据根据请求中的路由实例隔离。这是隔离类中最细粒度的。

  • 2 类 - 数据根据请求中指定的逻辑系统隔离。对于属于特定逻辑系统的所有路由实例,都将返回相同的数据。通常,这适用于路由表对象,在这里很难提取路由实例信息或路由实例不适用的位置。

  • 3 类 - 数据仅为默认逻辑系统公开。对于属于默认逻辑系统的所有路由实例,都将返回相同的数据集。如果指定另一个逻辑系统(非默认),则不会返回任何数据。通常,此类适用于不监控逻辑系统更改并仅使用默认上下文注册其对象的代理中实施的对象(例如,机箱 MIB 对象)。

  • 4 类 - 数据不会由路由实例隔离。将为所有路由实例返回相同的数据。通常,这适用于在其子代理中实施的对象,用于监控逻辑系统变更并为每个逻辑系统变更注册或取消所有其对象。其值不能由路由实例隔离在此类中的对象。

有关与每个类关联的对象列表,请参阅路由实例支持的 SNMP mib

路由实例支持的 SNMP 陷阱

您可以限制陷阱接收器接收与所属逻辑系统网络无关的陷阱。为此,请将logical-system-trap-filter语句包含在[edit snmp]层次结构级别:

如果 SNMP logical-system-trap-filter配置中未包括该语句,则所有陷阱都将转发到配置的路由实例目标。但是,即使配置了此语句,与默认路由实例相关联的陷阱接收器也将接收所有 SNMP 陷阱。

在陷阱组对象下配置时,适用于路由实例(或属于路由实例的接口)的所有 v1 和 v2c 陷阱都具有在团体字符串中编码的路由实例名称。编码与请求 Pdu 中使用的相同。

对于在 v3 框架下配置的陷阱,当配置了 v3 消息处理模型时,路由实例名称将在上下文字段中携带。对于其他消息处理模型(v1 或 v2c),路由实例名称不会携带在陷阱消息标头中(并且不会在社区字符串中编码)。

识别路由实例

通过此功能,路由实例由 v3 请求中的上下文字段或 v1 或 v2c 请求的社区字符串中编码的形式标识。

当编码为社区字符串时,路由实例名称先出现,并与实际的团体字符串分@字符分隔。

为避免与包含该@字符的有效团体字符串发生冲突,仅当典型的团体字符串处理失败时才会分析该社区。例如,如果配置了名RI为的路由实例,将在RI@publicRI路由实例的上下文内处理 SNMP 请求 with。访问控制(视图、源地址限制、访问权限等)根据实际社区字符串(字符后的一组数据)应用, @ 本例中 public 为 。但是,如果配置了社区RI@public字符串,则会根据该社区处理协议数据单元(PDU),并忽略嵌入式路由实例名称。

逻辑系统执行物理路由器的一部分操作,并拥有自己的唯一路由表、接口、策略和路由实例。在逻辑系统内定义路由实例时,必须使用斜杠( / )将逻辑系统名称与路由实例进行编码,使二者分离。例如,如果在逻辑系统RILS内配置了路由实例,则必须在团体字符串中将路由实例编码为。 LS/RI@public 当路由实例在逻辑系统外部(默认逻辑系统内)配置时,不需要逻辑系统名称(或/字符)。

此外,创建逻辑系统时,始终会在逻辑系统内创建默认default路由实例(已命名)。此名称应在查询该路由实例的数据时使用(例如LS/default@public)。对于 v3 请求,名称 逻辑系统/路由 实例应直接在上下文字段中标识。

注:

要识别虚拟 LAN (VLAN)生成树实例(MX 系列5G 通用路由平台上的 VSTP),请指定路由实例名称,后面跟着两个冒号(::)和 VLAN ID。例如,要识别全局默认路由实例中的 VLAN 10 的 VSTP 实例,请将default::10@publiccontext包含在(SNMPv3)或community (SNMPv1 或 v2)字符串中。

启用路由实例的 SNMP 访问

要在除默认路由实例之外的路由实例中启用 SNMP 管理器来访问 SNMP 信息, routing-instance-access请在[edit snmp]层次结构级别上包含语句:

如果 SNMP 配置中未包括此语句,则来自默认路由实例之外的路由实例的 SNMP 管理器将无法访问 SNMP 信息。此设置适用于任何 SNMP 版本(SNMP v1、v2 或 v3)的请求。

在 SNMPv1 或 SNMPv2c 社区中指定路由实例

将客户端添加到 SNMP 社区时,您可以指定路由实例以及客户端信息。要指定客户端所属的路由实例,请在 SNMP 配置routing-instance中包含该语句,然后是路由实例名称和客户端信息。

以下示例显示了将路由实例测试-ri 添加到 SNMP 社区 community1 的配置语句。

注:

[edit snmp community community-name]层次结构级别指定的路由实例将添加到社区中的默认逻辑系统中。

如果在逻辑系统内定义了路由实例,请将routing-instance语句包含在 [edit snmp community community-name logical-system logical-system-name] 层次结构级别,如下例所示:

示例:配置路由实例的接口设置

此示例显示了分配给名为 INFrtd 的路由实例的 802.3 a d ae0 接口配置:

以下snmpwalk命令显示如何使用 snmp 社区public从属于路由实例 INFrtd 的 router1 和 802.3 ae 捆绑包接口中检索 SNMP 相关信息:

在路由实例上配置 SNMP 访问的访问列表

您可以创建和维护访问列表,以管理 SNMP 信息的访问。访问列表配置允许您允许或拒绝 SNMP 访问特定路由实例的客户端,并应用于任何 SNMP 版本的请求。

以下示例显示如何创建访问列表:

示例中给出的配置:

  • 限制客户端ri1访问 SNMP 信息。

  • 允许中ls1/defaultls1/ri2、和所有其他名称ls1的客户端的路由实例访问 SNMP 信息。

您可以使用通配符(*)代表路由实例名称中的字符串。

注:

您不能通过访问 SNMP 信息来限制默认路由实例的 SNMP 管理器。