Muitos domínios / sites hospedados no mesmo servidor, alternativas CNAME para evitar escrever o mesmo IP no DNS?

2

Eu tenho muitos sites (cada um com seu próprio domínio) todos no mesmo servidor hospedado cPanel (digamos que o IP do servidor seja 1.1.1.1 e o domínio principal do servidor seja myserver.com )

Todos esses domínios usam DNS de terceiros (não os hospedados pelo cPanel) , eu configurei o DNS de cada um desses domínios para apontar para o IP do servidor. Exemplo de como o DNS de cada domínio está definido no momento:

domainx.com -> A -> 1.1.1.1
domainx.com -> MX -> mail.domainx.com
mail.domainx.com -> A -> 1.1.1.1
www.domainx.com -> CNAME -> domainx.com
ftp.domainx.com -> CNAME -> domainx.com

Essa situação me obriga a repetir centenas de vezes o IP do servidor 1.1.1.1 uma vez para cada domínio. No caso de alterações no IP do servidor, terei que passar por cada DNS do domínio para atualizar os registros com o novo IP.

Então, eu pensei porque não usar o CNAME para evitar reescrever o IP do servidor em todo lugar ?! Eu poderia definir cada domínio DNS como o seguinte:

domainx.com -> CNAME -> myserver.com
domainx.com -> MX -> mail.myserver.com
mail.domainx.com -> CNAME -> myserver.com
www.domainx.com -> CNAME -> myserver.com
ftp.domainx.com -> CNAME -> myserver.com

Mas eu li que domainx.com -> CNAME -> myserver.com é malvado, veja este e isso .

Mas quais alternativas eu tenho para evitar reescrever o IP do servidor em todos os lugares?

    
por Marco Demaio 22.02.2013 / 14:16

5 respostas

2

But I read that domainx.com -> CNAME -> myserver.com is evil

CNAMEs não são maus. No entanto, usar o CNAMES para um domínio de segundo nível interromperá o DNS para esses domínios. Você não pode adicionar MX, TXT ou qualquer outro registro no mesmo nível do registro CNAME. De rfc1912 :

A CNAME record is not allowed to coexist with any other data. In
other words, if suzy.podunk.xx is an alias for sue.podunk.xx, you
can't also have an MX record for suzy.podunk.edu, or an A record, or
even a TXT record. Especially do not try to combine CNAMEs and NS
records

Tecnicamente, isso pode funcionar, mas misturar o CNAMES com outros registros pode confundir outros servidores DNS, o que causará falhas estranhas e será uma dor de cabeça administrativa.

    
por 20.03.2013 / 01:08
1

Embora o CNAME para domínios seja maligno, existe um pouco de DNAME conhecido que fará exatamente o que você quer (e se destina apenas a isso). Se também permitirá substituir certas entradas em subdomínios (por exemplo, registros de texto spf, etc ..., se você precisar) - veja este question e minha resposta para um exemplo.

    
por 20.03.2013 / 00:51
0

Por que não usar um arquivo de zona única no BIND?

Você cria um arquivo de zona chamado virtual_hosts e coloca os registros A, os registros MX, etc. Em seguida, no arquivo named.conf , você aponta cada domínio "simples" para o mesmo arquivo de zona.

zone "domainx.com" IN {   
    type master;   
    file "virtual_hosts";   
    allow-update { none; }; 
};

zone "domainy.com" IN {   
    type master;   
    file "virtual_hosts";   
    allow-update { none; }; 
};

zone "domainz.com" IN {   
    type master;   
    file "virtual_hosts";   
    allow-update { none; }; 
};
    
por 22.02.2013 / 15:18
0

Se você tiver muitas zonas e / ou registros, talvez seja melhor usar APIs para implementá-las, em vez de manipulá-las manualmente por meio de interfaces da Web.

A maioria dos provedores de DNS confiáveis possui APIs disponíveis. ( Exemplo , exemplo , página da Wiki .

    
por 22.02.2013 / 16:13
-1

usar curinga (*) para registros apontando o mesmo IP

Que test.com é o seu domínio:

$ORIGIN test.com.
*           A   1.1.1.1

Nesse caso, cada subdomínio terá o registro A 1.1.1.1, incluindo www

    
por 23.02.2013 / 16:13