Como posso resolver um domínio para IPs diferentes quando resolvido da rede interna e da rede externa?

4

Então eu olhei através do BIND e do Dnsmasq e não consegui descobrir isso.

Eu tenho alguns servidores no DigitalOcean e eles estão no mesmo datacenter. Eu quero ser capaz de usar IPs internos para obter melhores pings intra-rede e (obviamente, tráfego de rede privada livre). Dados os dois servidores a seguir:

Name   Public IP          Private IP
srv1   192.0.2.1          10.10.10.1
srv2   198.51.100.2       10.10.10.2

Quando cavar de uma rede externa (digamos, meu laptop), eu quero algo assim

account.codingblocks.com. 79    IN  CNAME   srv2.cb.lk.
srv2.cb.lk.               85844 IN  A       198.51.100.2

Ao cavar de dentro do srv1, quero isso

account.codingblocks.com. 79    IN  CNAME   srv2.cb.lk.
srv2.cb.lk.               85844 IN  A       10.10.10.2

Isso é possível? Se sim, como.

    
por Arnav Gupta 27.12.2017 / 12:41

2 respostas

16

No BIND 9, você pode definir várias "visualizações": na verdade, o BIND mostra uma versão de uma zona DNS para clientes especificados e outra versão para outros. Isso parece ser exatamente o que você precisa.

Aqui está uma boa introdução ao uso de visualizações no BIND 9: link

No seu caso, porém, a visão externa diria:

match-clients { any; };

em vez de especificar segmentos de rede.

    
por 27.12.2017 / 12:59
2

Existem pelo menos 3 soluções:

  • você pode usar / etc / hosts para substituir as respostas do DNS
  • você pode usar um segundo tld, por exemplo, account.codingblocks.com forneceria 222.222.222.222 e account.example.mytld daria 10.10.10.2
  • você pode ter dois servidores DNS diferentes (um privado, um interno e outro público) que dariam resultados diferentes.
por 27.12.2017 / 12:47