Esta é uma questão muito aberta, há várias razões para executar um servidor DNS local. Vou te dar porque usamos no trabalho:
- Como um cache para melhorar o desempenho. A maioria das consultas DNS é compartilhada entre vários computadores, se eles estiverem armazenados em cache em nosso servidor DNS, os clientes não precisarão se conectar à Internet para resolvê-los, uma conexão LAN muito mais rápida fará isso.
- Queremos nomear alguns computadores que estão disponíveis apenas na LAN (ou seja, na nossa rede, você não pode acessar a partir da Internet). Alguns de nossos servidores só podem ser acessados pela rede interna, queremos que nossos usuários façam isso com um nome normal usando as mesmas ferramentas que são usadas.
- Damos IPs diferentes a alguns nomes: em um DNS público (ISP), nosso servidor da Web resolverá nosso IP público (voltado para a Internet). Quando alguém da LAN pedir ao nosso DNS para resolver seu nome, nós retornamos nosso IP privado.
- Para banir temporariamente alguns nomes de domínio, às vezes precisamos banir por alguns minutos alguns sites, uma maneira fácil de fazer isso é mudar o IP que está apontando. Como exemplo, alguns meses atrás, um vírus estava fazendo muitas conexões com um site estranho. Nós mudamos seu nome no DNS, encaminhando-o para um servidor web falso. Nós não apenas bloqueamos, mas também descobrimos rapidamente a máquina infectada observando os registros do servidor da web.