在这里find以下。 问题是:我在哪里可以find有关如何在Windows上实现这一点的更多细节? 任何指导或如何做? 或者,也许你可以提供宝贵的意见?
具体来说,我该怎么做才能使“所有的QA服务器先解决qa.example.com中的条目,然后如果查找失败,他们会尝试example.com”(我是一个开发人员,而不是DNS专家,但我们IT支持已拒绝对此提供帮助:()
为您的服务器使用基于DNS的环境确定。 通过最初将顶级域根据其function划分为多个子域,然后在指向该服务的相关服务器的每个子域中创buildDNS服务名称来完成此操作。 根据上面的列表,我们将有:
* clientdb.prod.example.com for Production * clientdb.perf.example.com for Performance Testing * clientdb.qa.example.com for QA * clientdb.dev.example.com for Development然后,服务器按functionparsing其相关子域中的条目。 也就是说,所有QA服务器首先会首先parsingqa.example.com中的条目,然后如果查找失败,他们将尝试example.com。 这使您可以为您的客户端数据库主机名(clientdb)拥有一个可在所有环境中正确parsing的configuration条目。 这项技术还具有在共同的顶级域中定义全局服务的额外优势。
这似乎与提供“水平分割”DNS服务有关 。 阅读,我看到,我可能需要单独的DNS服务器为每个环境。 这是真实的还是Windows Server 2k8 DNS支持某种forms的“标记”logging是可见的取决于请求者的IP?
在Windows客户端上,在NIC设置下的TCP,高级,DNS选项卡下; 有一个search各种域名的选项。 默认情况下,它被设置为仅使用主连接后缀(域); 但您可以将其切换为使用您设置的列表(确保包含您要search的所有域)。
Windows Server无法标记logging,以便只有特定的客户端才能执行查找。 您可以阻止某些客户端一起访问DNS服务器,但不会比此更细。
在DNS中,您可以创buildCanonical Namelogging以指向要访问的实际服务器名称。 在内部networking中使用这种技术并不常见,但在面向互联网的部署中却常见一些。
这通常通过编辑DNSsearch列表来处理。 这因平台而异,但您可以configuration您的DNS以查询一系列无域名的域名。 parsing没有任何域的“clientdb”时,它将遍历列表直到find解决scheme。 如果您的search列表是这样的:
prod.example.com qa.example.com dev.example.com
您的DNS客户端应通过查询以下内容来search正确的IP:
clientdb.prod.example.com clientdb.qa.example.com
等等。 当然,如果您为该服务提供完整的FQDN,则这不起作用。 在Windows上,您可以提供子域(例如clientdb.us)。 它会search那个存根(所以最好不能被parsing),但是它会遍历search列表(clientdb.us.prod.example.com)。 这是hacky,你不应该这样做,但它会在Windows上工作。 不了解Unix。
这是每个客户端的设置。