Configure o BIND para ser um encaminhador simples (sem consultas de servidores-raiz)

6

Eu gostaria de configurar um servidor de ligação simples capaz de atuar como encaminhador simples para os servidores OpenDNS.

Eu não quero a minha ligação, no entanto, ser capaz de consultar os servidores raiz, eu quero que todo o tráfego vá apenas para o OpenDNS e talvez atue como "cache" para ele.

Como isso pode ser alcançado? Devo desabilitar as dicas dos servidores-raiz de alguma forma? Este é o procedimento correto?

Meu palpite é comentar a zona "." servidos pelos servidores raiz no arquivo named.conf.default-zones . Eu li no entanto que os servidores raiz que não consultam podem ser obtidos também desabilitando a recursão, mas desabilitar a recursão parece levar o servidor a não ser capaz de tirar proveito dos encaminhadores também .. onde meu conf está errado?

Conf é o seguinte:

named.conf

// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

named.conf.options

acl "trusted" {
        127.0.0.1/8;
        10.0.0.0/8;
        172.16.0.0/12;
        192.168.0.0/16;
        ::1;
};

options {

        directory "/var/cache/bind";    # bind cache directory

        recursion no;                   # enables resursive queries

        allow-query { trusted; } ;

        allow-recursion { "none"; };
        additional-from-cache no;

        allow-transfer { none; };       # disable zone transfers by default

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        forward only;

        forwarders {
                208.67.222.222;
                208.67.220.220;
        };


        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================

        dnssec-enable no;
        dnssec-validation no;
        dnssec-lookaside auto;


        auth-nxdomain no;               # conform to RFC1035

};

named.conf.local

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

named.conf.default-zones

// prime the server with knowledge of the root servers
zone "." {
        type hint;
        file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
        type master;
        file "/etc/bind/db.255";
};
    
por user3450548 18.03.2016 / 11:26

1 resposta

5

A configuração do BIND de fato, quando os encaminhadores são definidos, envia todas as solicitações que não foram atendidas pelo BIND local para os encaminhadores.

Mais ainda, quando forward only; é usado, as zonas locais são ignoradas e todas as solicitações são atendidas apenas pelo cache ou pelos encaminhadores.

Se você precisa ter zonas locais (ou seja, endereços IP privados da RFC 1918 e uma zona de residência / escritório local), para fins de ter encaminhadores, é necessário comentar a zona com as dicas de raiz e o forward only; diretiva.

// forward only;

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

Do DNS HowTo

But if "forward only" is set, then BIND gives up when it doesn't get a response from the forwarders, and gethostbyname() returns immediately. Hence there is no need to perform sleight-of-hand with files in /etc and restart the server.

In my case, I just added the lines

forward only; forwarders { 193.133.58.5; };

to the options { } section of my named.conf file. It works very nicely. The only disadvantage of this is that it reduces an incredibly sophisticated piece of DNS software to the status of a dumb cache.

Então, se você só precisa de um cache burro, só é possível encaminhar solicitações. Essa é a configuração apropriada em uma configuração corporativa quando você encaminha solicitações para o Office central, por exemplo.

De acordo com a sua situação, onde seus pedidos de encaminhamento para o exterior, eu aconselho a não cegamente forward only para não encaminhar solicitações de DNS do intervalo de endereços IP privados / domínios DNS / Windows locais para as hierarquias superiores / servidores de nomes raiz.

    
por 18.03.2016 / 11:53

Tags