对于我的项目,我需要从 switch 下载 mac 表并尽快完成。官方solution有点慢。它需要获取所有 Vlan 的列表,并为每个触发单独调用带有 OID=.1.3.6.1.2.1.17.4.3.1.1
的 snmpwalk 和用 vlan 编号索引的社区字符串。这可能会花费大量时间,因为我们交换机上的 vlan 数量在几十个范围内。
有没有办法一次从 mac 表中获取所有 mac 地址(一些特殊的社区索引代表所有可用的 vlan 索引)?
提前致谢..
最佳答案
我认为 BRIDGE-MIB::dot1dTpFdbTable
(1.3.6.1.2.1.17.4.3) 可以胜任。可以简单地检索 dot1dTpFdbPort
(1.3.6.1.2.1.17.4.3.1.2) 来检索学习 MAC -> PORT 表。对于我的 DLINK DGS-1216T,我可以通过以下命令从我的 Linux 机器中获取 mac-to-port 表:
$ snmpwalk -O0sUX -v2c -Cc -c public 192.168.0.1 BRIDGE-MIB::dot1dTpFdbPort
此外,我还为维护 MAC 找到了额外的(第 17 个)端口号。
关于SNMP - 一次调用即可获得完整的 Mac 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5866703/