Como alguém poderia evitar que nomes fizessem consultas recursivas?

Como alguém poderia evitar que nomes fizessem consultas recursivas?

Eu tenho minha configuração do bind9:

acl allowed {
        192.168.12.0/24;
        10.10.0.0/24;
};
options {
        listen-on port 53 { 127.0.0.1; 192.168.12.90; 10.10.0.21; };
        listen-on-v6 port 53 { ::1; };

        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";

        allow-notify { localnets; };
        allow-query     { none; };
        allow-recursion { allowed; };
        allow-query-cache { allowed; };
        allow-transfer { 192.168.12.117; };
        allow-update { none; };
        blackhole {  none; };

        forward only;
        forwarders {
                192.168.12.4;
        };
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;

        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

Com esta configuração permiti que os clientes fizessem consultas recursivas que o bind deveria resolver encaminhando para outro servidor DNS. Eu faço um rastreamento:

dig @192.168.12.90 wikipedia.org +trace

Obter: gera um traço longo tendo na parte inferior:

wikipedia.org.          600     IN      A       91.198.174.192
;; Received 86 bytes from 208.80.154.238#53(ns0.wikimedia.org) in 140 ms

É óbvio que o servidor DNS local executa consultas recursivas começando dos servidores raiz até ns0.wikimedia para fazer a resolução, embora tenha sido comandado para encaminhar apenas consultas(forward only;directiva).

Como alguém poderia aderir ao encaminhamento puro sem permitir que o servidor DNS fizesse consultas recursivas?

Obrigado.

Responder1

De acordo com digo manual:

+[sem]traço- Alternar o rastreamento do caminho de delegação dos servidores de nomes raiz para o nome que está sendo pesquisado. O rastreamento está desabilitado por padrão. Quando o rastreamento está ativado,dig faz consultas iterativas para resolver o nome que está sendo pesquisado. Ele seguirá as referências dos servidores raiz, mostrando a resposta de cada servidor que foi usado para resolver a consulta.

Então, para verificar se o seu servidor suporta consultas recursivas ou não, basta executar:

#dig @192.168.12.90 wikipedia.org

e veja se o bit RA (Recursion Available) está definido no cabeçalho de resposta.

por exemplo, para servidor DNS do Google

#dig @8.8.8.8 wikipedia.org
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

informação relacionada