从 DHCP 获取客户端主机名

Dan*_*bbs 6 dhcp hostname

我有一台为 DHCP 服务器运行 DNSMASQ 的 voyage 2.6.38 机器,我想获取获取 DHCP 租约的客户端的主机名。我该怎么做呢?

Bil*_*hor 6

如果主机发送其名称,您可以从 DNS 中检索它。如果您知道它的 IP 地址,您只需对该 IP 地址进行反向查找。这些命令之一应该可以工作(使用主机的 IP 地址代替 192.0.32.10):

host 192.0.32.10
nslookup 192.0.32.10 
Run Code Online (Sandbox Code Playgroud)

您可以检索所有租约的列表,包括从您的dhcp.leases文件中提供的名称(如果有)。它的位置将根据您使用的发行版而有所不同。Ubuntu 使用,/var/lib/misc/dnsmasq.leases而 OpenWrt 使用/tmp/dhcp.leases. 如果您有 dnsmasq 的手册页,则该命令man dnsmasq应在文档末尾提及租用文件的位置。您可以通过dhcp-leasefile在配置或命令行中指定选项来覆盖此位置。命令行选项-l--dhcp-leasfile=选项可用于执行此操作。

租赁文件中的字段是时间戳、mac 地址、ip 地址、主机名和客户端 ID。客户端不需要发送主机名或客户端 ID。

如果已启用日志记录,您可以查看系统日志以查看已协商哪些租约。应记录所有 DHCP 协商。如果您有很长的租赁时间,谈判将不会频繁。客户应在租赁时间的一半开始协商续订。最好将租用时间设置为您可以合理地预计 DHCP 服务器关闭的时间的两倍。