为什么我不能将 IPv6 地址用于 DHCPv4 客户端选项 6(DNS 服务器)

为什么我不能将 IPv6 地址用于 DHCPv4 客户端选项 6(DNS 服务器)

我正在尝试配置 DHCP 网络选项,而我使用的专有软件(位于 ISC 的 DHCP 服务器之上)不允许我输入 IPv6 地址。在其他情况下,它会允许这样做,但对于 DHCPv4 客户端选项 (6) DNS 服务器则不允许。

难道只是“拜托……你不能将 IPv6 与 DHCPv4 混合使用”?也就是说,两者之间存在某种固有问题?还是说这是那些实际上不必存在的任意 RFC 定义之一?或者也许作者在编写时没有考虑到 IPv6,所以他们没有包括这种可能性(……他们也没有对其进行改造……)?

...或者它可能是专有软件限制的东西,但 DHCPd 会乐意接受?

在此处输入图片描述

答案1

这是正常的,我仍然看到多个企业网络只是在客户端 NIC 上禁用 IPv6 并严格使用 IPv4。在这种情况下,在 DHCPv4 的 scoop 选项中放置 IPv6 会导致客户端无法联系 DNS 服务器。

这就像告诉你的用户填写网络票以获得支持,但他们的电脑坏了。

答案2

难道只是“来吧...你不能将 IPv6 与 DHCPv4 混合”吗?

DHCP 和 DHCPv6 是具有不同选项的不同协议。DHCPv6 中的 OPTION_DNS_SERVERS (23) 符合 RFC 3646 和 IANA 列表。

屏幕上会提示您需要一个 v4 地址,并提示这是 DHCP 选项 6,而不是 DHCPv6(或双栈)字段。向软件支持人员询问它如何管理 IPv6 DNS 服务器,并提及 DHCPv6。

答案3

RFC 2132定义 DHCP 选项 6 说明了这一点第 3.8 节

3.8. 域名服务器选项

域名服务器选项指定了可供客户端使用的域名系统 (STD 13、RFC 1035 [8]) 名称服务器列表。服务器应按优先顺序列出。

域名服务器选项的代码为 6。此选项的最小长度为4 个八位字节,并且长度必须始终为4 的倍数

Code   Len         Address 1               Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
|  6  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
+-----+-----+-----+-----+-----+-----+-----+-----+--

此处 4 字节的倍数明确表示它是 IPv4 地址,如图表上方的图例所示。DHCP 选项 6 的规范中没有规定提供或区分 IPv6 地址(而不是四个 IPv4 地址)。

因此,专有软件严格遵循规范,以便与所有其他 DHCP 实现互操作性:仅限 IPv4。

相关内容