首先,介绍一下背景知识:我现在需要对数百台计算机中的空白硬盘进行映像处理。我们通过将系统连接到以太网交换机并让它们通过以太网启动来实现这一点,加载一个小型 Linux 映像,该映像会执行一些系统诊断、确定主板的 UUID、对磁盘进行分区等,然后加载预先确定的 Windows 映像。我希望能够将此 UUID 与我生成的序列号关联并将其存储在数据库中,然后我们将打印带有序列号的标签并将其贴在计算机上。 问题是,我希望它能够轻松地将正确的标签贴在相应的系统上,以尽量减少人为错误并防止系统混淆。为了简化这一点,我需要能够根据软件中的某些信息(例如 IP 地址、mac 地址等)识别系统的物理位置,以便我可以向实际处理这些系统的人显示哪个序列号属于哪个系统,例如左上角的计算机。我们有一个非常好的交换机,Cisco sg300-52,所以我认为一定有某种方法可以实现这种关联,但我在这方面的知识不足。有什么想法吗?
答案1
你的问题的标题非常具有误导性。
你希望将一些网络信息 (MAC) 与物理端口关联起来(并通过推断得出 PC 的位置)。
这很简单:每个交换机都保存一个 mac 地址表,通过该表可以跟踪上次看到给定 mac 地址的端口。大多数交换机都可以显示此表,无论是在其 Web 界面中还是通过使用命令行中的命令。由于您已经拥有 MAC,因此您只需查看该表即可找到交换机端口,并从中推断出安装台或机架上的位置。
您最大的问题是找到一种易于使用的方式来读取该表,以便尽可能地自动化该过程。我无法帮助您。我不熟悉这种特定型号的交换机。
(它们是 Cisco 品牌,但实际上它们是 Linksys(Cisco 曾一度拥有 Linksys)设备。它们不像真正的 Cisco 交换机那样功能齐全,但仍应该能够以某种方式向您显示 mac 地址表。)
答案2
交换机端口?不。(除非您的所有交换机都足够“智能”,能够将端口 ID 混入通过的所有 DHCP 请求中……)
MAC 地址?当然。差不多任何DHCP 服务器(即使是家用路由器中的微型服务器)将具有“静态租用”功能,用于将 IP 地址分配给特定 MAC。在 ISC DHCPd 配置中,它看起来如下所示:
host rain {
hardware ethernet f4:6d:04:85:fc:d7;
fixed-address 293.319.181.194;
}