Por Paulo Elias Jr
Antes de ler este artigo, eu recomendo que você leia o conteúdo do artigo “Trabalhando com Views de DNS no Infoblox” aqui no blog da Agility (http://bit.ly/1PMSi7A).
Ao mesmo tempo que views de DNS são recursos úteis para segregação de domínios de clientes, ter muitas views pode deixar o ambiente complexo e podem levar a falsas resoluções de nomes por todo o ambiente.
Vamos explicar um cenário problemático que exemplifica estes problemas.
Um mesmo membro Infoblox é responsável pela apresentação de três views ao ambiente do cliente CLIENTEABC. As três views contém um mesmo domínio com um registro A apontando para IPs diferentes e os clientes que enviam consultas para este membro estão dentro da mesma rede.
O administrador controla o Match de cada view pelo IP de origem da requisição de DNS.
Para resumir o cenário acima, veja a tabela abaixo.
Entretanto o administrador está encontrando problemas pois apesar de ter regras de match bem definidas, todos os clientes estão resolvendo o mesmo IP ao consultar pelo nome www.clienteabc.com.br (da View “Corporativo”). Veja abaixo.
figura 02
figura 03
Se colocamos as regras corretas dentro das Views, por que os clientes não enxergam o que deveriam enxergar?
Dois pontos: O primeiro é o fato dos IPs 10.40.0.50 e 10.40.0.100 estarem dentro da rede 10.0.0.0/8. O segundo e mais importante, a ordem das views no arquivo de configuração de DNS do membro Infoblox. Sim, o Infoblox também tem, apesar de não ser manipulável. Vamos abrir o arquivo de configuração para ver isso no detalhe.
Conectado ao Grid Manager, clique em Data Management > DNS > selecione o membro > View > Configuration, tal qual destacado abaixo.
figura 05
Nota: O arquivo será exibido em um pop-up. Libere-o no seu navegador se este o bloquear.
figura 06
O trecho do arquivo acima exibe as três views e a sua configuração. Preste bastante atenção na posição delas no arquivo, especialmente na diretiva Match Clients.
Quando um cliente envia uma query para um servidor de DNS, o servidor precisa ler o arquivo de configuração para verificar qual será o comportamento em relação àquela query. Quando falamos de Views, o servidor percorrerá de forma linear (ou seja, linha a linha, do topo até o fim do arquivo) até encontrar uma view que dê match ao cliente. Neste caso, como os IPs de match das outras views estão contidos na diretiva de Match Clients da View “Corporativo” e este está em primeiro lugar no arquivo de configuração, o DNS Server dará match nela mesmo com as outras views mais à frente configuradas explicitamente com os IPs em questão. Literalmente, o servidor para de processar o arquivo e envia a resposta da query para o cliente, se houver uma zona e registros homônimos.
Para adaptar isso ao cenário que desejamos, precisamos realocar as views e colocar aquelas mais restritivas no topo do arquivo e as menos restritivas, ao final. Para fazer isso no Infoblox:
Navegue até Data Management > DNS > Selecione o Membro > Edit
Clique em Toogle Advanced View para habilitar os menus avançados de configuração e clique em DNS Views.
figura 08
Note que no campo destacado acima, as Views estão sendo organizadas automaticamente pelo Infoblox. Precisamos mudar isso para definir a nossa própria ordem. Seecione a opção Order DNS Views Manually e utilize as setas para deslocar a view Corporativo para a última posição, conforme exibido abaixo. Lembre-se: mais restritivas primeiro, menos restritivas por último.
figura 09
Clique em Save & Close ao término da configuração e não esqueça de efetuar o restart no serviço.
Ao abrir o arquivo de configuração novamente, podemos ver o resultado.
figura 11
Repetindo a consulta no lado dos clientes…
figura 12
figura 14
O problema que vimos acima é bastante comum em ambientes com grande granularidade. Outro caso é quando se misturam regras de Match Clients com Match Destination, somente o uso de ACLs com dezenas de regras de Allow/Deny não é o suficiente (além desta abordagem ser trabalhosa). Entretanto, vimos acima que essa configuração é bem simples e fácil de ser entendida, podendo ser refeita sempre que necessário sem interrupção de serviço. Até o próximo artigo!