情况:
我们的公司分布在一栋大楼的两层。每位员工都有一台笔记本电脑(macbook Air 或 MacbookPro)和一部 iPhone。我们有静态 DHCP 映射和 DNS 解析,因此每部手机在以太网接口上都有一个名称,如 employeeiphone.example.com,每部 macbook air 都有一个 employeelaptop.example.com,每部 macbook pro 都有一个 employeelaptop.example.com(wifi 从专门为此目的而设的一小段范围内获取动态 IP)。我们知道每部手机和笔记本电脑的 MAC 地址,因为我们进行 DHCP 静态映射(ISC DHCP 服务器在 Linux 上运行)。每层楼都有两台交换机组成的 Netgear 堆栈,通过 10GB 光纤相互连接。目前还没有 VLAN。每层楼都有 4 台 Airport Extreme,通过 WPA2 身份验证形成一个 SSID 网络。
请求:
我们的首席技术官想知道谁在哪一层。
我的解决方案(到目前为止):
每个交换机都包含一个列出 MAC 地址和源端口的表。在每个交换机堆栈上,来自另一层的所有 MAC 地址都列为来自端口 48(光纤链路)。所以我想出了:
1) 通过 SNMP 从每个交换机获取表 2) 过滤掉与端口 48 关联的表 3) Grep dhcpd.conf,删除所有非 *laptop 和非 *iphone 的条目 4) 匹配每个交换机的两个列表,以 JSON 或 XML 格式输出 5) 在仪表板上显示结果,供所有人查看
我用 bash 编写了它,使用了很多 awk 和 sed,它有点用,但出于某种原因,交换机查找表中总是有陈旧的条目,这让它变得不可靠;有些人可能让他们的笔记本电脑进入睡眠状态,他们的 iphone 过一会儿就会断开连接,如果没有唤醒等等……我到处找,我们也准备在这个项目上花一点钱(RFID?),有人做过类似的事情吗?如果需要,我可以提供脚本(尽管它确实特定于我们的交换机和命名方案)。谢谢!
附言:也许这是 stackoverflow 的问题?如果是的话,请移步。
答案1
您的 CTO 听起来像是一个世界级的 PHB,但除此之外,如果他愿意花钱,RFID
s 将是最佳选择。定位进入睡眠状态的笔记本电脑没有问题,因为 sRFID
不会。无论如何,我要指出的是,依靠移动设备您无法获得 100% 可靠的解决方案WiFi
- 它们会关闭WiFi
天线等设备以节省电量,而且没有真正好的办法来解决这个问题。
然而,你会遇到的问题是,如果你把RFID
s 放在笔记本电脑上(或者按照 Shane 的建议去做) 的关键在于,您最终跟踪的是设备,而不是人,而且人们有时会将设备与设备分开。标记员工比标记员工的设备更准确。如果每个人都有一个必须随身携带的安全徽章,那么这种方法会最有效,您可以将它附加到徽章RFID
上,因为人们通常会抵制和讨厌随身携带单独的设备以方便 CTO 定位员工。
我个人认为这有点令人毛骨悚然,而且是将公司资源浪费在完全无关紧要的事情上的愚蠢方式,但如果 CTO 真的认为值得花时间去做,我就会这么做。 RFID
给员工安全徽章贴上标签,如果做不到,就给设备贴上标签。而且,如果我能以某种方式将其设置为在凌晨 4 点或董事会会议期间“意外”点亮 CTO 的手机,我会觉得特别聪明。