Reencaminhamento de DNS condicional com nome no Linux

5

Eu tenho um servidor Centos 5.2 que é executado em nome da resolução de DNS - ele não possui nenhuma informação própria e apenas encaminha todas as solicitações. Do named.conf:

options {
[...]
        forwarders { 1.1.1.1; 1.1.1.2; };
};

Todas as outras linhas no named.conf são deixadas como padrão.

Eu quero alterar a configuração para que pedidos de qualquer coisa sob newdomain.com sejam passados para 22.22.22.22, enquanto solicitações para qualquer outro endereço vão para 1.1.1.1 ou 1.1.1.2

Como posso configurar o DNS neste servidor para fazer isso?

    
por DrStalker 04.01.2010 / 05:10

3 respostas

16

hehe, eu votei a resposta anterior antes de fazer um pouco de mim mesmo.

Certo, se você editar seu named.conf e adicionar o seguinte:

zone "newdomain.com" {
    type forward;
    forward only;
    forwarders { 22.22.22.22; };
};

agora você não será capaz de fazer pesquisas reversas facilmente, você terá que modificar a seguinte declaração de zona para fazer sentido para o (s) endereço (s) IP do domínio (isto foi originalmente um reverso para 192.168.80.0/ 24).

zone "80.168.192.in-addr.arpa" {
    type forward;
    forward only;
    forwarders { 22.22.22.22; };
};

Depois de fazer as alterações, você deve

  1. Verifique se você não ajustou os arquivos de configuração:   named-checkconf

  2. Diga ao bind para recarregar sua configuração: rndc reload (muito preferido para /etc/init.d/bind reload )

Lembre-se de que isso retornará respostas não autorizadas para o domínio. A maneira de contornar isso (e oferecer melhor cache local caso o DNS remoto seja problemático) seria atuar como um escravo para a zona.

editado para adicionar a declaração forward only; . isso fará com que a consulta falhe após tentar o (s) servidor (es) especificado (s) nos encaminhadores, em vez de falhar e, em seguida, tentar uma pesquisa padrão. Também editado para alterar /etc/init.d/bind recarregar para rndc reload após conselhos nos comentários.

    
por 04.01.2010 / 06:41
3

Se você está tentando otimizar, e 22.22.22.22 é auth para essa zona, você também pode usar uma zona de stub:

zone "newdomain.com" {
    type stub;
    masters { 22.22.22.22 };
};

Isso faz algo um pouco diferente do encaminhamento. Ele consultará o servidor 22.22.22.22 para registros NS e os manterá sempre no cache. Isso fará quase a mesma coisa, mas se outro host NS (digamos, 33.33.33.33) também estiver listado, seu servidor então aprenderá sobre ele e também o usará.

Eu acredito que uma zona de stub aqui é uma opção melhor do que o encaminhamento condicional.

    
por 04.01.2010 / 07:03
2

Você pode operar como escravo para newdomain.com? ou seja, fazer uma transferência completa?

    
por 04.01.2010 / 05:53