来自带有 Q-BRIDGE-MIB 的非 Cisco 交换机的 Mac/CAM 条目

网络工程 思科 转变 snmp 锦缎 铸造厂
2021-07-15 17:16:51

我如何为其他交换机(如D link DES 3526Brocade Fastiron SX800)进行社区字符串索引

我正在运行一个 java 程序来轮询Brocade sx 800 l3 交换机上的特定 vlan 程序抛出“超时错误”。然后我检查了交换机日志,上面写着社区字符串无效我在使用语法“community@vlanid”时遇到问题。

显示所有 Vlan 及其名称:

显示所有 Vlan 及其名称

有人可以告诉我 Cisco 以外的交换机的社区字符串索引吗?

编辑

我在 CLI 中使用 Net-SNMP 尝试了命令:

轮询系统描述:

snmpwalk -v 2c -c public 10.21.200.4 1.3.6.1.2.1.1.1
SNMPv2-MIB::sysDescr.0 = STRING: DES-3526 Fast-Ethernet Switch

轮询 dot1dTpFdbAddress(默认 Vlan):

snmpbulkwalk -v 2c -c public 10.21.200.4 1.3.6.1.2.1.17.4.3.1.1
SNMPv2-SMI::mib-2.17.4.3.1.1.0.27.17.189.90.220 = Hex-STRING: 00 1B 11 BD 5A DC
SNMPv2-SMI::mib-2.17.4.3.1.1.4.254.127.149.86.136 = Hex-STRING: 04 FE 7F 95 56 88

轮询 dot1dTpFdbAddress(默认 Vlan4):

snmpbulkwalk -v 2c -c public@4 10.21.200.4 .1.3.6.1.2.1.17.4.3.1.1
Timeout: No Response from 10.21.200.4

Netdisco 列出所有端口和相应的 MAC 地址 Netdisco 列出所有端口和相应的 MAC 地址

我想从各个端口检索所有 MAC 地址。Q-桥MIB显示交换机上的所有端口可惜的MAC地址OID不能访问。另一方面,使用Bridge MIB仅列出来自默认 Vlan 的 MAC 地址。PS:访问其他 vlan 的社区字符串索引 ( coommstring@vlanid ) 仅适用于 Cisco 交换机。

1个回答

有人可以告诉我 Cisco 以外的交换机的社区字符串索引吗?

编辑:

这是如何从我唯一的非 Cisco DLink DGS-3200 轮询 Q-BRIDGE-MIB 以获取 mac 地址。没有将 [community@vlan] 用于非 Cisco 交换机。您是正确的,此索引仅适用于 Cisco。我希望任何支持 Q-BRIDGE-MIB 的非 Cisco 交换机都能以相同的方式工作。

轮询sysDescr以记录被测交换机

[mpenning@tsunami ~]$ # Demo from a DLink DGS-3200 switch
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public -OXsq 172.16.1.2 sysdescr
sysDescr.0 "DGS-3200-10 Gigabit Ethernet Switch"
[mpenning@tsunami ~]$

Walking dot1qVlanStaticName:列出Vlan及其文本名称

[mpenning@tsunami ~]$
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public 172.16.1.2 .1.3.6.1.2.1.17.7.1.4.3.1.1
BRIDGE-MIB::dot1dBridge.7.1.4.3.1.1.1 = STRING: "default"
[mpenning@tsunami ~]$

dot1qFdbDynamicCount : 已知的 mac 地址数

[mpenning@tsunami ~]$ 
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public  172.16.1.2 .1.3.6.1.2.1.17.7.1.2.1.1.2
BRIDGE-MIB::dot1dBridge.7.1.2.1.1.2.1 = Counter32: 17
[mpenning@tsunami ~]$

dot1qVlanCurrentEgressPorts : vlan 中端口的位图

[mpenning@tsunami ~]$ 
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public 172.16.1.2 .1.3.6.1.2.1.17.7.1.4.2.1.4
BRIDGE-MIB::dot1dBridge.7.1.4.2.1.4.2562.1 = Hex-STRING: FF C0 00 00
[mpenning@tsunami ~]$

dot1qTpFdbPort:学习到的所有 MAC 地址

mac 地址在dot1qTpFdbPort的索引中显示为一串六位十进制数字请注意,我在端口上有一个下游交换机连接到此交换机1/5...

[mpenning@tsunami ~]$ 
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public 172.16.1.2 .1.3.6.1.2.1.17.7.1.2.2.1.2
BRIDGE-MIB::dot1dBridge.7.1.2.2.1.2.1.0.13.101.22.202.65 = INTEGER: 5
BRIDGE-MIB::dot1dBridge.7.1.2.2.1.2.1.0.13.189.7.134.128 = INTEGER: 5
BRIDGE-MIB::dot1dBridge.7.1.2.2.1.2.1.0.13.189.7.134.129 = INTEGER: 5
BRIDGE-MIB::dot1dBridge.7.1.2.2.1.2.1.0.29.161.205.83.70 = INTEGER: 9
BRIDGE-MIB::dot1dBridge.7.1.2.2.1.2.1.0.48.27.188.167.215 = INTEGER: 2
BRIDGE-MIB::dot1dBridge.7.1.2.2.1.2.1.0.192.183.110.158.29 = INTEGER: 3

... more entries here
[mpenning@tsunami ~]$

dot1dBasePortIfIndex:将值从dot1qTpFdbPort 映射ifIndex

[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public -OXsq 172.16.1.26 .1.3.6.1.2.1.17.1.4.1.2
dot1dBasePortIfIndex[1] 1
dot1dBasePortIfIndex[2] 2
dot1dBasePortIfIndex[3] 3
dot1dBasePortIfIndex[4] 4
dot1dBasePortIfIndex[5] 5
dot1dBasePortIfIndex[6] 6
dot1dBasePortIfIndex[7] 7
dot1dBasePortIfIndex[8] 8
dot1dBasePortIfIndex[9] 9
dot1dBasePortIfIndex[10] 10

ifName:将值从ifIndex映射ifName

[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public -OXsq 172.16.1.26 ifName
ifName[1] 1/1
ifName[2] 1/2
ifName[3] 1/3
ifName[4] 1/4
ifName[5] 1/5
ifName[6] 1/6
ifName[7] 1/7
ifName[8] 1/8
ifName[9] 1/9
ifName[10] 1/10
ifName[5121] System
[mpenning@tsunami ~]$

原来的:

您的 OID 中有错误,您正在使用1.3.6.2.3.1.17.4.3.1.1; 但是,dot1dTpFdbAddress1.3.6.1.2.1.17.4.3.1.1.

不同之处在于改变了一些八位字节,如下...

OID Incorrect: 1.3.6.2.3.1.17.4.3.1.1   <--- Not this
OID Corrected: 1.3.6.1.2.1.17.4.3.1.1   <--- Use this
                     ^ ^
                     | |