如何让Windows Server DNS使用hosts文件来解析特定的主机名

前端之家收集整理的这篇文章主要介绍了如何让Windows Server DNS使用hosts文件来解析特定的主机名前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
[注意:这个问题的解决方案是完美的,因为它偏离了标题所指示的内容.]

我遇到了Windows Server 2003 DNS服务的一个小问题.在我的公司,我正在运行Microsoft DNS服务器(172.16.0.12)来对我的公司内部网进行名称解析(域名以dev.nls结尾.解析为IP 172.16 ..),并且它还配置为DNS转发器将其他域名(例如* .google.com,* .sf.net)转发到Internet真实DNS服务器.此内部DNS服务器永远不会为来自外部世界的用户提供服务.

而且,我们在公司防火墙内运行一个邮件服务器(为真正的互联网域@nlscan.com提供传入邮件),可以通过以下任一方式访问:

>通过从Intranet内连接到172.16.0.10.
>通过从Internet连接到mail.nlscan.com(已解析为202.101.116.9).

请注意,172.16.0.10和202.101.116.9不是同一台物理机. 202是一个防火墙机器,它将端口25和110的端口转发到内部网地址172.16.0.10.

现在我的问题是:如果企业局域网内的用户想要解析mail.nlscan.com,它会解析为202.101.116.9.这是正确和可行的,但不是很好,因为邮件流量进入防火墙机器然后反弹到172.16.0.10.我希望我们的内部DNS服务器可以拦截名称mail.nlscan.com并将其解析为172.16.0.10.所以,我希望我可以在172.16.0.12的“hosts”文件中写一个条目来执行此操作.但是,Microsoft DNS服务器如何识别这个“主机”文件

也许你建议,为什么不让内网用户使用172.16.0.10访问我的邮件服务器?我不得不说这是不方便的,假设用户(员工)在他的笔记本电脑上工作,白天在办公室和夜间在家工作.当他在家时,他不能使用172.16.0.10.

在我们的内部DNS服务器上为nlscan.com创建区域是不可行的,因为
nlscan.com域名服务器在我们的ISP上,它负责解析nlscan.com下的其他主机名和子域.

先感谢您.

[编辑]

正如WesleyDavid建议的那样,我遵循简单地创建名为mailserver.nlscan.com的区域的解决方案,并在该区域中放置无名A记录.时间证明这很有效.

这篇文章的后半部分是错误的.根据我在网上阅读的一些内容(如果它在网上,它一定是真的!),我的印象是,Windows DNS服务器服务创建其缓存的任务的一部分也是将其主机文件加载到缓存及其本地区域数据.我四处搜寻,找不到确凿的证据.我在自己的Server 2008 R2机器上测试了这个理论,发现hosts文件不是用来构建DNS服务器的Cache.

但是,我相信我有一个稍微优雅的解决方案,马西莫.不要为整个nlscan.com区域创建权威区域,只需创建名为mailserver.nlscan.com的区域,并在该区域中放置无名A记录.无名A记录将与区域本身具有相同的名称,您可以为其提供所需的IP地址. nlscan.com下面的所有其他域以及nlscan.com本身将通过公共DNS解析.

我刚刚在我自己的Server 2008 R2 DNS服务器上测试了这个,并且能够通过公共DNS服务器解析我朋友的网站(nessus.nl),但特定的子域(blog.nessus.nl)解析为Apple.com的IP地址.试一试,看看它是否适合你.

较旧,错误的帖子开始:

如果我的理解是正确的(编辑:但事实并非如此),当在Server 2003机器中构建DNS缓存时,它会从hosts文件及其区域数据中提取条目.将172.16.0.10 mailserver.nlscan.com放置在Server 2003计算机的hosts文件中应该可以解决问题.更改主机文件后重新启动DNS服务.

在任何Windows计算机(特别是Server 2003 DNS计算机)上使用ipconfig / displaydns查看主机文件条目.另请注意,负面响应会缓存在您的客户端中,因此请始终在您正在试验的客户端上运行ipconfig / flushdns.否则,您最终会对各种硬件对象进行滥用,因为您想知道为什么客户端无法解析您刚刚输入区域/主机文件名称. =)

你试过这个但失败了吗?

猜你在找的Windows相关文章