BIND9 em uma VPN privada

1

Digamos que exista uma VPN privada (examplevpn.org) e há vários NETWORKS internos conectados a ela (net1.examplevpn.org, net2.examplevpn.org e assim por diante).

  1. Todos os e-mails passam por uma retransmissão em examplevpn.org (entrada ou saída). Todas as redes têm seus próprios servidores de email.
  2. Todo o acesso à web passa por um servidor proxy em examplevpn.org. Não há NAT, apenas esse proxy da Web.
  3. examplevpn.org tem dois DNS, um externo e outro interno. O interno só é alcançável a partir de dentro da VPN e só responde a consultas para domínios * .examplevpn.org, o resto é ignorado.
  4. toda rede interna tem seu próprio servidor DNS.

Eu trabalho em net1.examplevpn.org e quero configurar o BIND (ver 9.9.5) para

  1. Responda as consultas para * .net1.examplevpn.org diretamente. (EASY, zonas, estou afirmando este requisito para conclusão)
  2. Encaminhe as consultas * .examplevpn.org para o servidor DNS examplevpn.org interno. Todas essas são consultas recursivas.
  3. IGNORE O RESTO DAS CONSULTAS para o resto da internet, quero dizer, eu NÃO QUERO ESTA CONSULTAS ENVIADAS PARA O servidor DNS examplevpn.org INTERNO. O servidor DNS interno do examplevpn.org já os ignora e, além disso, como não há NAT, não consigo me conectar ao IP.

É a combinação de 2 e 3 que eu não sei fazer ao mesmo tempo.

Eu quero fazer 3 por dois motivos:

  • É desperdício de largura de banda sem motivo (as consultas falharão de qualquer maneira)
  • Latência. Eu quero que a consulta falhe rapidamente. Eu simplifiquei o problema. IRL existem 3 DNS internos, e meu servidor DNS (em net1.examplevpn.org) tenta os três antes de falhar ... Demora 5 segundos na maioria das vezes uma coisa que deve ser instantânea.
por Yanko Hernández Álvarez 19.10.2016 / 20:12

1 resposta

2

A solução é bem simples, embora um pouco obscura, mas a diretiva forward é válido também dentro de uma cláusula de zona .

Portanto, desabilite encaminhadores e recursões existentes (requisito 3), defina uma zona local (requisito 1) e encaminhe tudo para outra zona específica para outro servidor de nomes (requisito 2) e obtenha algo nos seguintes moldes:

options {
        recursion no;
        ...
};

zone "net1.example.org." IN {
        type master;
        file "zone.net1.example.org";
};
zone "example.org." IN {
        type forward;
        forward only;
        forwarders { 10.9.8.7; };
};
    
por 19.10.2016 / 21:01