来自具有Q-BRIDGE-MIB的非思科交换机的Mac / CAM条目


12

如何为其他交换机(例如D链接DES 3526Brocade Fastiron SX800)建立社区字符串索引?

我正在运行一个Java程序来轮询Brocade sx 800 l3交换机上的特定VLAN 。程序抛出“超时错误”。然后,我检查了切换日志,该日志显示社区字符串无效。我在语法“ community @ vlanid”时遇到麻烦。

显示所有VLAN及其名称:

显示所有VLAN及其名称

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

编辑

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

轮询sysDescr:

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不能访问。另一方面,使用网桥MIB仅列出默认Vlan中的MAC地址。PS:用于访问其他VLAN的社区字符串索引(coommstring @ vlanid)仅适用于CISCO交换机。


您要轮询哪些OID?仅供参考,除了BRIDGE-MIBQ-BRIDGE-MIB之外,我想不出需要使用vlan ID进行索引的OID
Mike Pennington 2014年

是的,仅Bridge MIB。我正在尝试轮询dot1dTpFdbAddress以从Brocade SX 800交换机(OID:1.3.6.2.3.1.17.4.3.1.1)上的特定Vlanid(vlan:4)检索MAC表。我相信public @ 4语法中有错误。您能否澄清一下?
Abhishek Balaji R 2014年

1
诊断测试...轮询sysdescr是否起作用? snmpget -v 2c -c public [SWITCH-ADDRESS-HERE] .1.3.6.1.2.1.1.1.0
Mike Pennington 2014年

是的,它有效。我可以在Sx 800交换机上检索可用VLAN的列表。我还可以获取默认Vlanid的MAC表,在我的情况下为vlanid1。问题是从其他Vlan检索MAC表。仅供参考,我在Java环境(SNMP4j)中进行编码。谢谢。
Abhishek Balaji R 2014年

现在,让我们验证开关的行为。请尝试此操作(从带有Net-SNMP的CLI )snmpbulkwalk -v 2c -c public@4 [SWITCH-ADDRESS-HERE] .1.3.6.1.2.1.17.4.3.1.1。那会返回您所需要的吗?
Mike Pennington 2014年

Answers:


7

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

编辑:

这是如何从唯一的非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
                     ^ ^
                     | |

以下命令不返回任何snmpwalk -c public -v1 netgearpt01 .1.3.6.1.2.1.17.4.3.1.1我想实现cisco.com/c/en/us/support/docs/ip/...netgear gs752txs。该指南适用于netgear gsm7328sv2c,我可以得到以下信息snmpwalk -c public -v2c netgearpt01 .1.3.6.1.2.1.17.4.3.1.1 SNMPv2-SMI::mib-2.17.4.3.1.1 = No Such Instance currently exists at this OID
shorif2000 2014年

@sharif,当您进行投票时会发生什么snmpwalk -v 2c -c public netgearpt01 .1.3.6.1.2.1.1.1?这只是sysDescr从开关。
Mike Pennington 2014年

是的,它确实。我明白了SNMPv2-MIB::sysDescr.0 = STRING: GS752TXS ProSafe 52-Port Gigabit Stackable Smart Switch with 10G uplinks, 6.1.0.12, B5.2.0.1。说我有一个交换机网络。我想找到当前连接的拨叉和插销。mac地址是00:04:f2:e2:67:62。跑步snmpwalk -v 2c -c public netgearpt02 .1.3.6.1.2.1.17.7.1.2.2.1.2给了我一个长长的清单。我如何将mac地址转换为6位十六进制数字,以查明它在哪个端口上?netgearpt02是我的顶级交换机
shorif2000 2014年

考虑一下我走路时返回的第一个值dot1qTpFdbPort;我得到的第一个条目又BRIDGE-MIB::dot1dBridge.7.1.2.2.1.2.1.0.13.101.22.202.65 = 5回来了。 0.13.101.22.202.651是编码为十进制(即00:13:65:16:ca:41)的mac地址。这是在dot1dBasePortIfIndex5 上学到的,它当然映射到上ifName图所示的。
Mike Pennington 2014年

1
50是端口索引。否则,您描述的算法将起作用。您应在轮询前ping子网,以确保交换机表中的Mac数最大。
Mike Pennington 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.