Como posso configurar um servidor de nomes local e modificar as zonas DNS nele?

1

Este é um acompanhamento para esta questão .

Estou tendo um problema com um roteador que não suporta corretamente o hairpin. Veja o link acima para detalhes.

Agora, desejo configurar um servidor DNS local que os hosts da LAN possam usar para resolver nomes de hosts públicos (navegação normal na web ...).

Além disso, quero modificar certas zonas.

Em nossa LAN, temos alguns servidores atendendo a recursos que não estão disponíveis em nossa zona pública de DNS.

Sempre temos que configurar nossos arquivos LMHost locais de acordo.

Por exemplo, temos uma instalação temporária com um novo recurso em execução em um servidor Web local e não podemos acessá-lo diretamente com o IP porque o site é executado em um contêiner de host virtual nomeado, precisamos configurar o arquivo LMHost para apontar algum domínio para o endereço IP local.

E agora também temos o problema de fixação de cabelo.

Então, minha pergunta é: Qual software posso usar? Vai ligar o trabalho? Eu só preciso inserir algumas entradas A na zona. Tão fácil quanto possível. Nós temos servidores locais Linux / Ubuntu.

    
por The Shurrican 30.06.2011 / 00:36

4 respostas

2

Dependendo do tamanho da rede, o vínculo pode ser um exagero. Para uma rede menor, você pode usar dnsmasq , que lerá um arquivo hosts para configurar os endereços. Também pode ser usado como servidor DHCP e cache DNS local.

A configuração da ligação pode ser um pouco difícil se você não tiver feito isso antes. Se a ligação não estiver acessível a partir da Internet, não será necessária uma configuração dividida e a configuração será mais simples. Caso contrário, você deve implementar e testar uma configuração dividida.

Depois de configurar seu servidor DNS, você precisará alterar a lista de servidores usados para resolver endereços para incluir o servidor como o primeiro servidor a ser consultado. Se você usar o DHCP para configurar endereços IP, talvez seja possível enviar a alteração quando os endereços forem renovados. Normalmente, o DHCP é configurado para fornecer uma lista de servidores DNS a serem usados. As concessões de DHCP são normalmente renovadas após metade de sua vida útil. Se você tiver um longo período de aluguel, pode demorar um pouco para empurrar as mudanças. A reinicialização dos sistemas deve fazer com que atualizem suas configurações do DHCP.

    
por 30.06.2011 / 05:45
3

Você pode fazer isso com o BIND, mas depende de como o servidor BIND que você está usando já está publicando DNS publicamente.

Se estiver, você precisará usar a view declaração e vários arquivos de zona: -

view "internal" {
    match-clients { 192.168.0.0/24; };
    recursion yes;
    zone "your-domain.com" {
        type master;
        file "your-domain-internal.db";
    };
};

view "external" {
  match-clients { any; };
    recursion no;
    zone "your-domain.com" {
        type master;
        file "your-domain-external.db";
    };
};

(Para poupar alguma repetição, os registros comuns a ambas as visualizações podem ser armazenados em outro arquivo e $INCLUDE d em ambas as zonas.)

Se não for (por exemplo, é um servidor somente interno), você pode configurar uma zona para o seu domínio normalmente, ou talvez configurar os hosts específicos que você precisa modificar como suas próprias zonas distintas para que as consultas DNS para outros hosts, você voltará ao DNS público em vez de precisar duplicar todos os hosts públicos internamente.

zone "www.your-domain.com" { ... }

Com tudo isso dito, no entanto, se você não estiver preso ao BIND, talvez queira ver algo como dnsmasq , que suporta" DNS doctoring ": -

-V, --alias=[<old-ip>]|[<start-ip>-<end-ip>],<new-ip>[,<mask>]
    Modify IPv4 addresses returned from upstream nameservers; old-ip is 
    replaced by new-ip. If the optional mask is given then any address 
    which matches the masked old-ip will be re-written.

Usando os IPs da sua pergunta anterior, seria tão simples quanto o abaixo modificar as all consultas DNS correspondentes ao seu endereço IP público.

--alias=123.45.67.89,192.168.0.123
    
por 30.06.2011 / 02:02
1

Como eu e o joeqwerty disseram before on ServerFault : O que você precisa é de um serviço DNS "split horizon", e existem várias maneiras de configurá-lo , dependendo em parte de quais softwares você está usando. Como você pode ver, há uma variedade de softwares que você pode usar para isso, desde o servidor DNS da Microsoft e o BIND do ISC até tinydns do título djbdns .

Depois de configurá-lo, não se esqueça de mapear as partes da visão externa de sua parte do espaço para nome DNS que você também quer que exista no modo como está na exibição interna. Existem duas maneiras de fazer isso também.

    
por 30.06.2011 / 14:32
0

servidor ubuntu como servidor DNS ou bind, ambos suportam

    
por 30.06.2011 / 01:27