以下是Server 2008 DNS的一个Bug,在Server 2008 R2 DNS中已经修正。
我们可能会设置这样的配置场景
当一个域名需要解析
1. 先用本地区域的DNS做解析
2. 假如本地DNS解析失败,就转到转发器解析
3. 假如转发器解析失败,就转到根提示服务器做解析
那实现这样的功能,我们会在DNS管理控制台勾选“如果没有转发器可用,请使用根提示”
但实际上,假如你用的还是Server 2008 系统而不是Server 2008 R2,这里的选择框的作用刚好是适得其反。
假如你想转发器解析失败就转到根提示服务器做解析,那应该把这个勾去掉,其实这是Server 2008 DNS的一个bug.
为什么会这样呢,据我观察,这里的勾选和去勾,相当于系统帮你在注册表中改以下一个键值
Value Name: IsSlave
Value Path: HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters
Value Type: REG_DWORD
如果 IsSlave 键为0,DNS 转发查询在查询失败时会继续去找根提示服务器做查询,
如果 IsSlave 键为1,DNS 转发查询在查询失败时就直接发 SERVER_FAILURE 的响应,不再继续转到根提示服务器做查询了。
实际上,勾选“如果没有转发器可用,请使用根提示”,IsSlave键值为0才对,可是在Server 2008中,勾选了后,你可以发现注册表的IsSlave 键值为1,刚好相反了。
在使用Server 2008 DNS时,这是一个小Bug, 做选择时注意一下勾选的方向,这个问题在Server 2008 R2中得到了解决。
Microsoft KB 有详细的说明。
http://support.microsoft.com/kb/2001154
本文转自 VirtualTom 51CTO博客,原文链接:http://blog.51cto.com/virtualtom/752393,如需转载请自行联系原作者