Determinação do ambiente baseado em DNS

2

Encontrou as seguintes aqui . As perguntas são: onde posso encontrar mais detalhes sobre como exatamente implementar isso no Windows? Algum guia ou como fazer para alguém? Ou talvez você possa fornecer suas sugestões valiosas?

Especificamente, como faço para que "todos os servidores de QA primeiro resolvam entradas em qa.example.com primeiro e, em seguida, se essa pesquisa falhar, tentem example.com" (sou um especialista em DNS e não um dev , mas o nosso suporte de TI se recusou a ajudar nisso: ()

Use DNS Based Environment Determination for your servers. Do this by initially splitting your top level domain into a number of sub domains depending on their function, and then creating DNS Service Names in each of the sub domains pointing to the relevant server for that service. Based on the list above we would then have:

* 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

Servers then resolve entries in their relevant sub domain by function. That is, all QA servers would first resolve entries in qa.example.com first and then if that lookup failed they would try example.com. This allows you to have a single configuration entry for your client database hostname (clientdb) that would resolve correctly in all environments. This technique has the added advantage of still having global services defined in a common top level domain.

Isso parece estar relacionado a Fornecimento de serviço DNS "split horizon" . Lendo isso, vejo que provavelmente precisarei de um Servidor DNS separado para cada ambiente. Isso é verdade ou o DNS do Windows Server 2k8 suporta alguma forma de "marcar" os registros para ficarem visíveis, dependendo do IP do solicitante?

    
por zvolkov 17.06.2010 / 18:57

2 respostas

1

No cliente do Windows, nas configurações da NIC, na guia TCP, Avançado, DNS; Há uma opção para pesquisar vários domínios. Por padrão, ele é configurado para usar apenas o sufixo de conexão principal (domínio); mas você pode mudá-lo para usar uma lista que você definir (certifique-se de incluir todos os domínios que você quer pesquisar).

O Windows Server não tem como marcar registros para que apenas determinados clientes possam fazer uma pesquisa. Você pode impedir que certos clientes acessem o servidor DNS todos juntos, mas não mais do que isso.

No DNS, você pode criar registros de nomes canônicos para apontar para o nome real do servidor que você deseja acessar. Não é muito comum usar esse tipo de técnica em uma rede interna, mas é algo comum em implantações voltadas para a Internet.

    
por 17.06.2010 / 19:24
0

Normalmente, isso é tratado editando a lista de pesquisa do DNS. Isso varia de acordo com a plataforma, mas você pode configurar seu DNS para consultar uma série de domínios para nomes sem domínio. Ao resolver "clientdb" sem qualquer domínio, iterará pela lista até encontrar uma resolução. Se a sua lista de pesquisa é esta:

prod.example.com
qa.example.com
dev.example.com

O seu cliente DNS deve procurar o IP correto consultando o seguinte:

clientdb.prod.example.com
clientdb.qa.example.com

E assim por diante. Naturalmente, isso não funciona se você fornecer um FQDN completo para o serviço. No Windows, no entanto, você pode fornecer subdomínios (e.x. clientdb.us). Ele procurará por esse stub (portanto, é melhor não ser resolvido), mas iterará pela lista de pesquisa (clientdb.us.prod.example.com). É hacky e você não deve fazer isso, mas funciona no Windows. Não sei sobre os Unixes.

Esta é uma configuração por cliente.

    
por 17.06.2010 / 19:26