BIND - lista de encaminhadores usados ​​em diversas zonas

BIND - lista de encaminhadores usados ​​em diversas zonas

Estou configurando um servidor de nomes BIND (v9.16).

Seu principal objetivo é funcionar como um recursor regular para nossos hosts internos. Porém, para algumas zonas específicas (aquelas que hospedamos), preciso configurá-lo como encaminhador. O objetivo é evitar a criação de dependência de servidores DNS raiz e TLD, e poder continuar usando nossos serviços internos mesmo no caso de indisponibilidade de nossas conexões de rede externas.

Isso foi fácil de configurar, aqui estão as partes relevantes da minha configuração:

options {
    allow-recursion {
        // Here comes the list of our inside networks
    };

};

zone "somedomain.example" IN {
    type forward;
    forward first;
    forwarders {
        // Here comes the list of the primary servers for this zone
    };
// ... repeated for all forward zones

Esta configuração funciona conforme o esperado, mas com um pequeno inconveniente. A lista de servidores primários deve ser repetida para todas as zonas "avançadas". Temos alguns deles, todos com endereços IPv4 e IPv6, e ^C/^V a lista de todas as zonas não é a coisa mais elegante que já vi, nem é muito compatível com DRY.

Eu sei que a forwardersdeclaração também pode ser incluída na optionsseção global, mas a partir de experimentos básicos eu entendo que esta declaração não se aplica a zonas de encaminhamento, ela se destina apenas a um servidor de nomes somente de encaminhamento (a documentação não é clara, mas menciona que "se não forwardershouver declaração, [...] anulando-se os efeitos de quaisquer transitários na optionsdeclaração").

Existe uma maneira de criar uma lista nomeada de encaminhadores, mais ou menos da mesma forma que criamos ACLs, e usar esse nome simbólico na forwardersinstrução dentro das zonas relevantes?

Responder1

Como muitos outros daemons e serviços, o ISC Bind suporta umincludediretiva em seus arquivos de configuração.

Isso permite que você mova uma lista de definições de configuração e diretivas para um arquivo diferente e você pode fazer referência a essa inclusão onde for necessário.

Isso reduz a sua carga administrativa, mantendo apenas a sua lista de despachantes em um único local e você só precisa copiar a referência onde for necessária.

// "/var/named/includes/forwarders.conf"
// master list of forwarders

forwarders {
            192.0.2.21;
            192.0.2.88;
};

e então em você nomeado.conf:

zone "somedomain.example" IN {
    type forward;
    forward first;
    include "/var/named/includes/forwarders.conf";
}
zone "otherdomain.example" IN {
    type forward;
    forward first;
    include "/var/named/includes/forwarders.conf";
}

informação relacionada