Squid Split DNS: encaminhar domínios privados pelo resolver certo
Encaminhe espaços de nomes DNS privados e públicos de forma deliberada em vez de dar ao Squid uma lista ambígua de resolvers.
Colocar um resolver interno primeiro e um resolver público em segundo não diz ao Squid quais nomes pertencem a cada espaço de nomes.
No Squid 6 e 7, dns_nameservers substitui a lista habitual de resolvers por endereços de servidor. A sintaxe não tem mapeamento por domínio. Uma resposta negativa válida também difere de um resolver inalcançável, então alternativas não são uma forma confiável de procurar em espaços de nomes incompatíveis.
Encaminhar consultas por domínio
Um encaminhador DNS local pode expressar a política em falta. Numa configuração dnsmasq existente, um sufixo privado pode ser encaminhado assim:
server=/internal.example/192.0.2.53
Substitua o domínio e o endereço. Configure um upstream predefinido aprovado para os outros nomes, um listener adequado e restrições de acesso. Depois aponte o Squid para esse resolver com a configuração suportada pela versão instalada.
Em alternativa, use um serviço DNS organizacional que resolva corretamente ambos os espaços de nomes. Evite um fallback público que exponha nomes privados sem conseguir responder-lhes.
Se um proxy principal fizer a pesquisa do destino, esse salto precisa do espaço de nomes privado. Um resolver no host local do Squid não corrigirá a pesquisa do proxy principal.
Verifique também o caso negativo
Escolha um nome privado válido, um nome público válido e um nome privado inexistente. Para cada um, identifique o upstream pretendido e se a resposta esperada é um endereço ou uma resposta negativa. O último caso revela um fallback público acidental após uma resposta negativa interna.
Inclua as famílias de endereços exigidas pelo cliente. Uma pesquisa A funcional não prova que AAAA siga a política ou devolva um destino alcançável. Registe também o estado da cache: uma resposta armazenada pode esconder que upstream uma consulta nova escolheria.