¿Por qué las máquinas Windows pueden resolver nombres locales cuando Linux no puede?

18

Tengo una pequeña red con máquinas Windows y Linux conectadas a un enrutador D-Link DIR-825.

Las máquinas Windows en la red pueden llegar a todas las otras máquinas por nombre, mientras que las máquinas Linux solo pueden llegar a otras máquinas por dirección IP.

Puedo ver todas las máquinas enumeradas con nombres y sus direcciones asignadas de DHCP en la lista de estado del cliente DHCP en la interfaz de administración web del enrutador.

¿Por qué las máquinas Linux no pueden encontrar ninguna otra máquina por su nombre, mientras que Windows no tiene problemas para encontrar las máquinas Linux?

Por Salmi
fuente
2
¿Cómo se hace la resolución de su nombre? DNS? ¿Tiene configurado un sufijo de búsqueda?
Shane Madden
Todas las máquinas están utilizando DHCP, conectadas al enrutador D-Link donde parecen registrarse y eso es probablemente suficiente para que Windows encuentre todas las máquinas. Pero las máquinas Linux ¿realmente requieren un servidor DNS local que no sea el enrutador?
Por Salmi
No está seguro acerca de ese enrutador en particular, pero la mayoría de los enrutadores de consumo no integran clientes DHCP en su servicio DNS interno. La respuesta de Joe es probablemente tu culpable.
Shane Madden
¿Entonces las máquinas Linux responderían a los mensajes LLMNR pero no las usarían ellos mismos para encontrar otras máquinas?
Por Salmi

Respuestas:

32

No soy un experto en redes, y también estoy investigando MUCHAS respuestas para este tema. Mis hallazgos actuales son:

  • Windows usa nombres NetBIOS, y dicho protocolo, al ser de difusión, les permite encontrarse sin ningún servidor central.

  • Las máquinas Linux en distribuciones modernas utilizan de forma nativa un protocolo llamado Avahi , que también es un protocolo de transmisión independiente del servidor. Las máquinas de red locales tienen un sufijo .local, por lo que puede hacer ping desde Linux a Linux usandoping hostname.local , o verlas con el avahi-discoverpaquete. algunas aplicaciones en Gnome usan avahi para enumerar máquinas en la red (por ejemplo, el visor de escritorio remoto)

  • La instalación de SAMBA en una máquina Linux le asignará un nombre NetBIOS (o, más técnicamente, hará que una máquina Linux se anuncie en solicitudes de difusión con su nombre NetBIOS, que es su nombre de host predeterminado), y eso permite que las máquinas Windows encuentren Linux unos .

  • Gotcha: aunque las máquinas Linux con Samba responderán a las solicitudes de protocolo NetBIOS, con configuraciones predeterminadas en distribuciones como Ubuntu no usará NetBIOS como método para resolver nombres, y es por eso que las máquinas Linux no pueden "verse" entre sí o Windows maquinas . Para eso, debe editar el /etc/nsswitch.confarchivo y agregarlo winsa la lista en esta línea:

    hosts: files mdns4_minimal [NOTFOUND=return] dns wins mdns4

  • Es posible que necesite instalar winbind(y, si no se instala automáticamente libnss-winbind) , el paquete para que funcione lo anterior.

  • Entonces, para el problema de la visibilidad, puede instalar Samba en todas las máquinas Linux (y también editar /etc/nsswitch.conf para habilitar la resolución de nombres NetBIOS), o instalar el soporte de Avahi en máquinas Windows.

  • En cuanto al intercambio de archivos, Samba proporciona capacidades de intercambio de archivos de máquinas Linux con Windows. No es necesario editar /etc/nsswitch.conf para que las máquinas Linux vean carpetas compartidas entre sí y Windows (y viceversa) en la sección "Red" de Nautilus

¡Espero que esto haya ayudado! :RE

MestreLion
fuente
2
para la nsswitch.congcosa: si ping HOSTNAMEle da un error del sistema, esa es la señal de que se necesita el paquete libnss-winbind.
Michael Stum
18

De manera predeterminada, sin un servidor DNS, Windows puede usar NetBIOS (un protocolo de resolución de nombres de Microsoft) para descubrir los nombres de otros sistemas de Windows locales en su red. Como se menciona en esta respuesta , parece que necesita configurar SAMBA (o al menos winbind) en el lado de Linux. Aquí hay un conjunto básico de instrucciones :

Para habilitar la resolución de nombres de Windows netbios desde una computadora Linux, asegúrese de que Samba esté instalado (aunque el servicio smb no necesita estar ejecutándose). La suite Samba incluye winbind, que permite resolver los nombres de host de Windows. Luego edite /etc/nsswitch.conf y cambie esta línea:

hosts: files dns

a esto:

hosts: files dns wins

Luego pruebe haciendo ping al nombre de la computadora de la máquina Windows en la LAN:

PS ping windowsbox

Por cierto, esto no tiene nada que ver directamente con WINS. WINS es un servidor NetBIOS que generalmente se usa en redes más grandes para reducir el tráfico de transmisión, proporcionar una plataforma de resolución de nombres centralizada heredada y, en última instancia, permitir que los sistemas en diferentes redes conozcan el mapeo NetBIOS de nombre a IP de los demás.

Una alternativa a SAMBA sería configurar un servidor DNS y garantizar que las actualizaciones dinámicas de DNS estén configuradas o que DHCP pueda registrar registros DNS.

Eric C. Singer
fuente
3

Muy probablemente LLMNR .

joeqwerty
fuente
1
Entonces, ¿eso haría que las máquinas con Windows encuentren las cajas de Linux utilizando la información registrada del router DHCP? ¿Pero Linux no admite el uso de los nombres registrados del enrutador para encontrar algo?
Por Salmi
3
Si bien esto puede responder teóricamente la pregunta, sería preferible incluir aquí las partes esenciales de la respuesta y proporcionar el enlace para referencia.
Mark Henderson
No parece que el LLMNR explique por qué Windows puede encontrar las cajas de Linux, pero no al revés. Si Linux no usa LLMNR, ¿Windows podría encontrar Windows pero no Linux?
Por Salmi
2

Probablemente solo necesite configurar la resolución Avahi / mDNS. Hace lo mismo que LLMNR en Windows.

juwi
fuente
0

Linux puede resolver nombres locales aunque el software necesario no está instalado por defecto ...

La mayoría de las distribuciones de Linux hacen pocas presunciones con respecto a sus requisitos de software más allá del núcleo ... Referencia de Debian DNSMasq

apt-cache search dnsmasq ...

Eddie B
fuente