¿Qué hace ".local"?

26

Tengo varias máquinas Ubuntu en mi red en casa, pero el DNS lo proporciona un servidor Windows (2K). Cuando les hago ssh desde otra persona, si les hago ssh como "máquina" no puedo conectarme, pero si me conecto como "machine.local" puedo conectarme.

Pienso de manera similar, no puedo conectarme desde un cliente de Windows (como masilla).

¿Que está pasando aqui? - Es claramente una cosa de Ubuntu.

Bagazo
fuente
En realidad, parece una cosa de DNS, no una cosa de Ubuntu (especialmente porque "no puedes conectarte" desde la máquina de Windows, ¿y cuál es el mensaje de error de todos modos?). ¿Cuál es su configuración de DNS ( nameserver y search )? ¿Cómo dig machine1difiere de dig machine1.local?
Gilles 'SO- deja de ser malvado'
¿Tendría Apple Bonjour u otra implementación de Zeroconf instalada en Windows 2000 Server?
Thorbjørn Ravn Andersen

Respuestas:

34

Por defecto, Ubuntu incluye avahi. Esta es una implementación de zeroconf que permite que los nombres de host de la computadora se resuelvan con el nombre virtual ".local". Siempre que su computadora intente conectarse a "hostname.local", avahi realizará transmisiones de red local para ver si hay alguna computadora con ese nombre de host. Otras computadoras con avahi (o algo compatible) deberían responder.

Si busca en /etc/nsswitch.conf, encontrará la siguiente línea:

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

El mdns4_minimal es la configuración que hace que esta redirección funcione.

Su pregunta en realidad sugiere que avahi se está ejecutando con éxito, ya que dice que puede conectarse a sus computadoras Ubuntu utilizando "hostname.local". Sin embargo, no deja en claro ("Cuando les digo desde otro, ...") si está intentando conectarse desde otra computadora Ubuntu, o desde otra computadora Windows. Sin instalar otro software como Bonjour, las computadoras con Windows no pueden resolver los nombres "hostname.local" de estilo zeroconf.

Lekensteyn
fuente
Avahi Link para los interesados. En resumen, es complicado.
meawoppl
13

Para solucionar su problema, solo necesita Avahi. Esto anuncia los nombres de sus máquinas Ubuntu al lote de Windows.

sudo apt-get install avahi-daemon

machinename.localfunciona gracias a otra implementación de zeroconf (de la cual Avahi también se llama) Bonjour, creado (IIRC) por Apple. Está instalado por defecto. No sé por qué Avahi tampoco lo es, pero dada la confusión que causa a las personas, probablemente sea así.

Hay más sobre esto en Wikipedia: http://en.wikipedia.org/wiki/.local

Oli
fuente
Avahi usa .lan creo
Broam
77
No, avahi usa .local, esto es requerido por la especificación mDNS.
Kees Cook