Não é possível obter o DNS reverso funcionando

7

Eu estava lutando para fazer o DNS reverso funcionar usando o nslookup no Ubuntu 12.04. Aqui está a saída do comando nslookup e o conteúdo dos diferentes arquivos de configuração relacionados à rede.

Qual poderia ser a possível razão para o nslookup não funcionar? Além disso, por que preciso de uma conexão com a Internet para obter um trabalho de pesquisa inversa para uma entrada no arquivo /etc/hosts ?

training@guest1:/etc/network$ nslookup 192.168.1.101
Server:     8.8.8.8
Address:    8.8.8.8#53
server can't find 101.1.168.192.in-addr.arpa.: NXDOMAIN

training@guest1:/etc/network$ cat /etc/hosts
127.0.0.1   localhost
#127.0.1.1  Slave1
192.168.1.101 MyUbuntuLaptop

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

training@guest1:/etc/network$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.201
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4

training@guest1:/etc/network$ ping MyUbuntuLaptop
ping MyUbuntuLaptop (192.168.1.101) 56(84) bytes of data.
64 bytes from MyUbuntuLaptop (192.168.1.101): icmp_req=1 ttl=64 time=0.113 ms
64 bytes from MyUbuntuLaptop (192.168.1.101): icmp_req=2 ttl=64 time=0.222 ms
    
por Praveen Sripati 21.01.2013 / 14:06

3 respostas

13

Sobre endereços particulares

Os endereços IP que você está tentando resolver para nomes (as pesquisas reversas) são os chamados endereços privados , conforme definido em RFC 1918 . Em resumo, o seguinte intervalo de endereços IPv4 está definido:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

Em oposição a endereços públicos , eles não são roteados pela Internet e destinam-se exclusivamente ao uso de NAT em uma rede privada. Muitas pessoas estão usando isso e, portanto, absolutamente não são únicas. Por esse motivo, não é interessante que servidores DNS públicos respondam a solicitações de pesquisa inversa para solicitações particulares.

Por que não está funcionando

O Google e todos os outros servidores DNS públicos na Internet não estão interessados em endereços privados, pois não podem ser encaminhados pela Internet. Então, basicamente, você está fazendo errado perguntando a um servidor que não é totalmente responsável pela sua rede.

Caso você queira substituir isso por uma configuração local como em /etc/hosts , isso não funcionará:

Servidor DNS local

Se você quiser fazer pesquisas reversas dentro de sua LAN privada, você terá que configurar seu próprio servidor DNS com os registros apropriados e ter todos os seus clientes locais usando este DNS. servidor. Você pode já estar executando um, mas não especificou nada dele em sua pergunta e, se tiver, parece não estar usando.

Uma rápida solução tudo-em-um que eu posso recomendar é Dnsmasq . É um servidor DHCP e DNS em um 1 com a vantagem de usar o nome do host para DHCP também no DNS. A partir da página manpage de dnsmasq é o seguinte trecho:

  

O Dnsmasq aceita consultas DNS e as responde de um pequeno   local, cache ou encaminha-os para um servidor DNS real e recursivo. isto   carrega o conteúdo de /etc/hosts para que nomes de host locais que não   aparecem no DNS global pode ser resolvido e também responde a consultas DNS   para hosts configurados pelo DHCP.

Configurar um Dnsmasq completo está um pouco fora do escopo aqui, pois ele substituirá seu servidor DHCP atual, o que eu não sei é uma solução aceita. De qualquer forma, para esta parte da configuração, esta configuração será importante:

domain=mydomain.lan,192.168.1.0/24,local

Em que você diz para servir a rede 192.168.1.0/24 com nomes de host curtos para usar o nome de domínio mydomain.lan e não será encaminhado para o servidor DNS recursivo upstream. O resultado será que uma máquina com o nome de host myhost solicitando um endereço dinâmico será automaticamente usada no resolvedor local e ouvirá as consultas myhost.mydomain.lan e o ponteiro inverso resolverá da mesma forma.

Não tenho conhecimento de um "Como configuro o Dnsmasq para uma rede doméstica da melhor forma?" pergunta neste site. Se você ou outras pessoas estiverem interessadas, ficarei feliz em responder à pergunta.

1 Na verdade, ainda mais, como o servidor TFTP também.

    
por gertvdijk 24.01.2013 / 23:59
1

Resposta curta: nslookup não usa o arquivo /etc/hosts para fazer nada.

Longa resposta:

Parece que quando você executa nslookup , ele usa apenas os servidores de nomes listados em /etc/resolv.conf . Esse comportamento é replicado em host também. Se você tiver os endereços IP listados nos arquivos /etc/hosts , não precisará de DNS reverso ou vice-versa. Eu acredito que foi o pensamento nesse processo.

Ao analisar o processo, percebi que ele nem olhava para o arquivo /etc/hosts , embora no meu /etc/nsswitch.conf eu tivesse o DNS definido como files dns .

Fontes: man host man nslookup

    
por prateek61 24.01.2013 / 17:44
0

Os aplicativos de servidor DNS para localizar informações de DNS são muito rígidos e demoram mais do que a comparar com outros sites de pesquisa de DNS na Internet, o que é muito claro e curto. Sempre busco minhas consultas DNS em WhoisXY.com onde é feita uma pesquisa simples para identificar os detalhes.

    
por Rusell Bernand 30.12.2014 / 07:47