DNS 和 DHCP 未就 IP 地址达成一致

DNS 和 DHCP 未就 IP 地址达成一致

我遇到了一个问题,我们的 Windows Server 2003 域控制器通过 DHCP 为我的 Windows 7 计算机分配一个 IP 地址 (xxx75),但通过 DNS 报告另一个 IP 地址 (xxx84)。这会导致网络上出现一些有趣的行为。如果我更改适配器设置以从 DHCP 获取 IP 和 DNS 地址,我可以访问互联网,但我们网络上的任何人都无法访问我的计算机。如果我手动将 IP 更改为 DNS 所说的 IP 地址,我将无法访问互联网,但每个人都可以再次访问我的计算机。

我知道我们有一些旧的、无效的反向 DNS 指针(对 IP 地址的反向查找通常会给出多个结果,通常不包括正确的结果),所以这可能是造成这种情况的原因,但我的问题是最近才出现的,无效的反向指针已经存在很长时间了。

发生了什么事?我该如何解决?

答案1

你有DNS 老化和/或DNS 清理配置正确吗?正如您自己所说,听起来您的域控制器上有太多旧的 DNS 记录。我的建议是研究设置 DNS 清理,或者至少删除旧的 A 记录 (xxx84),然后续订工作站的 DHCP 租约以进行测试。

DNS 清理将定期删除客户端收到 DHCP 租约时动态生成的旧 DNS 记录。这是一件好事 (TM)。DNS 记录只有在真正新鲜的情况下才是好的(和有用的)。拥有一堆指向不再存在的客户端的记录是没有意义的。

您可能还需要查看 DHCP 租约 TTL,以确保它与您的 DNS TTL 和“老化”策略完全匹配。举个例子:如果您的 DHCP 租约 TTL 为 12 小时,而您的 DNS 老化策略是保留记录三周,那么您只会给自己带来麻烦。

前面提到的技术网博客这篇文章是一个很好的起点。

答案2

如上所述,您的问题是,您的计算机的名称→地址 DNS 查找导致计算机的 IP 地址与计算机实际拥有的 IP 地址不同。 PTR这与资源记录无关,它们不参与名称→地址 DNS 查找。(它们用于地址→名称查找。)清理您的PTR记录不会解决您所述的问题。

解决问题的方法是找出名称→地址 DNS 查找不正确的原因。由于您使用的是 DHCP,因此当 DHCP 服务器发放租约时,您的 DNS 数据库应该使用名称→地址映射进行动态更新。为了获得最佳效果,可以将 DHCP 服务器配置为直接与 DNS 服务器通信,前者在授予和续订租约时将更新发送给后者。只有 DHCP 服务器需要安全权限才能通过动态更新修改 DNS 数据。

但有些人有自己的 DHCP客户这样做。在这种情况下,可能会遇到各种权限问题,例如 DHCP 客户端没有适当的更新权限,或者无法更新他们没有访问权限的数据库中的记录,或者能够劫持他们不应该拥有的特殊用途域名。域名后缀也存在各种问题,这些问题可能会引起人们的注意。

因此,请查明您的 DHCP 服务器或 DHCP 客户端是否正在向(内容)DNS 服务器发送更新。确保访问控制允许执行更新的服务器执行此操作,确保服务器正在接收更新流量,确保命名空间的相应部分可更新,确保您所有宣传的内容 DNS 服务器都可以实际更新 DNS 数据库,并确保更新最终得到正确的域名。

相关内容