mas*_*ssa 2 networking ethernet dhcp windows-server-2012
当我连接网络上的设备时,在 Windows Server 2012 上运行的 DHCP 服务器有时会正确报告其 MAC 地址(12 个字符),但有时会报告其 MAC 地址长度为 36 个字符并带有随机前缀。
为什么会发生这种情况?我该如何解决?
正如评论中提到的,也许是一个 ID,但它的最后 12 位始终等于机器的 MAC 地址。在这种情况下:为什么同一设备有时显示其 MAC 地址,有时显示此 ID(以其 MAC 地址作为后缀)?
DHCP 请求的主要标识符实际上不是“MAC 地址”字段 \xe2\x80\x93,而是“客户端 ID”字段。(它是可选的,但大多数设备都包含它。)
\n\nDHCP 客户端 ID 可以有多种类型。大多数设备都会生成类型 1 的客户端 ID,它仅使用相同的 MAC 地址,而不使用其他任何内容。(例如,您可以将客户端绑定到客户端 ID“01:aa:bb:cc:dd:ee:ff”,而不是将其绑定到 MAC 地址 AA-BB-CC-DD-EE-FF。)每当 DHCP 服务器看到类型 1 的客户端 ID 时,这也会反向发生 \xe2\x80\x93,它只显示 MAC 地址。
\n\n但是,还有其他不基于 MAC 的客户端 ID 类型,例如包含 DNS 域名的类型 0,或包含 DHCPv6 IAID+DUID(RFC4361 格式)的类型 255。Systemd-networkd 就是这样一种 DHCP 客户端,默认情况下会发送类型 255 客户端 ID,某些 DHCP 服务器将显示该 IDff:
。
(同样重要的是,即使客户端 ID 是基于 MAC 的,它也不必与客户端的实际 MAC 地址相匹配。一些 DHCP 服务器强制执行此操作,但据我所知,大多数服务器都没有这样做。如果设备 A 发送属于设备 B 的客户端 ID,很可能它也会收到设备 B 的 IP 地址分配。)
\n\nDHCPv6 DUID 本身具有子类型,其中一些基于 MAC,而另一些则不是。碰巧 systemd-networkd 使用类型 1 (DUID-LLT),其中包括末尾 \xe2\x80\x93 处的 MAC 地址,并且与 IAID 组合时确实有 18 个字节(或 36 个十六进制数字)长。
\n\n虽然不常见,但这仍然是完全标准的,没有什么需要“解决”的。但是,如果在 DHCP 服务器中分配静态租约(预留)时造成困难,则设备的所有者可以使用以下选项告诉 systemd-networkd 使用传统的基于 MAC 的客户端 ID:
\n\n[DHCPv4]\nClientIdentifier=mac\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
5716 次 |
最近记录: |