Blog Agility

Trabalhando com Views de DNS no Infoblox

Trabalhando com Views de DNS no Infoblox

Imagine o seguinte cenário. Sua empresa possui um site que é acessado tanto por quem está fora da sua rede quanto quem está dentro dela. Seu desejo é que a página que o usuário interno acessa seja diferente da que o usuário externo acessa (com informações e comunicados internos e login forms de acesso à intranet, por exemplo), porém, sem ter que alterar o link de acesso.

Você terá que alterar o DNS para isso. Porém, como fornecer dois endereços do seus webservers, que servem sites diferentes para um mesmo registro A?

É possível realizar esta configuração por meio do uso de DNS Views. Considerando o cenário acima é possível fornecer websites para quem realiza o acesso externamente ou internamente, alterando a resposta de DNS que o cliente recebe baseado em diversos fatores (IP de origem, rede de origem, chaves TSIG, etc).

O quadro abaixo ilustra este comportamento.
2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 00
figura 00

Vamos mostrar como fazer isso funcionar dentro do Infoblox.

 

Em primeiro lugar, vamos efetuar login no Infoblox.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 01
figura 01

Nossas tarefas neste techtip são:

  1. Criar uma View Externa que armazenará as zonas e registros visíveis aos clientes externos.
  2. Criar uma View Interna que armazenará as zonas e registros visíveis aos clientes internos.
  3. Popular as views com zonas e registros
  4. Efetuar testes de resolução de nomes.

Navegue até Data Management > DNS.
2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 02figura 02

Na aba Zones, clique na seta ao lado do botão “+”.


2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 03
figura 03

Selecione DNS View no menu suspenso.


2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 04
figura 04

O Wizard da criação da primeira view será exibido. Preencha a tela com o nome da View, um comentário opcional e (muito importante) marque a caixa “Enable Recursion”. Isso permitirá que o Infoblox encaminhe consultas recursivas de domínios não autoritativos para resolução na internet. Clique em Next ao término da configuração.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 05
figura 05

O próximo passo é definir os clientes que deverão realizar suas consultas nesta view. Em “Match Clients” clique em Set of ACEs. Em add IPv4 Network, especifique rede e máscara das redes envolvidas (no nosso caso, somente uma rede /23). Em permission, defina “Allow” como parâmetro e, finalmente, clique em Add.
2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 06
figura 06

A configuração executada deve ser semelhante à exibida na imagem abaixo. Clique em Save & Close ao término da configuração.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 07
figura 07

De volta à tela de Zonas do menu de DNS do Infoblox, vemos a view criada. Logo abaixo dela, vemos que uma view “default” surgiu. Essa view, na verdade, sempre existiu. Tudo relacionado à DNS é criado dentro desta view. Ela não é exibida caso não existam outras views configuradas.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 08
figura 08

Não é possível deletá-la, mas é possível alterá-la. É o que vamos fazer agora. Selecione a View “default” e clique em “Edit”

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 09
figura 09

Em General > Basic, modifique o nome para “Clientes Externos” ou qualquer outro nome amigável, adicione um comentário (opcional) e deixe e opção de “Enable Recursion” desativada, conforme exibido abaixo.

Explico: Não é interessante que os clientes que realizam consultas a um domínio de minha autoridade possam encaminhar consultas recursivas ao meu servidor, pois não é de nosso interesse que o mundo todo pense que nosso DNS é aberto, como funcionam os servidores de DNS público do Google.

Clique em “Match Clients” ao término da configuração.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 10
figura 10

Vamos basicamente repetir o que fizemos na criação da View anterior, com a diferença de especificar “Deny” em permission. Com isso, estamos dizendo ao Infoblox que negue consultas dos clientes internos a esta view. Trocando em miúdos, o usuário comum dentro da LAN não vai nem saber da existência desses dados. Clique em Save.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 11
figura 11

Outro passo importante: Clique em Add novamente e selecione a opção “Any Address/Network”. Com isso, estamos liberando a consulta de clientes de qualquer outra rede (Internet).

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 12
figura 12

Esta deve ser a aparência final da configuração. Clique em Save & Close ao término da configuração.

 

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 13

