Um cliente armazena em cache o IP de um pedido CNAME DNS ou o outro domínio?

3

Estou pensando em usar dois hosts DNS diferentes e estou curioso para saber como um sistema cliente armazenaria em cache o registro CNAME. O motivo pelo qual estou indo nessa rota é que um domínio principal que gostaria de usar já está hospedado em um serviço DNS, mas o aplicativo está hospedado em outro serviço que possui seu próprio tratamento DNS integrado aos serviços.

Especificamente, o que eu estou procurando entender é, se friendly.abc.com for um registro CNAME que aponte para long-ugly-url.hosted-service.com que está hospedado (DNS e aplicativo) em outro serviço com um IP 1.2.3.4 , os clientes acessando friendly.abc.com estarão fazendo o cache long- ugly-url.hosted-service.com ou 1.2.3.4 ? A razão pela qual eu pergunto é que, se for o primeiro, o long-ugly-url.hosted-service.com Um registro pode ter um TTL curto e pode ser alterado rapidamente enquanto o friendly.abc.com pode ser definido em um TTL mais alto, mas ainda tem alterações "propagadas" rapidamente. Se for o último, ambos precisariam ter TTLs curtos para que os clientes responsáveis vejam as alterações rapidamente.

    
por hsteckylf 02.09.2015 / 03:39

2 respostas

1

Eu diria ambos. As implementações podem variar, mas considerando que o ponto inteiro do cache não é buscar algo que você já fez há pouco, parece ilógico que um cliente obtenha um registro CNAME e A e jogue fora um ou outro. Eu estou usando o termo 'cliente' vagamente aqui como você tem em sua pergunta, mas a implementação pode variar se estamos falando de um resolvedor de DNS (como dig, nslookup), cache de dns do aplicativo (como navegadores), cache dns servidor (por exemplo, BIND) etc. Se você quiser ter certeza, você deve confiar na documentação do cliente em particular ou fazer seus próprios testes.

No meu caso eu testei no BIND9. A técnica de teste simples que usei foi, primeiro, liberar todas as entradas do DNS no cache e, em seguida, fiz uma consulta DNS, finalmente despejei o cache do DNS para investigação. Como você pode ver abaixo, os registros CNAME e A foram armazenados em cache. O TTL não corresponde ao TTL real armazenado no arquivo de zona autoritativa porque estou obtendo meu DNS por meio do encaminhamento, o que significa que as entradas de DNS que estou recebendo podem vir também do cache de servidores DNS remotos.


ns1 bind # rndc flush && dig www.bbc.co.uk +nodnssec && rndc dumpdb
;; ANSWER SECTION:
www.bbc.co.uk.      238 IN  CNAME   www.bbc.net.uk.
www.bbc.net.uk.     166 IN  A   212.58.246.55
www.bbc.net.uk.     166 IN  A   212.58.246.54

ns1 bind # grep www.bbc.co.uk named_dump.db 
www.bbc.co.uk.      234 CNAME   www.bbc.net.uk.
ns1 bind # grep  -P 212.58.246.5[4,5] named_dump.db
www.bbc.net.uk.     166 A   212.58.246.54
            166 A   212.58.246.55
    
por 02.09.2015 / 04:27
0

A maioria dos SOs do tipo UNIX não faz o cache do DNS até que o administrador do sistema instale o software / pacote para isso.

Portanto, o tipo de registros armazenados em cache depende do software / pacote instalado (registros CNAME & A de cache ISC-BIND amplamente utilizados).

O Microsoft Windows também armazena em cache CNAME & Por padrão, um registro e o comando ipconfig /displaydns | more podem mostrá-los.

    
por 02.09.2015 / 04:41