Se você precisa apenas substituir os registros DNS externos, então tudo que você precisa - é um forwarder DNS respeitoso (eu prefiro Unbound ), funciona em sistemas operacionais e Windows baseados em unix.
No arquivo de configuração, você pode facilmente substituir os registros DNS de qualquer domínio que você goste apenas com duas linhas:
local-zone: "google.com." redirect
local-data: "google.com. 600 IN A 1.2.3.4"
Para aplicar suas alterações a toda a rede LAN, você precisa executá-la em seu roteador raiz que deve suportar a execução de software personalizado / adicional, para que os clientes na rede usem suas regras.
Não se esqueça de que se alguém da sua rede local souber de TI, poderá configurar manualmente suas próprias preferências em suas máquinas.
Se for um caso, então você precisa de um firewall / roteador decente (algo como PFsense que tem tudo que você precisa) que pode bloquear as conexões de saída para a porta 53 (Consultas DNS), então a única opção para seus usuários seria usar seu DNS. (Bem, eles ainda podem tunelar seu tráfego, você pode realmente proteger contra isso, mas fora do escopo deste segmento)