Um servidor DNS hospeda dois domínios diferentes com o mesmo registro NS?

1

Estou rodando o bind9 no Debian 8 x64 e quero hospedar duas zonas para o meu site:

example.com
example.net

Eu configurei os arquivos named.conf. *, configurei o db.example.com e db.example.net no diretório de zonas e tentei carregar ambos. O .com teve sucesso, mas o .net falhou. Ele disse que não havia registros NS.

Estou usando os seguintes registros NS para ambos com o mesmo IP. Isso não é possível?

ns1.example.com IN NS 1.1.1.1
ns2.example.com IN NS 1.1.1.2
    
por user72718271 03.01.2016 / 17:19

1 resposta

0

O que você está tentando fazer é, em princípio, bastante factível, mas vejo 4 problemas com o seu fragmento de arquivo de zona. Se você postar o arquivo de zona completa, posso fornecer uma orientação melhor, mas seu arquivo de zona está totalmente errado. Um arquivo de zona válido (para fazer o que você está tentando fazer) pode ter a seguinte aparência:

@   IN SOA   ns1.example.com. soa.example.com. (
                        2016010401 ; serial
                        3600; refresh
                        600;  retry
                        86400 ; expire
                        3600 ) ; min TTL

     IN  NS ns1
     IN  NS ns2
     IN  A  33.33.33.33

ns1  IN A   1.1.1.1
ns2  IN A   2.2.2.2
www  IN CNAME www.provider.domain.

Existem alguns pedaços importantes aqui -
Observe o "@" como o primeiro caractere no arquivo de zona - isso significa que este nome de domínio tem sua fila a qual nome de domínio a qual estamos nos referindo a partir da referência em /etc/named.conf - isso nos permite usar o mesmo estrutura de domínio para outros domínios.

Os registros IN NS nsX não têm nada na frente - isso porque estamos definindo os registros NS para toda a zona. O bit "nsX" é um endereçamento relativo - por exemplo, equivalnet para ns1. @ = Ns1.example.com ou ns1.example.net, dependendo da entrada em named.conf

As linhas ns1 em A 1.1.1.1 especificam o endereço IP para ns1. Isso cria uma referência circular - ou seja, para resolver ns1.example.com, você precisa saber o endereço IP do nameserver example.com, que precisa saber ns1.example.com. O Bind pode descobrir isso sozinho - mas o resto da Internet não pode - por esse motivo você precisa especificar endereços IP e domínios com o registrador ao registrar o domínio [assim um registro "Glue" pode ser criado na raiz / nameservers pai]

Note que se você especificar algo como smtp.example.com IN A 20.20.20.20 isso não funcionará como esperado. A maneira correta de fazer isso é "smtp.example.com. EM A 20.20.20.20" (observe o caractere "." - se você deixar de fora, Bind irá interpretá-lo como smtp.example.com.example.com

Por questões de integridade, você precisa, é claro, especificar o arquivo de zona em /etc/named.conf ou equivalente. Você faz isso da seguinte maneira:

zone "example.com"
{
     type master;
     file "/path/to/zone.file";
};


zone "example.net"
{
     type master;
     file "/path/to/zone.file";
};
    
por 03.01.2016 / 21:41