figura 13

Saindo do Wizard é possível ver as duas views criadas. Nosso próximo passo é configurar as zonas dentro das Views. Vamos começar pela view de Clientes Externos, clicando nela.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 14
figura 14

Em seguida, clique no Botão “+” e selecione “Authoritative Zone”

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 15
figura 15

Selecione a opção “Add na authoritative forward-mapping zone” e clique em Next.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 16
figura 16

Dê um nome para a zona e certifique-se que a DNS View “Clientes Externos” está selecionada. Clique em Next após finalizar.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 17
figura 17

Na próxima tela, selecione os nameservers da zona. No nosso caso, vamos adicionar somente um nameserver como servidor primário.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 18
figura 18

Ao clicar em Grid Primary, clique em Select e selecione o nameserver desejado. Clique em Add ao terminar.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 19
figura 19

Esta deverá ser a aparência após a configuração. Clique em Save & Close para finalizar a criação da zona.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 20
figura 20

Agora, vamos adicionar um registro à zona. Clique na zona criada.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 21
figura 21

Em seguida, clique em “Add” > Record > A Record, conforme destacado abaixo.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 22

figura 22

Adicione o nome do registro. Em seguida, adicione o IP do registro e clique em Save & Close.

 

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 23

figura 23

A próxima tela exibirá o registro criado.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 24
figura 24

Agora, vamos realizar o mesmo procedimento para a view Interna. O processo é o mesmo da criação da zona nos exemplos anteriores. Vamos então agilizar o processo e pular para a criação do registro A. Note que o endereço IP que estamos utilizando agora é diferente.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 25
figura 25

Note que o campo MNAME (servidor primário da zona) no registro SOA aponta para o mesmo nameserver utilizado na criação da zona anterior, localizada na outra view.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 26
figura 26

Ao término das configurações, é necessário reiniciar o serviço para que as alterações surtam efeito.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 27
figura 27

Agora, vamos aos testes.

Em primeiro lugar, vamos realizar o teste de uma máquina interna (pertencente à rede 10.1.2.0/23). Abaixo seguem as configurações da máquina de teste.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 28
figura 28

Agora, vamos executar uma consulta utilizando o dig por www.clienteabc.com.br.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 29
figura 29

Vemos que o IP 192.168.100.150 retornou na consulta. Agora, vamos realizar uma consulta de um domínio não-autoritativo para forçar a recursão para a internet. No caso, vamos pesquisar por techcenter.agilitynetworks.com.br. Se tudo correr bem, recebemos um endereço IP como resposta.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 30
figura 30

Para simular o ambiente externo, alterei o IP da máquina virtual para outro endereço, conforme exibido abaixo.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 31
figura 31

Agora, vamos realizar a mesma consulta por www.clienteabc.com.br. Veja o endereço retornado.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 32
figura 32

Agora, vamos verificar se o cliente consegue realizar consultas recursivas, perguntando por www.agilitynetworks.com.br.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 33
figura 33

Veja que não foi retornado nenhum endereço. Vamos tirar o parâmetro “+short” do comando para ver a mensagem de resposta completa e verificar o que está acontecendo.

2015_01_Trabalhando_com_Views_de_DNS_no_Infoblox - 34
figura 34

Veja que o campo “status” recebe “REFUSED” como resposta à consulta e o aviso “WARNING: recursion requested but not available”, é exibido. Isso indica que o servidor recebeu uma consulta recursiva, porém o mesmo não foi capaz de processá-la (devido ao bloqueio de recursividade na view Externa).

O uso de Views no Infoblox é muito útil em cenários onde limitação de custos e complexidade do ambiente crescem juntos, como já é rotina na vida de administradores de TI entregar mais com menos. Em vez de ter dois servidores servindo ambientes diferentes, podemos utilizar um só appliance para fazê-lo. Diminuem-se os gastos e aumenta-se a produtividade na administração do ambiente. Claro que temos que levar em consideração a quantidade de consultas que o DNS recebe nesse caso e a expectativa de crescimento do ambiente dentro dos próximos meses e anos para evitar subdimensionamento da solução. Nos vemos no próximo artigo!