Eu criei um servidor DNS onde isso é fácil de configurar, conforme documentado aqui:
link
A configuração seria algo parecido com isso em Deadwood:
bind_address = "127.0.0.1, 192.168.1.42"
recursive_acl = "127.0.0.1/16, 192.168.1.1/24"
chroot_dir = "/etc/maradns"
root_servers = {}
root_servers["."]="198.41.0.4, 192.228.79.201, 192.33.4.12, 199.7.91.13,"
root_servers["."]+="192.203.230.10, 192.5.5.241, 192.112.36.4, 128.63.2.53, "
root_servers["."]+="192.36.148.17, 192.58.128.30, 193.0.14.129, 199.7.83.42, "
root_servers["."]+="202.12.27.33"
root_servers["company.de."]="192.168.1.111"
filter_rfc1918 = 0
bind_address: IP do servidor DNS interno
recursive_acl: IPs permitidos para usar o servidor DNS recursivo
chroot_dir: onde o servidor é executado
root_servers ["."]: servidores de nomes raiz da ICANN
root_servers ["company.de."]="192.168.1.111"
IP do servidor que resolve tudo o que termina com "company.de".
filter_rfc1918 = 0: Permitir que nomes com IPs como 192.168.0.123 resolvam
Isso também pode ser configurado para, digamos, usar os servidores de nome do Google:
bind_address = "127.0.0.1, 192.168.1.42"
recursive_acl = "127.0.0.1/16, 192.168.1.1/24"
chroot_dir = "/etc/maradns"
upstream_servers = {}
upstream_servers["."]="8.8.8.8, 8.8.4.4"
upstream_servers["company.de."]="192.168.1.111"
filter_rfc1918 = 0