下面是我用来获取瞻博交换机所需的特定数据的命令。
获取端口 ID 和接口
snmpwalk -r:“交换机名称”-v:2 -t:10 -c:“*******”-os:“1.3.6.1.2.1.2.2.1.2”-op:“1.3.6.1.2.1.2.2.1.3”
获取 Vlan 号和 Vlan 名称
snmpwalk -r:“交换机名称”-v:2 -t:10 -c:“*******”-os:“1.3.6.1.4.1.2636.3.40.1.5.1.5.1.2”-op:“1.3.6.1.4.1.2636.3.40.1.5.1.5.1.3”
snmpwalk -r:“交换机名称”-v:2 -t:10 -c:“*******”-os:“1.3.6.1.4.1.2636.3.40.1.5.1.5.1.5”-op:“1.3.6.1.4.1.2636.3.40.1.5.1.5.1.6”
获取 MAC 地址
??????????????????
获取端口 ID 和 Vlan 号 / 接口和 Vlan 号
??????????????????
你们知道我将使用什么命令/oid 来获取每个接口的以下 VLAN 号和 MAC 地址吗?请验证我使用的其他 OID。
先感谢您。
答案1
我已做过一些了。
您想要的 OID 称为 Q-Bridge-II MIB,位于 1.3.6.1.2.1.17.7.1.2.2.1.2 - 它返回与列出这些 MAC 地址的逻辑端口相关联的 MAC 地址列表。
现在您需要注意,因为有几个问题:首先,MAC 地址被编码为 OID 中的行规范,VALUES 是该 MAC 地址可通过的 ifPort。因此,您必须拉入表格并将十进制 MAC 转换为您习惯处理的十六进制 MAC。
第二,在 Juniper 上,与 MAC 地址关联的接口几乎总是一个子接口,并且端口标签/描述通常与物理接口相关联,因此没有一种简单的方法可以根据从 Q-Bridge-II 返回的 portID(并忽略整个将 ifPort-to-ifIndex 转换为 ifLabel)从端口描述中读取 ifLabel。
例如:
$ findmac --DEBUG -c MyPass sa4-39 00:07:e9:25:05:3c
[...]
DEBUG:00:07:e9:25:05:3c is on port 549
DEBUG:549 is ifIndex 591
DEBUG:ifIndex: [591]
DEBUG:ifName: [ge-0/0/36.0]
sa4-39: port 549(ge-0/0/36.0)
在这种情况下,mac 与 0/0/36.0 相关联,而标签与 0/0/36 相关联。此 hoopage-jumpage 是必要的,因为对于更简单的交换机,ifPort 索引与物理端口索引相同 - ifPort 1 是交换机上的端口 1。Junipers 的情况并非如此。
我的脚本检查 ifAliases(因为在 Dell 和 HP 等其他设备上它会找到它们)但是 Junipers 没有将它们放在正确的位置。
如果您非常注重细节,您可以将端口描述应用到子接口而不是接口,例如:
set interfaces ge-0/0/36 description "Description on the physical port"
set interfaces ge-0/0/36 unit 0 description "Description on the sub-interface"
两者都有效,但 GUI 只执行第一个;同样,GUI 只显示第一个的值。如果执行第二个,则读取 ifAlias 会更加直接,但我没有全局执行此操作。
无论如何,这是您的一个 OID。
答案2
show interfaces extensive will give you just about everything.
Show vlan
也是有效且有帮助的。