我们在此构建私有云,虚拟机至少有 2 个 NIC,有时有 3 个或 4 个,每个NIC 可以静态配置为 IPv4 和/或 IPv6,或者通过 DHCP 或两者组合进行配置。
是的,这很混乱,但这是我必须采用的设计......
假设我有一个带有 eth1 和 eth0 的 RHEL 或 CentOS 映像,两者都具有 dhcp 和 dvcpV6,按照我的理解,它将运行 4 个客户端?现在,如果所有 4 个都从应答它们的 DHCP 服务器获取主机名,会发生什么?哪一个“获胜”?我可以将其配置为确定性地发生吗?我可以在不在映像中预先决定的情况下做到这一点,而是使用某种动态定义的优先级或其他逻辑来选择要使用的主机名吗?
答案1
DHCP 规范的第 12 个选项是“主机名”(请参阅RFC 2132 - DHCP 选项和 BOOTP 供应商扩展)。这是您可以作为包含 IP 等的响应的一部分推送的字段,并允许您同时发送主机名。因此,您需要做的就是获取可以支持此选项的 DHCP 服务器并为每个 MAC 设置一个主机名。
对于 DHCPv6,请参阅选项 39 OPTION_CLIENT_FQDN,由RFC 4704 - DHCPv6 客户端完全限定域名 (FQDN) 选项。
答案2
DHCPv4 和 DHCPv6 之间的差异不应该成为问题。DHCPv4 选项 12可以填充 DNS A 记录(以及 IPv4 地址的关联 PTR 记录)。DHCPv6 选项 39可以填充 DNS AAAA 记录(以及 IPv6 地址的相关 PTR 记录)。
至于多个 NIC...它们都位于同一子网还是不同子网?如果是同一子网,则 DHCP 服务器将根据策略决定使用哪个地址进行 DNS。如果它们位于不同的子网,则可以将它们分配给不同的 DNS 子域,因此每个子域上都有一个 DNS 条目。这取决于您拥有多个 NIC 的目的是什么。