Um dig +trace
mostra alguma coisa? Deve mostrar como se trata da resposta que você está recebendo.
Temos uma zona com um TTL de 2 horas. Antes de fazer qualquer alteração, ele retornou um registro A
ao pesquisar a entrada de www
.
Alteramos a entrada de www
para apontar para um registro CNAME
. Após a alteração, notamos que o comando do host estava retornando os registros CNAME
e A
, conforme mostrado:
user@osx:~$ host www.example.com
www.example.com has address 192.168.1.2
www.example.com is an alias for vip.example.com.
www.example.com is an alias for vip.example.com.
user@osx:~$
Isso foi um problema com o armazenamento em cache de alguns servidores DNS? Se tivéssemos simplesmente deixado o TTL expirar completamente, teríamos obtido um CNAME
como esperado sem o registro A
?
Não recebi mais informações detalhadas com dig ou outros comandos.
EDITAR: O endereço verdadeiro de vip.example.com.
é completamente diferente do registro A
que foi retornado originalmente:
user@osx:~$ host vip.example.com
vip.example.com has address 172.16.4.5
user@osx:~$
Até onde eu sei, isso é perfeitamente normal. Consultar um CNAME
retorna o valor do registro A
, porque é para onde ele está mapeando, quando você está consultando um registro A
.
Sendo um cara do Windows, eu uso nslookup
. Quando o tipo de consulta é definido como A
, obtenho:
Server: bladedc1.live.local
Address: 192.168.163.50
Name: example.com.au
Address: x.x.x.x
Aliases: www.example.com.au
Mas quando eu defino o tipo de consulta para CNAME
, obtenho:
www.example.com.au
Server: bladedc1.live.local
Address: 192.168.163.50
Non-authoritative answer:
www.example.com.au canonical name = example.com.au
example.com.au internet address = x.x.x.x
Tente definir o tipo de consulta como CNAME
em vez de A
e veja o que você obtém.
kechara# host cnametest.flame.org
cnametest.flame.org is an alias for www.isc.org.
www.isc.org has address 149.20.64.42
www.isc.org has IPv6 address 2001:4f8:0:2::d
O host é inteligente. Ele tenta exibir todos os dados possíveis para o usuário. No entanto, dig
é uma ferramenta de depuração muito mais confiável.
Você deve primeiro identificar se a resposta que você está recebendo começa nos servidores de nomes ou está mais abaixo na cadeia.
$ host -t ns example.com
example.com name server b.iana-servers.net.
example.com name server a.iana-servers.net.
$ host example.com b.iana-servers.net
Using domain server:
Name: b.iana-servers.net
Address: 193.0.0.236#53
Aliases:
example.com has address 192.0.32.10
$ host example.com a.iana-servers.net.
Using domain server:
Name: a.iana-servers.net.
Address: 192.0.34.43#53
Aliases:
example.com has address 192.0.32.10
Tags cache domain-name-system