¿Cómo configuro mi propio servidor DNS?

Bueno. He estado investigando durante más de una hora y no encontré ninguna ayuda útil. Lo que estoy buscando esencialmente es, quiero crear un servidor DNS personalizado (al igual que google tiene 8.8.8.8, pero no tan complejo).

Por ejemplo: Podría simplemente mapear facebook.com -> alguna otra dirección IP y enviar el resto del tráfico de DNS a través de 8.8.8.8. Entonces, cuando, en mi página del enrutador, cambio mi DNS de 8.8.8.8 a mycustomIPAddress DNS (1.2.3.4 como), y abro facebook.com, consigue mapeado a algún otro IP (diga, apenas una página en blanco).

¿Cómo hago esto? ¿Cómo puedo obtener ese "mycustomIPAddress DNS" para poner en mi enrutador? ¿Alguien puede proporcionar algunas fuentes para leer?

Si necesitas anular los registros DNS externos, entonces todo lo que necesitas es un respetuoso redireccionamiento de DNS (prefiero Unbound ), funciona en un sistema operativo basado en UNIX y Windows.

En el archivo de configuración puede anular fácilmente registros DNS para cualquier dominio que quiera con sólo dos líneas:

local-zone: "google.com." redirect local-data: "google.com. 600 IN A 1.2.3.4" 

Para aplicar los cambios a toda la red LAN, debe ejecutarlo en su enrutador raíz que debe admitir la ejecución de software personalizado / adicional, de modo que cualquier cliente de la red utilice sus reglas.
No olvide que si alguien en su red local sabe cosas de TI, pueden configurar manualmente sus propias preferencias en sus máquinas.
Si se trata de un caso, entonces usted necesita un firewall / router decente (Algo como PFsense que tienen todo lo que necesita) que puede bloquear las conexiones de salida a 53 puertos (consultas DNS), por lo que la única opción para sus usuarios sería utilizar su DNS. (Bueno, todavía puede túnel de su tráfico, puede proteger contra ella, pero fuera del alcance de este hilo)