Por que o meu servidor DNS não pode iniciar (erro de zona ruim)?

7

Esta é minha configuração (executando named on centos ).

/etc/named.conf

options {
    ## path to zone files ##
    directory "/var/named";

    ## forward non-local to google ##
    forwarders { 8.8.8.8; };
};

zone "gallactica.lab" IN {
    type master;
    file "named.gallactica.lab";
    allow-update { none; };
};

zone "1.168.192.in-addr.arpa" IN {
    type master;
    file "rz-192-168-1";
    allow-update { none; };
};

/var/named/named.gallactica.lab

$TTL 1D
@       IN SOA  ns1.gallactica.lab. admin.gallactica.lab. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
IN NS      ns1.gallactica.lab.
IN A       192.168.1.105
ns1         IN A        192.168.1.105
proxmox     IN A        192.168.1.180

/ var / named / rz-192-168-1

$TTL 1D
@       IN SOA  ns1.gallactica.lab. admin.gallactica.lab. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
IN NS      ns1.gallactica.lab.
105     IN PTR  ns1.gallactica.lab.
180     IN PTR  proxmox.gallactica.lab.

Meu servidor DNS é ns1.gallactica.lab no endereço 192.168.1.105 .

O erro que estou recebendo ao tentar reiniciar o serviço named é:

Jan 19 20:18:10 ns1.gallactica.lab named-checkconf[6469]: zone 1.168.192.in-addr.arpa/IN: not loaded due to errors.
Jan 19 20:18:10 ns1.gallactica.lab named-checkconf[6469]: _default/1.168.192.in-addr.arpa/IN: bad zone
Jan 19 20:18:10 ns1.gallactica.lab named-checkconf[6469]: zone localhost.localdomain/IN: loaded serial 0
Jan 19 20:18:10 ns1.gallactica.lab named-checkconf[6469]: zone localhost/IN: loaded serial 0
Jan 19 20:18:10 ns1.gallactica.lab named-checkconf[6469]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0....ial 0
Jan 19 20:18:10 ns1.gallactica.lab named-checkconf[6469]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
Jan 19 20:18:10 ns1.gallactica.lab named-checkconf[6469]: zone 0.in-addr.arpa/IN: loaded serial 0
Jan 19 20:18:10 ns1.gallactica.lab systemd[1]: named.service: control process exited, code=exited status=1
Jan 19 20:18:10 ns1.gallactica.lab systemd[1]: Failed to start Berkeley Internet Name Domain (DNS).
Jan 19 20:18:10 ns1.gallactica.lab systemd[1]: Unit named.service entered failed state.
    
por n0pe 20.01.2015 / 02:18

1 resposta

7

Supondo que você manteve o espaço em branco dos arquivos de zona intactos ao reformatá-los na sua pergunta, parece que você não tem nenhum registro NS no topo da zona devido a um problema de formatação, o que torna a zona falsa. Você também deseja corrigir o registro A correspondente para esse servidor de nomes.

  • O que você digitou: IN NS ns1.gallactica.lab.
  • O que você pretendia que fosse interpretado como: 1.168.192.in-addr.arpa. IN NS ns1.gallactica.lab.
  • Como isso foi realmente interpretado: IN.1.168.192.in-addr.arpa. IN NS ns1.gallactica.lab.

Quando uma linha começa como espaço em branco, é assumido que o rótulo (nome do registro) é o mesmo que o registro anterior na zona. Isso é uma abreviação útil, mas cria problemas de portabilidade quando o espaço em branco principal é perdido entre cópias e pastas.

Como uma nota secundária, é útil executar named-checkzone ao encontrar problemas como esse. (e seguindo qualquer modificação de arquivo de zona, realmente)

    
por 20.01.2015 / 05:59