"zona não tem registros NS" erro ao configurar subdomínio

3

Estou seguindo este tutorial: link para configurar o subdomínio na minha máquina ubuntu. Na etapa III, eu uso o mesmo db.mydev do tutorial, exceto o IP:

mydev. 86400 IN SOA mydev. hostmaster.mydev. (
        20091028 ; serial yyyy-mm-dd
        10800; refresh every 15 min
        3600; retry every hour
        3600000; expire after 1 month +
        86400 ); min ttl of 1 day
IN NS mydev. 
IN MX 10 mydev.
IN A 12.85.28.217
*.mydev. IN A 12.85.28.217

No entanto, quando uso named-checkzone mydev db.mydev para verificar a sintaxe, recebo a mensagem de erro: zone mydev/IN: has no NS records . Alguma dica?

    
por clwen 10.01.2013 / 04:57

2 respostas

4

Concordo com Andrew B, exceto que para fins de legibilidade eu não recomendaria usar apenas espaços em branco. Use o símbolo @ ou o nome completo da zona ("mydev.") Naquele local para tornar as coisas significativamente mais legíveis. O espaço em disco não é mais caro e economizar alguns caracteres à custa de ter um arquivo em que você não entende o que o analisador de zonas está fazendo não é uma vitória.

Para explicar um pouco mais, cada declaração de registro de recurso consiste em um rótulo, um ttl, uma classe, um tipo e um valor. Mas você pode deixar de fora qualquer um, exceto o valor, e eles serão herdados de cima.

O snippet que você publicou está tentando declarar registros com o nome "mydev". para registros de classe IN e tipo SOA, NS, MX e A, mas como você deixou de fora espaços em branco importantes no início das linhas para as declarações de registros NS, MX e A, você está com problemas.

Se os itens entre colchetes forem padrões herdados, em vez de:

[mydev.]   IN    NS         mydev.
[mydev.]   IN    MX   10    mydev.
[mydev.]   IN    A          12.85.28.217

você está inadvertidamente declarando:

IN.[mydev.]   [IN]   NS         mydev.
IN.[mydev.]   [IN]   MX   10    mydev.
IN.[mydev.]   [IN]   A          12.85.28.217

e como resultado, nenhum registro NS é declarado como antigo:

mydev.   IN   NS   mydev.

resultando na mensagem de erro que você está vendo, "zona mydev / IN: não possui registros NS"

    
por 10.01.2013 / 15:27
8

Você precisa de pelo menos um caractere de espaço em branco ou uma guia (crédito: a edição do @mdpc para o lembrete da guia) no início de cada linha que começa com o "IN". Alguns administradores não são parciais nas guias: nesses casos, você deve tentar manter todas essas entradas alinhadas com espaços em branco iguais, sempre que possível.

Isso porque você está tecnicamente deixando de fora o primeiro campo dos registros que você está definindo. É um atalho para não ter que colocar "mydev". ou "@" no início de cada uma dessas linhas, mas só funciona se você começar a linha com algo que não seja dados de registro.

    
por 10.01.2013 / 05:17