Eu comecei recentemente a atualização para ligar 9.9.7 e encontrei um obstáculo desafortunado com bind.
Eu configurei views no meu ambiente para permitir que eu diferencie 4 das minhas zonas com endereços IP diferentes com base em onde o host está executando uma consulta. As outras 36 zonas que eu sirvo não diferenciam os endereços IP, mas devem sempre servir o mesmo endereço para cada host. Para fazer isso, criei uma lista separada de hosts que, em seguida, usei uma diretiva include
no named.conf
para incluir essas entradas nas duas zonas. Aqui está um pequeno exemplo da configuração que tenho executado em um dos meus servidores escravos:
Primeiro, um trecho do meu named.conf
view "sitea" {
match-clients {192.168.1.0/24;};
zone "mydomain.com." IN {
type slave;
masters { 192.168.1.100;};
file "sitea_mydomain.com.db";
};
include "/etc/common_zones.conf";
};
view "siteb" {
match-clients {any; };
zone "mydomain.com." IN {
type slave;
masters {192.168.1.100; };
file "mydomain.com.db";
};
include "/etc/common_zones.conf";
};
E um snippet do arquivo common_zones.conf
:
zone "1.168.192.in-addr.arpa." IN {
type slave;
masters {192.168.1.100;};
file "192.168.1.db";
};
No tempo anterior, o bind era perfeitamente legal com o uso do mesmo arquivo duas vezes na construção da visão, mas agora não é. Ter um arquivo de zona listado duas vezes em duas visualizações diferentes causa um erro que diz especificamente que a ligação não permitirá essa configuração. Neste caso, ele me diz que não será iniciado porque usei um arquivo duplicado 192.168.1.db
. Especificamente, a mensagem de erro é:
writeable file '192.168.1.db': already in use: /etc/common_zones.conf
O problema que tenho com isso é no meu mundo real, eu tenho mais de 40 zonas (zonas inversas) que, apesar da visão de onde elas vêm, elas sempre serão a mesma resposta, não importa o quê. A possibilidade de usar uma inclusão geral, conforme mostrado acima, foi uma ótima maneira de diferenciar alguns hosts do domínio " mydomain.com
". Agora, sou confrontado com a possibilidade de ter que entrar em 40 zonas em cada exibição, cada uma apontando para um arquivo diferente, apesar do fato de que os dados são idênticos.
Alguém tem uma solução inteligente para isso?