Após uma pergunta recente sobre caches DNS de roteadores, estou pensando em outra coisa:
Digamos que Bob e Alice compartilham uma LAN cujo roteador tem cache DNS local.
Bob visita um novo domínio, que é resolvido por um provedor de DNS e armazenado no cache do roteador.
Agora, se Alice visitar o mesmo domínio mais tarde, ela poderá usar as informações anteriores de Bob no cache?
Em outras palavras, o cache DNS de um roteador é compartilhado entre todos os usuários ou apenas para cada usuário individual?
Há apenas um único cache DNS em roteadores e servidores DNS, então ele é compartilhado entre usuários/clientes.
Pode haver exceções, mas ainda não vi nenhuma.
Um servidor DNS armazena em cache consultas DNS e qualquer cliente que fizer uma solicitação de resolução DNS naquele servidor DNS usará o cache do servidor DNS.
Não importa onde o servidor DNS está localizado. Pode ser em um Windows Server ou no seu roteador. Eles funcionarão da mesma forma.
Observe que quando a consulta DNS é realizada pelo servidor DNS, ele não apenas obtém o endereço IP daquele domínio, mas também o valor TTL (ou Time To Live).
Esse valor TTL basicamente informará ao servidor DNS por quanto tempo esse resultado deverá ser armazenado em cache antes de expirar.
Então, mesmo que Bob primeiro solicite o DNS e armazene o endereço IP em cache, se essa entrada tiver um TTL de apenas 1 hora, e Alice solicitar o mesmo domínio 1,5 hora depois, o TTL terá expirado e, portanto, o DNS será atualizado primeiro, e Alice poderá obter um endereço IP diferente do que Bob tinha, dependendo de como o DNS estiver configurado.
Claro, se a entrada do cache ainda não tiver expirado, Alice obterá o mesmo endereço IP. Uma segunda solicitação, é claro, não atualizará o valor TTL no cache. Então, digamos que Bob faça uma solicitação DNS com TTL de 1 hora, Alice faz a mesma solicitação 45 minutos depois, o resultado é obtido do cache. Agora Andrew faz outra solicitação 30 minutos depois, o TTL da entrada expirou por 15 minutos, então uma nova solicitação de internet é realizada pelo Servidor DNS e uma nova entrada é armazenada no cache. Pode ser o mesmo Endereço IP, mas também pode ser um diferente.
É possível que um domínio tenha vários registros A com diferentes endereços IP e valores TTL curtos, de modo que Bob e Alice obteriam endereços IP diferentes.
Na verdade, você está fazendo duas perguntas aqui:
Não há nada no protocolo DNS para identificar usuários específicos, então o servidor DNS não pode armazenar dados em cache com base em usuários específicos.
Em uma configuração típica de roteador doméstico, é quase certo que o cache seja compartilhado.
No entanto, existem algumas opções incomuns (leia-se que o servidor teria que ser configurado explicitamente para fazer isso) que permitem que um servidor DNS forneça respostas diferentes com base na interface em que a solicitação foi feita, no IP do cliente solicitante e possivelmente na chave de autenticação fornecida pelo cliente (DNS assinado criptograficamente).
TL;DR - Devido à filtragem (ACL), dois clientes podem ter configurações (ativas) diferentes - um pode habilitar o cache e outro não, portanto, neste cenário, o cache não seria compartilhado entre eles.