Como posso substituir seletivamente alguns registros A em um Servidor DNS de Ligação?

11

Suponho que tem de haver uma maneira razoável de resolver o meu problema, mas estou tentando obter alguns conselhos sobre uma prática recomendada para implementar.

Eu recentemente mudei para uma empresa de Web Design e precisamos ser capazes de falsificar entradas de DNS para sites nos quais estamos trabalhando. No entanto, queremos apenas substituir certos registros A, mas manter os outros para que o site pareça funcionar.

ou seja: Queremos fazer "support.abcd.com" resolver localmente, mas todo o resto vai para o site real. Isso nos permitiria projetar / demonstrar um site totalmente funcional apenas com o trabalho em andamento localmente.

Temos um servidor DNS BIND interno (9.9.5.dfsg-3).

O que meu arquivo de zona deve procurar "abcd.com" com base no exemplo acima?

Edit: Isso funcionaria?

          IN ns1
abcd.com. IN NS ns1
support.abcd.com. IN A 192.168.1.1
faq.abcd.com.     IN A 192.168.1.1
*.abcd.com.       IN NS abcd.com     <- External?
    
por Mike Curry 26.07.2014 / 03:47

2 respostas

14

Se tudo isso lida apenas com pesquisas de nome de host- > ip, o que é mais fácil de configurar e gerenciar (especialmente se você tiver requisitos que mudam rapidamente) é simplesmente substituir a resolução normal adicionando as informações relevantes. nomes em seus arquivos locais hosts e para deixar o DNS sozinho.

No entanto, se você quiser fazer isso com o DNS, usando o BIND como o servidor de resolução, e precisar substituir somente nomes específicos (em vez de zonas inteiras), acredito que você precisará usar o Funcionalidade de zona de política de resposta (RPZ) . Isso pode ser feito em conjunto com o uso de vistas para fazer com que essas alterações afetem apenas clientes específicos.

Eu incluí um exemplo que faria o tipo de coisa que você está especificamente pedindo, mas veja a documentação vinculada acima para todas as outras opções de como você pode substituir as coisas e exemplos mais completos.

options {
  ...
  response-policy { zone "development-overrides"; };
};

...

zone "development-overrides" {type master; file "master/development-overrides"; allow-query {none;}; };

O arquivo de zona referenciado tem a sintaxe de arquivo mestre normal, mas a semântica é específica de RPZ (leia o RPZ docs !):

$TTL 1H
@                       SOA LOCALHOST. named-mgr.example.com (1 1h 15m 30d 2h)
                        NS  LOCALHOST.

support.example.com     A   192.168.1.1
faq.example.com         A   192.168.1.1
    
por 26.07.2014 / 15:18
0

Modifique o arquivo de hosts nas máquinas dos desenvolvedores ( /etc/hosts no UNIX / Linux e C:\windows\system32\drivers\etc\hosts no Windows) ou use as configurações de exibição no seu DNS, defina uma ACL com as sub-redes que devem ser "falsificadas" e use "match-clients" dentro da visualização para corresponder apenas a esses clientes.

Sobre o seu exemplo, é um campo CNAME e não um campo NS.

    
por 26.07.2014 / 09:07