bind9, exclui o endereço da interface externa dos resultados

bind9, exclui o endereço da interface externa dos resultados

Bom dia, estou utilizando Zentyal, configurado com 2 interfaces, uma interna e outra externa. Ao resolver o nome de host e os aliases dos servidores, bind retorna aleatoriamente o endereço externo nos resultados. O problema claro é que a rede local não consegue se comunicar com a rede externa e interrompe os serviços aleatoriamente. Exemplo:

dig proxy.private.example.com

;; ANSWER SECTION:
proxy.private.example.com. 259200 IN   CNAME   zentyal.private.example.com.
zentyal.private.example.com. 900 IN    A       192.168.122.73
zentyal.private.example.com. 900 IN    A       10.10.20.40

10.10.20.40 está na rede interna e o endereço que devemos sempre resolver.

Como excluo a interface “192.168.122.73” dos resultados? Como seria minha configuração de ligação?

ps: estou pesquisando há 3 dias; é possível que eu esteja procurando as coisas erradas.

Sua ajuda é muito apreciada.

Responder1

O que você configurou agora são vários Aregistros para o mesmo recurso. O Bind tratará isso como round-robin e retornará alternadamente 192.168.122.73 ou 10.10.20.40 para uma solicitação de DNS para zentyal.private.example.com.

O que você deseja é que, dependendo da interface/endereço IP originado pela solicitação DNS, uma resposta diferente seja retornada de forma consistente. No Bind isso é chamado de visualização.

Requer que você configure dois arquivos de zona diferentes, um para clientes externos e um segundo para clientes internos e configure o Bind quando usar qual arquivo de zona. A seção de configuração relevante em sua configuração pode ser mais ou menos assim:

view "internal" {
        match-clients { localnets; };
        recursion yes;          /* this is the default */

        zone "private.example.com" {
                type master;
                file "db.private.example.com.internal";
                allow-transfer { any; };
    };
};

view "external" {
    match-clients { any; };
    recursion no;

    zone "example.com" {
        type master;
        file "db.example.com.external";
            allow-transfer { none; };
    };
};

E, em seguida, adicione o registro A com o endereço IP 10.x a db.private.example.com.internal e certifique-se de que apenas o registro A com o endereço IP 192.x permaneça no db.example.com.external público arquivo de zona.

informação relacionada