Windows 7:“本地主机名称parsing在DNS本身内处理”。 为什么?

在Windows上的18年的主机文件后,我很惊讶地发现在Windows 7 build 7100中:

# localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost 

有谁知道为什么这个改变被引入? 我确定必须有一些善意的推理。

而且,也许更为相关的是,Windows 7中还有其他重要的与DNS相关的更改吗? 它让我害怕一点,认为像localhost名字parsing这样基本的东西已经改变了…让我觉得Win7中的DNS堆栈还有其他微妙而重要的变化。

我与Windows团队的开发人员进行了核对,实际的答案比这篇文章的其他答案更无害:)

在未来的某个时候,随着世界从IPV4向IPV6过渡,IPV4最终将被希望在其环境中简化networkingpipe理的公司禁用/卸载。

在Windows Vista中,当卸载IPv4并启用了IPv6时,对IPv4(IPv4)地址的DNS查询会导致IPv4回送(来自主机文件)。 当IPv4没有安装时,这当然会造成问题。 解决方法是将始终存在的IPv4和IPv6环回条目从主机移到DNSparsing器,在那里它们可以独立禁用。

-Sean

Windows 7引入(可选)支持DNSSECvalidation。 可以在“本地组策略”插件的“名称parsing策略”下find这些控件( c:\windows\system32\gpedit.msc

不幸的是,它没有(AFAIK)支持RFC 5155 NSEC3logging,许多大型区域运营商(包括.com )在未来几年与DNSSEC合作时将使用这些logging。

鉴于Windows上越来越多的应用程序正在使用IP进行对话,包括许多Windows服务,我可以看到有人将本地主机改为指向其他地方,成为一个有趣的攻击媒介。 我的猜测是微软SDL的一部分被改变了。

我可以看到这也是为了加强他们的安全。 通过“固定”本地主机总是指向环回,他们可以避免DNS中毒攻击,这已经开始出现在野外。

我同意,但是在一些层面有点令人不安…

我会好奇的知道,如果一个人可以重新定义本身在DNS本身虽然。 从来没有人认为使用明文文件来pipe理这些设置是安全的最佳实践。 在我看来,微软的新安全措施不仅限于防止根访问,而且还深入研究了细微的漏洞。 无论如何,我不知道有多less人可以保持领先的黑帽。

我认为这与微软实施目标IP地址select的RFC 3484有关。 这是支持IPv4的IPv6function,影响Vista / Server 2008及更高版本。 这个变化打破了循环DNS,所以即使这不能回答你的问题,这绝对是一个重大的DNS变化要知道。

有关详细信息,请访问Microsoft企业networking博客。