Gostaria de saber como configurar o bind9 para resolver todas as solicitações de DNS feitas a ele de forma iterativa, começando com um servidor raiz.
Meu objetivo com isso é configurar o bind9 como um resolvedor de DNS em minha rede local, no entanto, minhas preferências são bastante específicas, pois não desejo confiar em nenhum resolvedor recursivo externo, seja o 8.8.8.8 do Google ou qualquer outro. Eu gostaria que meu resolvedor recursivo resolvesse uma consulta A para, digamos, test.example.com da seguinte maneira:
1. pergunte a um servidor raiz a entrada NS para .com
2. pergunte ao servidor fornecido por 1. para a entrada NS, por exemplo .com
3. pergunte ao servidor fornecido por 2. pela entrada NS para test.example.com
4. pergunte ao servidor fornecido por 3. pela entrada A para test.example.com
(Não tenho certeza, mas pelo que entendi, esse esquema é chamado de resolução iterativa?)
Idealmente, quero que os servidores intermediários saibam o mínimo possível sobre qual domínio estou realmente consultando e, de preferência, o maior número possível de solicitações deve ser feito usando dnsseq. O armazenamento em cache de todas essas entradas é desejado, mas não obrigatório.
Observação: minha rede não suporta ipv6.
Sei que esse tipo de resolvedor provavelmente será mais lento que o 8.8.8.8, mas para mim essa perda de desempenho é insignificante/aceitável.
Não encontrei instruções de como configurar o bind9 para realizar as requisições exatamente desta forma.
É possível configurar o bind9 dessa maneira ou preciso escrever meu próprio resolvedor do zero?
Se for possível, alguém poderia postar um recorte de
/etc/bind/named.conf.options
que torne isso possível ou me aponte na direção certa.
Também estou aberto a quaisquer alternativas que sirvam ao meu propósito.
Caso seja importante, estou usando o Ubuntu 16.04 LTS (Armbian Linux)