Cache Negativo
Quando um usuário tenta acessar um domínio bloqueado por um RPZ (Response Policy Zone), o resolver DNS normalmente responde com uma resposta modificada — geralmente um NXDOMAIN (domínio inexistente) ou um redirecionamento CNAME para um sinkhole. Se a resposta for um NXDOMAIN, o comportamento padrão do DNS inclui o cache negativo, onde essa resposta é armazenada temporariamente para evitar consultas repetidas aos servidores superiores.
Esse cache negativo pode ocorrer em vários níveis:
No próprio resolver ou roteador, seguindo o TTL (SOA.MINIMUM) definido pela zona autoritativa ou pela política do RPZ.
No cache DNS do sistema operacional, como ocorre com serviços como nscd, systemd-resolved ou os caches internos do macOS e Windows.
No navegador web, que normalmente possui sua própria camada de cache DNS independente do sistema operacional.
Por isso, se um usuário tentar acessar várias vezes um domínio bloqueado, poderá receber um erro imediato (por exemplo, no navegador), mas o resolver DNS não será consultado novamente até que o cache negativo expire. Isso explica por que o contador de NXDOMAINs não aumenta nos registros do RPZ: o cliente não está enviando novas consultas DNS, pois está utilizando as informações armazenadas em cache.
No nosso caso, o resolver realiza uma limpeza automática do cache a cada hora, incluindo as entradas negativas. No entanto, o cliente não possui forma de forçar essa limpeza por conta própria, portanto, se tentar repetir a consulta antes que o cache expire, não verá um incremento nos contadores de “NXDOMAIN” nem nos hit counters do RPZ. Esse é um comportamento normal e esperado do sistema de cache DNS.