Jer*_*ner 1 nat automated-testing ipv6 mac-address
只是在黑暗中试一试,但我想我会问,以防万一有人有一些想法:
我有一个测试场景,其中一些(无 GUI/嵌入式)IPv6 设备将临时插入托管以太网交换机的端口,以及一个控制程序(在单独的 Linux PC 上运行,也连接到交换机) 将检测这些设备之一何时出现在 LAN 上,并自动运行测试以确保设备正常工作。
通常会同时连接十几个这样的设备(因此我们可以并行运行测试),并且设备将由不一定了解网络的人定期连接和断开连接;他们只知道如何插入以太网电缆,然后(几个小时后)查看 PC 的屏幕以查看测试是否通过。
当前的问题是如何在特定设备未通过测试时向测试人员指示。一种选择是错误日志/消息包含设备的 MAC 地址(源自其本地链路 IPv6 地址),这在紧要关头可能就足够了,但如果测试程序也可以说类似的话会更好“连接到端口 #5 的设备工作不正常,看看那个”。这样一来,测试人员就可以沿着以太网电缆找到故障设备,而不必弄清楚每个设备的 MAC 地址是什么,直到他/她找到匹配的设备。
我认为Linux 计算机不可能知道特定设备连接到哪个交换机端口(如果我错了,请告诉我)。但假设是这种情况,下一个最好的事情是,如果我可以对交换机进行编程以进行 MAC 地址转换,例如,插入到端口 #n 的任何设备总是出现(对 Linux 计算机),就好像它有 MAC地址 foo:bar:baz:n,因此显示为 IPv6 地址 fe80::2foo:bar:baz:n。如果交换机像这样进行 MAC 地址转换,那么控制软件可以通过查看虚假 MAC 地址的最后一部分来确定设备连接到哪个端口。
所以我的问题是,任何托管以太网交换机都支持这种行为吗?如果是这样,这个功能叫什么(所以我可以找到一个开关)?如果没有,是否有更好的方法来解决我应该考虑的这个问题?
我从未听说过可以转换 MAC 地址的交换机。然而,大多数优秀的管理型交换机可以让您通过 SNMP 查询网桥表:标准网桥 MIB 中的 dot1dBridge.dot1dTpFdbTable 看起来像是要走的路。您需要将 MAC 地址转换为十进制并将其附加到 MIB 前缀,它会吐出它学习它的端口。如果您需要处理 VLAN,还有一些额外的技巧。
http://wiki.xdroop.com/space/snmp/Switching+Tables有一个例子。