Exceções de zona separadas para cada exibição no BIND

3

Problema: Separe as zonas por rede de origem de consulta e retorne registros diferentes para clientes de rede local em comparação com clientes de rede de longa distância.

Eu implementei isso em casa em um pequeno roteador alix com o Bind 9.4. Um ponto de vista chamado "lan" e um ponto de vista chamado "wan". A visão "lan" tinha apenas o arquivo root.hints e uma zona.

A exibição "wan" tinha muitas outras zonas, incluindo uma cópia de uma zona da visualização "lan", mas com registros diferentes.

Consultar domain1.tld da LAN me daria registros locais. Consultar domain1.tld da WAN me daria registros externos. Consultar domain2.tld da LAN me daria os mesmos registros da WAN, pois eles só existiam na exibição da WAN.

Agora estou tentando reimplantar isso em uma escala maior e, de repente, minha visualização não consegue consultar nada fora de si. Isso é natural de acordo com a lista de usuários vinculados e eles sugerem que eu copie todas as minhas exibições na minha visualização de LAN.

Espero que alguém aqui tenha uma solução melhor porque isso significa que terei que copiar e manter milhares de arquivos de zona em vários modos de exibição. Isso é inviável.

Minha configuração em casa se parece com isso.

acl lanClients {
 192.168.22.0/24;
 127.0.0.1;
};

view "intranet" {
 match-clients { lanClients; };
 recursion yes;
 notify no;

 // Standard zones
 //
 zone "." {
  type hint;
  file "etc/root.hint";
 };

 zone "domain1.tld" {
  type master;
  file "intranet/domain1.tld";
 };
};

view "internet" {
 match-clients { !localnets; any; };
 recursion no;
 allow-transfer { slaveDNS; };

 include "master.zones";
};

Solicitações da LAN para domain1.tld fornecem registros locais, solicitações da WAN fornecem registros remotos. Isso funciona bem em casa e no meu novo Bind 9.7 em uma escala maior.

A diferença é que em casa eu consegui de alguma forma fazer com que minha LAN obtenha registros remotos de domínios em master.zones, sem especificar essas zonas como duplicatas na visão "intranet".

Tentando isso em uma escala maior com Bind 9.7 Eu não obtenho nenhum resultado, exceto para as zonas especificadas na visão. o que estou perdendo? Eu tentei a mesma configuração para o Bind 9.7.

    
por Stefan M 22.10.2012 / 12:25

1 resposta

0

Cada visão tem um conjunto separado de zonas, então uma visão não responderá para as zonas especificadas somente em outra visão, assim o comportamento que você tem é um pouco esperado. Mas, assim que todas as suas zonas WAN forem devidamente delegadas ao seu servidor a partir da zona pai, intranet view seguirá a cadeia de delegação, voltará para seu próprio servidor e consultará a si mesmo para essa zona.

Eu acho que seu problema é - você está testando seu servidor e ainda não delegou as zonas, ou a origem de suas consultas do BIND cai em lanClients ACL e, portanto, cria um loop infinito.

O truque é usar query-source 1.2.3.4; , onde 1.2.3.4 é algum IP de interface externa que não se encaixa em lanClients ACL.

Outra opção é adicionar forward only; e forwarders 1.2.3.4; à sua exibição de intranet - dessa forma, a cadeia de delegação não importa, e isso também funcionará por trás do NAT.

Em qualquer caso, as consultas feitas pela própria ligação devem ser excluídas da exibição lanClients .

    
por 25.10.2012 / 15:29