Problema de resolução de nomes no Windows 10

2

Eu tenho uma pequena rede de escritório com um punhado de máquinas Windows / Ubuntu de versões diferentes. Alguns dias atrás, uma máquina Windows perdeu a capacidade de acessar quaisquer serviços nas máquinas Ubuntu pelo nome do host.

Eu posso resolver o nome do host do Ubuntu usando o DNS:

C:\>nslookup gruit
Server:  router.asus.com
Address:  192.168.73.1

Name:    gruit
Address:  192.168.73.152

Mas, eu não posso usar coisas como ping , ftp , ssh , etc. por hostname. Por exemplo:

C:\>ping gruit
Ping request could not find host gruit. Please check the name and try again.

Eu posso usar com êxito o endereço IP com qualquer um desses comandos:

C:\>ping 192.168.73.152

Pinging 192.168.73.152 with 32 bytes of data:
Reply from 192.168.73.152: bytes=32 time<1ms TTL=64

Eu posso também usar o nome do host com . no final:

C:\>ping gruit.

Pinging gruit [192.168.73.152] with 32 bytes of data:
Reply from 192.168.73.152: bytes=32 time<1ms TTL=64

Isso cheira a um problema de NetBIOS. De fato, coisas como NET VIEW falham :

C:\>net view \gruit
System error 53 has occurred.

The network path was not found.

Curiosamente, o NBT resolve o nome do host corretamente :

C:\>nbtstat -c

Ethernet0:
Node IpAddress: [192.168.73.104] Scope Id: []

                  NetBIOS Remote Cache Name Table

        Name              Type       Host Address    Life [sec]
    ------------------------------------------------------------
    GRUIT          <20>  UNIQUE          192.168.73.152      592

Para fins práticos, não me importo com o NetBIOS / Samba / etc. no Ubuntu aqui; Eu só quero que o meu material TCP / IP "normal" funcione (ou seja, o Postgres). De alguma forma, porém, o todo cliente nesta máquina com Windows 10 parece usar o NetBIOS. Se eu limpar o cache com nbtstat -R , por exemplo, use algum cliente TCP / IP (por exemplo, ssh , psql ...), o cache do NBT mostrará imediatamente o nome do host e o endereço IP do Ubuntu.

[EDIT: Alguns comandos não ativam uma entrada no cache do NBT. nslookup nunca faz. Nem os infratores usuais (por exemplo, ping ) quando eu termino o nome do host com um ponto.]

O verdadeiro problema, é claro, é que, apesar de resolver com sucesso através do ambos DNS e NBT, eu não posso realmente usar os nomes de host com qualquer aplicativo cliente. Li muitas páginas de documentos conflitantes, blogs e postagens de fóruns sobre a ordem de resolução de nomes no Windows - e se o cliente tem um papel na determinação do método de resolução. Não tenho certeza do que está correto / atual.

O comportamento [ nslookup na edição anterior sugere que o cliente tem um papel na escolha do método de resolução de nomes. Não tenho certeza se é explícito ou incidental - por exemplo, qual das várias funções da API eles chamam.]

Para contexto:

  • A máquina com problemas é o Windows 10; não tem hosts ou lmhosts file
  • As máquinas Ubuntu são 14.04 e 18.04
  • Todas as outras máquinas Windows (todas do Windows 7) podem acessar os servidores Ubuntu por nome de host, incluindo serviços TCP / IP diretos e serviços do tipo Samba
  • Eu consertei várias outras coisas durante essa odisseia (por exemplo, reconfiguração de DHCP / DNS, atualização do sistema operacional, atualizações e desinstalações do anti-malware / firewall, reconfiguração do samba / systemd-resolved ...); a rede está em melhor forma do que nunca, além desta questão restante

Alguma idéia?

    
por manniongeo 29.10.2018 / 08:04

1 resposta

0

Um erro como esse aconteceu comigo no passado, foi um erro de corrupção do banco de dados WINS / NBT, enquanto o dns foi resolvido corretamente.

Reiniciei o servidor do localizador mestre e ele fez o truque para mim.

Um wireshark provavelmente identificaria o culpado que responde a dados incorretos ao pedido de NBT do seu windows 10.

    
por 30.10.2018 / 04:20