当插入 HP ProCurve 交换机(2510G 和 2530G 型号)时,我正在尝试为 Auto-WOL 设备构建系统。这是在一个完全平坦的网络上,没有 VLAN 或子网路由。
如果您想知道我的原因,我们有成千上万的设备进入我们的设施进行网络成像。默认情况下,每台设备都启用了 WOL-to-PXE,自动化的 WOL 系统可以为每台机器节省几分钟的时间(如果我们可以优化流程,这将加起来相当多)。
目前,我可以成功抓取交换机的 MAC 地址列表并将 WOL 数据包发送到这些地址(顺便说一下,这是在 Windows 环境中)。
我目前陷入困境的地方是 HP ProCurve 交换机在插入设备(电源但关闭)时无法学习 MAC 地址。这打破了我的流程,我相信有些供应商确实学习了插入的离线设备的 MAC在(我无法确认这一点 - 惠普商店在这里)。
现在在一个测试设备上,我可以发送一个定向 WOL 并唤醒它,交换机学习 MAC 地址,一切都很好。我相信这涉及一个 ARP 请求。
我是否正确理解了这项技术,我想要做的是向广播地址 FFFFFF-FFFFFF 发送一个免费的 ARP(通过 ARPing 的 Cygwin 端口)?我在这里阅读了一些数据 - http://wiki.wireshark.org/Gratuitous_ARP - 但我觉得这是错误的解决方案(将机器的 MAC 推送给所有其他人而不是导致其他人报告)。我也尝试对 IP 广播地址进行 ping 操作,但无济于事。
我想我要问的是,是否存在单个主机可以导致未知 NIC MAC 地址响应以填充交换机 MAC 表的解决方案?还是可以获取此数据的另一种解决方案?
编辑:我已经设置了一个 CentOS 机器来运行 arp-scan 但它没有触发任何东西(http://linux.die.net/man/1/arp-scan),arping 也没有。蛮力强制 OUI 将是每个 OUI 1600 万(如果我们将其锁定为仅 HP,例如,他们有多个条目)。如果需要 Linux 机器,我将它作为注释提出来,我有一个可用的。
