No Linux Debian 9 eu sou capaz de resolver um domínio local específico, por exemplo, my.sample-domain.local
usando alguns comandos como nslookup
ou host
, mas não com outros comandos como ping
ou o cliente Postgres psql
.
Acho que coisas como o Network Manager configurou meu resolvedor de DNS corretamente (o conteúdo de /etc/resolv.conf
), então não sei por que isso está acontecendo?
Verifiquei com um colega usando o Windows 10 e eles não têm nenhuma entrada personalizada em seu arquivo host, embora, no caso deles, a versão do Windows ping
e a interface do usuário do banco de dados para Postgres funcionem conforme o esperado, resolvendo o domínio em um endereço IP.
Por favor veja abaixo:
$ ping my.sample-domain.local
ping: my.sample-domain.local: Name or service not known
$ host my.sample-domain.local
my.sample-domain.local has address <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>
$ ping -c 5 <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>
PING <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN> (<THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>) 56(84) bytes of data.
64 bytes from <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>: icmp_seq=1 ttl=128 time=1.16 ms
64 bytes from <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>: icmp_seq=2 ttl=128 time=0.644 ms
64 bytes from <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>: icmp_seq=3 ttl=128 time=0.758 ms
64 bytes from <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>: icmp_seq=4 ttl=128 time=0.684 ms
64 bytes from <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>: icmp_seq=5 ttl=128 time=0.794 ms
--- <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN> ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4056ms
rtt min/avg/max/mdev = 0.644/0.808/1.160/0.183 ms
$ nslookup my.sample-domain.local
Server: <THE_IP_REPRESENTING_THE_NAMESERVER>
Address: <THE_IP_REPRESENTING_THE_NAMESERVER>#53
Non-authoritative answer:
Name: my.sample-domain.local
Address: <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>
$ cat /etc/resolv.conf
domain <AN_INTERNAL_DOMAIN>
search <AN_INTERNAL_DOMAIN>
nameserver <THE_IP_REPRESENTING_THE_NAMESERVER>
nameserver <ANOTHER_IP_REPRESENTING_THE_NAMESERVER>
EDITAR:
Enquanto isso, percebi que há uma máquina virtual Ubuntu 16 na mesma LAN do escritório, então entrei nela e tentei o ping
comando que está funcionando lá.
Além disso, o Ubuntu VM não possui nenhuma configuração personalizada específica /etc/hosts
(o mesmo que meu laptop Debian 9 com não personalizado /etc/hosts
).
Ambos /etc/resolv.conf
parecem semelhantes (alguns domínios/IPs compartilhados, alguns outros IPs para o mesmo domínio).
No entanto, o arquivo /etc/nsswitch.conf
é diferente, então acho que há algo acontecendo com isso mdsn4_minimal
e a ordem da resolução dos hosts lá, como mdsn4_minimal
antes dns
:
hosts: files mdns4_minimal [NOTFOUND=return] dns
e no Ubuntu:
hosts: files dns
EDIÇÃO 2:
Tanto a VM Ubuntu 16 quanto meu laptop Debian 9 são capazes de resolver esse .local
domínio usando o dig
comando.