Dnsmasq 的静态 DHCP 条目默认是否与客户端 ID 或 MAC 匹配?

Dnsmasq 的静态 DHCP 条目默认是否与客户端 ID 或 MAC 匹配?

我曾遇到过一些看似随机的奇怪租约分配,阅读手册页后,我发现语法可以是:

  • dhcp-host=34:27:01:5d:60:ad, test-pc, 192.168.1.10
  • dhcp-host=id:some_client_id, test-pc, 192.168.1.10
  • dhcp-host=34:27:01:5d:60:ad, id:*, test-pc, 192.168.1.10

我的问题主要在于可选的“id:*”部分。手册页说它的意思是“忽略任何客户端 ID 并仅使用 MAC 地址。”

语法和文档似乎确实指出 MAC 是默认值,那么为什么有人需要说“忽略我已经省略的可选项,并使用我提供的默认值?”

我遗漏了此选项的什么?如果我没有提供任何以“id:”为前缀的内容,则显然我无意匹配客户端 ID,那么我通过指定星号究竟忽略了什么?

答案1

我遗漏了有关这个选项的什么内容?

我怎样才能利用它,为什么通配符可能是好是坏。

假设您有一台运行 Windows 或 Linux 的主机。DHCP 客户端请求 IP 租约(请求中包含 MAC 和 ID),并且您的服务器将其作为 MAC 地址和 OS ID 的组合保存在数据库中(通常用于 dnsmasq 和 dhcpd 的某个文件)。然后,您决定将其设为静态 DHCP 条目,并更改 IP 以将其保存在 IP 空间中的指定位置。一段时间后,您发现主机具有 Intel AMT 接口,可让您在 BIOS 级别远程控制机器。您还想从 DHCP 配置接口 IP。令人困惑的是,DHCP 服务器从 OS 分配不同的 IP(不是相同的 MAC 组合 - 相同,ID - 不同),然后您意识到 DHCP 请求中 ID 字段的含义。您重新配置 DHCP 服务器并将 ID 更改为通配符,一切就绪,AMT 接口和 OS 本身共享相同的 IP。类似的事情也适用于 PXE 启动。

附言:我相信(据我所记得)默认配置中的那些 DHCP 服务器使用 MAC 和 ID 对来决定 IP 分配:

  • DHCP服务器
  • 域名系统
  • mikrotik DHCP(看起来像是 dnsmasq 的一些克隆,非常相似的限制)

相关内容