我如何为其他交换机(例如D链接DES 3526和Brocade Fastiron SX800)建立社区字符串索引?我正在运行Java程序来轮询Brocade sx 800 l3交换机上的特定VLAN。程序抛出“超时错误”。然后,我检查了切换日志,该日志显示社区字符串无效。我在使用语法“ community @ vlanid”时遇到麻烦。

显示所有Vlan及其名称:



请告诉别人我是否为Cisco以外的交换机使用社区字符串索引?

编辑

我在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


投票点1dTpFdbAddress(默认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


投票点1dTpFdbAddress(默认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地址


我想从单个端口检索所有MAC地址。 Q桥MIB显示了交换机上的所有端口,但不幸的是MAC地址OID不可访问。另一方面,使用网桥MIB仅列出默认Vlan中的MAC地址。
PS:社区字符串索引(coommstring @ vlanid)仅可用于CISCO交换机。

评论

您要轮询哪些OID?仅供参考,除了BRIDGE-MIB或Q-BRIDGE-MIB,我想不到需要使用vlan id进行索引的OID

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

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

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

现在,让我们验证开关的行为。请尝试此操作(从带有Net-SNMP的CLI),snmpbulkwalk -v 2c -c public @ 4 [SWITCH-ADDRESS-HERE] .1.3.6.1.2.1.17.4.3.1.1。那能满足您的需求吗?

#1 楼


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


编辑:

这是轮询Q-BRIDGE-的方法来自唯一的非Cisco我的DLink DGS-3200的mac地址的MIB。我没有将[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 ~]$


行走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;但是,dot1dTpFdbAddress是1.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我正在尝试在netgear gs752txs上实现cisco.com/c/en/us/support/docs/ip/… 。该指南适用于具有v2c的netgear gsm7328s,我得到以下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 =目前尚无此类实例在这个OID

–shorif2000
2014年6月6日14:21



@sharif,当您轮询snmpwalk -v 2c -c public netgearpt01 .1.3.6.1.2.1.1.1时会发生什么?这只是从交换机获取sysDescr。

–迈克·彭宁顿
2014年6月6日14:35



是的,它确实。我得到SNMPv2-MIB :: sysDescr.0 = STRING:GS752TXS具有10G上行链路,6.1.0.12,B5.2.0.1的ProSafe 52端口千兆可堆叠智能交换机。说我有一个交换机网络。我想找到当前已连接的拨叉和插销。 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年6月6日14:47



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

–迈克·彭宁顿
2014年3月6日15:00

50是端口索引。否则,您描述的算法将起作用。您应在轮询前ping子网,以确保交换机表中的Mac数最大。

–迈克·彭宁顿
2014年6月6日15:14