我的网络中出现了几台客户端计算机(不仅在 Server.app 中,而且在各种日志中),它们的“计算机名称”(Apple 语言中的 Bonjour 名称)我不认识,但可能是旧客户端,或者更可能是活跃客户端的旧名称。我还没有能够将 MAC 地址与日志等中的较新的计算机名称或主机名进行匹配,而且我没有太多历史数据可供使用,例如网络上以前确认的客户端。
更奇怪的是,相同的客户端出现在一些 Cisco 交换机的日志中,并且并不总是位于同一楼层,这很奇怪,因为按制造商查找的 MAC 很可能是 iMac。我在一个拥有大约 100 台类似 iMac 的网络中相当一致地看到了 2-4 个这样的 iMac,这些 iMac 都以类似的方式进行了映像处理,但没有这些缓存数据或其他数据。
它通过关闭 dhcp(在本例中通过使用 Server.app 中的 GUI),然后删除或编辑/var/db/dhcpd_leases
,并重新打开服务,暂时清除 dhcp 列表中的名称,但几分钟后它们又会出现。我该如何删除它们?... 或者我应该有其他网络和/或安全问题?
关于如何在命令行上管理 Darwin/OSX 中的 DHCP 的任何更通用的提示也会有所帮助。在我看来,Server.app 中的整个 DHCP 设置似乎存在错误/滞后。
该问题涉及在 OSX 10.11 上运行 OSX Server 5.0 且在 10.10 和 10.11 上运行客户端的服务器。
答案1
鬼魂已被捕获。
这真正的教训
...是始终充分研究、概述和记录网络中的所有新硬件。
腾出时间积极志愿服务第一次就把事情做好,即使这不是你唯一的责任,即使你的老板想要设置新设备。
具体细节
在我的案例中,一个客户端是前雇员(现为外部顾问)的笔记本电脑,其机器在错误的 LAN 上运行,并且没有经过正确检查是否在该网络上;另一个客户端是一部手机,也未确认并登记到我的硬件列表中。(评论说两个 MAC 号码都是 iMac 是错误的)。
我在 OSX Server 上清除 DHCP 的方法是正确的;我在下面再次引用了它。
关于如何在 OSX 和 Darwin 上管理 DHCP,特别是在命令行上,请继续阅读——我已经自我回答并留下了一些有趣的链接:
OSX DHCP 概述
典型的指南Mac OS X 服务器命令行管理虽然是 OSX 的早期版本,但它直接来自 Apple,包含了有关从命令行管理 Mac 的足够信息,足以让您在整个假期中阅读。
如果这还不够的话,还有一个巨大的OSX DHCP 上的文章在 Krypted.com。
关闭 DHCP(下面描述了几种方法)然后删除或编辑/var/db/dhcpd_leases
并重新打开该服务确实是清除租约的最佳方法。
您可以使用当前版本 Server.app 的 GUI 中屏幕右上角的 DHCP 选项卡上的巨大开关图标来关闭和打开 DHCP。
或者,在命令行上,您可以执行(可能以 root 身份):
serveradmin stop dhcp
来停止 DHCP 和serveradmin start dhcp
。
您可以通过输入以下内容获取有关 DHCP 的大量信息:
serveradmin fullstatus dhcp
关于引导协议的说明
为了您阅读日志的乐趣,还需要知道引导程序处理 bootp 指令(互联网引导协议),该指令与 DHCP 交织在一起,并且社区在对这种关系进行一番搜索之后,维基百科人给出了最好的定义:
“... 引导协议 (BOOTP) 是一种计算机网络协议,用于 Internet 协议网络,用于从配置服务器自动为网络设备分配 IP 地址... 虽然 BOOTP 的某些部分已被动态主机配置协议 (DHCP) 有效取代,后者增加了租约功能,但 BOOTP 的部分内容用于为 DHCP 协议提供服务。DHCP 服务器还提供传统的 BOOTP 功能。”
这来自 Microsoft 的 Technet 文章对这两个守护进程之间的关系也进行了非常有趣的比较,作为额外的资源。
您也可以使用 launchd 来禁用并重新启用 DHCP,因为 DHCP 依赖于其服务,例如,它的特定租约存储在/etc/bootpd.leases
,但与网络上流传的旧信息相反,这将不是必须明确当前版本OSX 服务器DHCP 信息。
例如:
sudo /bin/launchctl unload -w /System/Library/LaunchDaemons/bootps.plist
随后sudo /bin/launchctl load -w /System/Library/LaunchDaemons/bootps.plist
将重新启动引导服务。