Bind9 configura parte do TLD público para dispositivos de rede privada

0

Nossa empresa controla um domínio chamado foobar.com , que é usado para vários serviços públicos (por exemplo, www.foobar.com direciona para o nosso site). O domínio tem registros DNS públicos em um serviço DNS.

Temos alguns dispositivos de rede internos que esperávamos atribuir nomes para o uso de subdomínios do foobar.com TLD.

Como o Bind9 pode ser configurado como tal:

  1. Primeiro, verifique se um servidor DNS público definiu um domínio para algum endereço IP
  2. Se não, verifique um servidor DNS interno se ele definiu o domínio para algum endereço IP interno
  3. Se isso falhar, falhe na pesquisa "normalmente".

Atualmente, nossa configuração funciona incorretamente em uma base "on / off", por exemplo, ele lê o DNS público ou o DNS privado, não ambos. Isso faz com que seja inutilizável, pois queremos acessar os registros DNS públicos e privados ao mesmo tempo.

Os servidores DNS são gerenciados separadamente e o DNS privado está em um dispositivo local com o Bind9 instalado.

Eu tentei o seguinte:

  1. Tem algo parecido com isso nos registros de DNS particulares

    IN NS privatens.foobar.com ; the private (local) DNS
    IN NS publicns.foobar.com ; the public DNS
    
  2. Defina o encaminhamento em named.conf.options para servidores DNS públicos

    options {
        forwarders { ... };
        forward first;
    };
    
  3. Faça malabarismos com prioridade dentro de resolv.conf

Nada disso parece funcionar. Exemplos:

www.foobar.com aponta para um servidor da web usando o DNS público. printer.office.foobar.com é um CNAME para unique1.foobar.com , que é um registro A para 192.168.5.10 . Quero que as consultas em www.foobar.com funcionem com o DNS público e as consultas printer.office.foobar.com funcionem com o DNS privado.

Agora todas as consultas para printer.office.foobar.com funcionam, mas todas as consultas para www.foobar.com resultam em uma resposta NXDOMAIN e param lá.

É possível ler duas zonas diferentes para um único domínio (por exemplo, foobar.com ) ou simplesmente ignorar o outro?

EDITAR:

Para tornar o problema mais claro, criei este super diagrama interessante da nossa rede e das coisas externas:

Qualquer coisa dentro da laranja é a nossa rede privada, sem acesso de fora. As coisas dentro de verde são servidores públicos com nomes de domínio definidos para eles. 192.168.5.1 é nosso roteador, 192.168.5.5 é nosso servidor DNS privado e ns1.dnsprovider.com é algum servidor DNS fornecido por terceiros.

Supondo que eu sou o usuário em 192.168.5.100 , quero que o seguinte aconteça:

  1. Ao consultar user1.foobar.com , obtenho os resultados DNS de privns.foobar.com/192.168.5.5 .
  2. Ao consultar www.foobar.com ou sub.foobar.com , obtenho os resultados de DNS de ns1.dnsprovider.com
por ojrask 18.11.2016 / 14:05

1 resposta

1

Uma das configurações possíveis é ter diferentes atribuições internas e externas para um domínio que é a visualização BIND. Normalmente, essa configuração é feita em um único servidor.

As exibições do BIND permitem que você tenha registros diferentes no mesmo domínio, quer as pessoas o visualizem de dentro ou de fora ou, mais interessante, os mesmos registros com diferentes endereços IP. (por exemplo, endereços que mapeiam via NAT para endereços externos diferentes em outros, para não sobrecarregar seu firewall de borda com tráfego interno).

A vantagem de tal configuração é ter que manter duas (ou mais) zonas separadas para o mesmo domínio.

Para definir a visualização, você simplesmente define na primeira visualização a que redes ela atende, e o restante mostrará a segunda visualização.

Como em named.conf :

acl networks1 { 192.168.1.0/24; 192.168.3.0/24; };
acl networks2 { 192.168.2.0/24; };

view "nets1" {
    match-clients { networks1; };
    recursion yes;

    include "mydomain.view1";
}

view "nets2" {
    match-clients { networks2; };
    recursion yes;

    include "mydomain.view2"; 
}

Veja: Noções básicas sobre exibições no BIND 9 , por exemplo

    
por 18.11.2016 / 14:16