DNS Problems; Adicionando domain.tld a consultas para hosts locais (IP privados)

1

Por qualquer motivo, quando tento acessar os hosts locais por meio de seus nomes, eles não estão sendo resolvidos corretamente.

# ping server.domain.tld
PING server.domain.tld.domain.tld (###.###.###.###) 56(84) bytes of data.

Obviamente, isso quebra o ssh e qualquer script que dependa de nomes de host. Qualquer coisa nesse domínio que tenha um endereço IP público é resolvido corretamente.

Qual é o meu próximo passo para solucionar isso? O Google não encontrou nada parecido com os termos de pesquisa em que pensei, por isso, qualquer ajuda é bem-vinda.

Não tenho certeza se isso faz alguma diferença, mas quando tento pingar apenas o servidor, recebo o seguinte (que é como deveria ser, creio):

# ping server
ping: unknown host server
    
por alex 12.02.2012 / 19:59

2 respostas

3

Parece que você quer configurar DNS de split horizon . Ou seja, você deseja ter um servidor DNS que "saiba" sobre os endereços IP privados e os nomes de seus servidores. Seus servidores podem usar esse servidor DNS para resolver nomes para seus endereços IP privados em vez dos endereços públicos que seus servidores DNS voltados para o público resolverão.

Você não menciona qual software de servidor DNS está usando (ou mesmo se estiver hospedando seu próprio DNS). O BIND tem a funcionalidade exibições que pode fazer o que você precisa. Outros softwares de servidores DNS provavelmente têm funcionalidade semelhante (eu só uso o BIND no Linux, por isso não posso falar por experiência).

Se você não estiver hospedando DNS para seu domínio e não conseguir que seu provedor de DNS use os modos de exibição, considere a possibilidade de configurar seu próprio servidor DNS atrás de seu dispositivo NAT e configurar seus servidores para usá-lo.

Se você tiver hosts com nomes em seu domínio localizados fora do seu dispositivo NAT, verifique se o servidor DNS interno (ou a visualização) retorna corretamente os endereços IP públicos desses hosts.

Editar:

Como o @BillThor diz, para que seus servidores resolvam nomes não qualificados para registros em seu domínio, você precisará adicionar uma linha search domain.tld aos servidores ' /etc/resolv.conf .

    
por 12.02.2012 / 21:42
2

Adicione domain.tld à lista de pesquisa em /etc/resolv.conf . Você deve ter seu domínio primeiro para que seja verificado primeiro. Se seu domínio era example.com , a seguinte lista de pesquisa pode ser apropriada.

search example.com com net org

Para testar seu resolvedor, use um comando como:

getent hosts server

Isso retornará o IP e o FQDN do servidor se o resolvedor puder resolvê-lo.

    
por 12.02.2012 / 21:44