É possível ter diferentes DNS internos e públicos com DNSSEC?

É possível ter diferentes DNS internos e públicos com DNSSEC?

Estou tentando alcançar o seguinte:

  • Um servidor de nomes público para meu domínio que aponta example.compara um endereço IP público.
  • Um servidor de nomes privado para o mesmo domínio executado em uma LAN que, em vez disso, aponta os clientes para um endereço IP privado na mesma LAN.
  • DNSSEC ativado.

Alcançar o primeiro e o último pontos juntos é, obviamente, comparativamente fácil, então o problema é fazer o componente privado funcionar.

Em termos da minha configuração real:

  • Estou usando o serviço DNS da Cloudflare, onde tenho um registro A para meu domínio apontando para um endereço IP público e DNSSEC habilitado.
  • No meu registrador, adicionei um registro DS com base no que a Cloudflare me fornece e configurei os servidores de nomes da Cloudflare. Tudo isso funciona bem, como seria de esperar.
  • Internamente, estou executando o Pi-Hole (definido como servidor DNS para clientes em minha LAN), que está configurado com DNSSEC habilitado e apontando para uma instância CoreDNS local como o resolvedor upstream.
  • No CoreDNS, tenho uma zona configurada para example.coma qual é assinada com chaves geradas por coredns-keygen. Este possui um registro A apontando para um endereço IP interno.
  • Tenho um segundo registro DS em meu registrador com base na chave usada internamente pelo CoreDNS.

O que acontece:

  • A configuração geral funciona para resolver domínios que não são meus.
  • Pi-Hole responde SERVFAILe registra ABANDONEDquando tento resolver meu domínio.
  • Mas, se eu apontar um cliente diretamente para o CoreDNS (por exemplo, com dig), obtenho a resposta esperada com o endereço IP da LAN.
  • Além disso, se eu desabilitar o DNSSEC no Pi-Hole, tudo funcionará bem.

Então minhas perguntas são:

  • O que estou tentando alcançar é possível?
  • Estou começando a me perguntar se ter registros DS separados em meu registrador é errado, mas não acho que posso recuperar a chave privada que a Cloudflare está usando e nem posso fazer upload de chaves personalizadas, então não tenho certeza de como posso usar as mesmas chaves para público e privado.
  • Existe alguma razão pela qual as coisas parecem funcionar se eu apontar diretamente para o CoreDNS aos meus clientes, mas o Pi-Hole se recusar a cooperar?

Obrigado!

informação relacionada