Como a resolução de nomes de máquinas funciona quando não está em um domínio?

2

Tenho quatro máquinas Windows (três x Win7, 1 x WinXP) e vários outros dispositivos em minha rede doméstica, usando um roteador sem fio Linksys WRT54. Eu não tenho um servidor de domínio e tive problemas com algumas das máquinas não sendo capazes de resolver o nome de host de outras máquinas.

Como isso funciona quando não se tem um servidor DNS? Eu configurei todos eles com o mesmo nome de grupo de trabalho, mas um ping falha com "A solicitação de ping não pôde encontrar o host ...".

Como posso encontrar a causa deste problema? Existem coisas específicas no Firewall do Windows que o impediriam de funcionar?

    
por Neil Barnwell 13.02.2012 / 10:53

3 respostas

2

As máquinas Windows usam suas próprias técnicas para resolver o IP de outros hosts, mais comumente transmissões ou multicasts para anunciar que está disponível na rede.

Por exemplo, o Windows XP usa o serviço de nomes NetBIOS para anunciar e resolver, usando pacotes de transmissão. A partir do Vista, o LLMNR baseado em multicast também está disponível, enquanto o Mac OS X eo Linux usam um mDNS muito semelhante, embora o NetBIOS continue sendo o mais amplamente suportado.

Se você quiser ter certeza de poder entrar em contato com os outros hosts, sempre poderá editar o arquivo de hosts para resolução. Dessa forma, é apenas uma opção se você tiver IPs estáticos.

  • Verifique o que está acontecendo na rede com o Wireshark, embora possa ser um pouco avançado para você. Com o Wireshark você pode ver o tráfego de rede fluindo pela sua placa de rede.
  • Tente desligar seu firewall temporariamente e tente executar ping nos outros hosts.
  • Verifique se o NetBIOS está funcionando.
por 13.02.2012 / 11:25
0

O pedido de resolução de nome de host TCP / IP da Microsoft descreve a ordem no momento da gravação (NT4 / 9x) . Não mudou muito desde aquela época. Menciona dois métodos: "resolução do host" e "resolução do winsock".

A maioria dos programas (até mesmo web) usa o método winsock , implementado em ws2_32!gethostbyname . Sua ordem pode ser observada com um sniffer (como o Wireshark).

A partir do Win7, a ordem que observo é a seguinte:

  • Se o FQDN: somente DNS

  • Se nome não qualificado:

    1. Se houver uma conexão com um prefixo de domínio: DNS com esse prefixo anexado
    2. LLMNR (udp / 5355 multicast) (não existe no XP)
    3. NetBIOS de acordo com o "tipo de nó" configurado. Praticamente sempre, é Hybrid, também conhecido como H-node, o que significa - servidor WINS se configurado, então NBNS (transmissão udp / 137)

Observe que o arquivo hosts sempre substitui uma pesquisa de DNS e lmhosts substitui uma pesquisa de NetBIOS.

"Resolução do host" é especificada para usar apenas DNS e ser usada apenas "por alguns programas" como o IE e alguns utilitários - aparece, pelos aplicativos que usam wininet .

    
por 25.09.2014 / 06:23
-2

Lembre-se de verificar se você está logado como administrador e se o arquivo não está definido para somente leitura antes de tentar editar o arquivo de hosts, senão ele não permitirá que você salve-o posteriormente. Você também pode precisar editar as permissões no próprio arquivo. No dia 7, a maneira mais fácil de editar o arquivo hosts é apropriar-se dele sob o administrador. Isso permitirá que você edite e salve o arquivo.

    
por 13.02.2012 / 23:14