我刚刚开始为一位客户工作,该客户之前曾让一家 IT 公司设置了域。他们的域中有大约 30 台计算机,并且正在运行 Server 2008 和 Microsoft Exchange 2007。
他们之前的 IT 人员将他们的域名命名为 .com 而不是 .local,尽管他们并不拥有实际的 .com 地址。为了便于讨论,我们将他们的域名称为:contoso.com。我工作的所有网络都以 .local 结尾。
这会导致问题,因为域中的所有计算机在技术上都是子域。因此,如果您的域是 contoso.local,而您的计算机名称是 computer1,则本地计算机的 FQDN 是 computer1.contoso.local。当您尝试访问 computer2 上的网络共享或 ping computer2 时,它会在 DNS 中查找 FQDN 来解析 IP 地址。由于它们使用的是 contoso.com,因此它会尝试查找 computer2.contoso.com。只要计算机已在 DNS 中注册并且确实存在,就会被找到。
当我 ping somethingthatdoesntexist.contoso.com 时,我不仅没有 ping 失败,反而开始从公共 IP 地址获得 ping 响应。网络中所有计算机上的唯一 DNS 设置都指向我们的域控制器。两个域控制器都只指向它们自己。除了两个 opendns 服务器作为备份之外,主域控制器中的 DNS 服务器中还有一个转发器,可以转发到我们 ISP 的 DNS 服务器。如果我没有任何转发,网络上的任何东西都无法解析互联网 IP 地址。
但是,像 Outlook 2007 这样根据猜测子域自动尝试配置的程序将面临严峻的考验。当本地 DNS 服务器中不存在 mail.contoso.com 等地址时,它会转发到我们 ISP 的 DNS 服务器,后者会报告一个公共 IP 地址(不属于我的客户)。除了 Outlook 2007 不会自动配置之外,这还会带来很多麻烦和烦恼。
我已经接受了这样一个事实:从 .com 更改为 .local 工作量太大,尤其是涉及到 Exchange。所以我的问题是,如何禁用 DNS 转发以 contoso.com 结尾的请求?这将是一个快速的解决办法。
此外,如果不涉及删除当前域名并重新创建所有内容,我愿意接受任何有关从 .com 切换到 .local 的建议。
(回应约瑟夫·科恩……)
已经向客户解释了情况。这是我们面临的一大堆重大问题之一。这就是上一个员工被解雇的原因。与其他问题不同,我不知道从哪里开始解决这个问题。
谢谢!
答案1
您也不应该使用 .local... .local 应该与多播 DNS 一起使用,这是实际的互联网标准。您应该使用您有权使用的有效域名或 RFC 2606 保留 TLD 之一。
解决此问题的方法是注册正在使用的名称或迁移具有有效名称的新域名。
您所说的“快速修复”是可能会在日后引发问题的黑客手段。您的客户可能不愿意花钱购买真正的修复方案,但他们需要了解这些方案并理解他们所做出的选择。
答案2
听起来你需要重命名域名,但不幸的是,Exchange 2007 环境不支持域重命名.事实上,这是相当令人恼火的。
从表面上看,这听起来像是你在谈论旧的“我们将 Active Directory 域命名为与 Internet 域名相同”的问题,只是选择的名称是别人的互联网域名。
不过,我不明白的是您的陈述“当本地 DNS 服务器中不存在 mail.contoso.com 的地址时,它会转发到我们 ISP 的 DNS 服务器,后者会报告一个公共 IP 地址(不属于我的客户)”。Microsoft DNS 服务器不会转发对其具有权威性的域中的名称的请求。您的陈述让我有点困惑。如果您的内部 DNS 服务器对“contoso.com”具有权威性,那么它们永远不会将以“.contoso.com”结尾的任何请求转发到 Internet。就是这样。
在我看来,您可能在客户端或服务器 NIC 属性或 DHCP 选项中指定了公共 DNS 服务器,并且这些公共 DNS 服务器正在为您的客户端解析“contoso.com”的 Internet 版本。您永远不应该在加入 AD 域的任何计算机的 NIC 属性中指定非域控制器 DNS 服务器(除非您真的知道为什么你这样做)。
那么,您是否在 NIC 属性或客户端和/或服务器计算机的 DHCP 选项中指定了公共 DNS 服务器?
答案3
虽然这不是最好的情况,但肯定不是世界末日。最终唯一受影响的应该是对“真实”contoso.com 域的访问。
从您所说的内容来看,您的内部 DNS 似乎存在问题。正如 Evan 所指出的,您的内部 DNS 服务器是 contoso.com 域的权威服务器,并且不应将该域的请求转发到任何其他名称服务器。此外,您无法在不使用转发器的情况下解析外部 DNS 记录,这说明您的 DNS 服务器未配置为使用根提示服务器。这可以工作,但恕我直言,这不是最好的设置。您完全依赖于这些转发器的安全、稳定和可靠运行。如果它们出现故障,您就无法正常工作(对于外部 DNS 记录而言)。
我建议,第一步是在您的一台客户端计算机上运行数据包嗅探器,过滤 DNS,并尝试解析 contoso.com 域中不存在的 DNS 记录。查看捕获,准确了解 DNS 查询的去向以及返回的答案是什么以及从哪里返回。然后在下一个“链中的链接”上执行相同操作,这意味着如果查询发送到您的内部 DNS 服务器并由其回答,则在您的内部 DNS 服务器上运行相同的捕获并查看显示的内容。
答案4
虽然有办法通过裂脑 DNS 解决这个问题,但长期解决这个问题的最佳方法是迁移到新的林。查看ADMT 3.0 迁移指南了解详情。这样你就不必放弃整个环境