Como desativar a recursão do DNS externo?

5

Eu sei que para desabilitar as consultas recursivas no BIND, preciso adicionar as seguintes linhas à seção de opções de /etc/bind/named.conf.options

allow-transfer {"none";};
allow-recursion {"none";};
recursion no;

A configuração acima desabilitará todas as consultas recursivas de DNS?

Como posso desabilitar a recursão de DNS somente para consultas de rede externas e manter a recursão somente para rede interna?

Se eu desabilitar a recursão, qual processo será executado pelo BIND para resolver a solicitação de nome? Iterativo ou Inverso?

    
por Mithun Sreedharan 01.08.2012 / 10:50

1 resposta

7

Você pode ativar a recursão para alguns clientes e desabilitar a recursão de outras pessoas usando exibições, mas isso não é recomendado porque você perderá algumas das vantagens de desativar a recursão em primeiro lugar. Você deve usar diferentes servidores de nomes para resolução recursiva e serviço autoritativo. (Os dois servidores podem ser executados na mesma máquina, se necessário.) Ainda assim, veja como fazer isso:

// global options apply to external clients
options {
    recursion no;
    additional-from-auth no;
    additional-from-cache no;
};

view "local" in {
    // view options enable recursion only for local clients
    match-clients { 172.16.45.80/23; 192.168.12.0/24; 127.0.0.1/8; ::1; };
    recursion yes;
    additional-from-auth yes;
    additional-from-cache yes;

    zone "." in {
            type hint;
            file "/etc/bind/db.root";
    };

    // put definitions for zones like "localhost" and "127.in-addr.arpa" here
}

// put definitions for real authoritative zones here.

Quanto à questão em sua última sentença, "qual processo será executado pelo BIND resolve o pedido de nome? Iterativo ou Inverso?", não entendi a pergunta. Um servidor de nomes configurado para não oferecer serviço recursivo simplesmente se recusará a responder a consultas recursivas.

    
por Celada 01.08.2012 / 14:33

Tags