Che cosa fa ".local"?


26

Ho diverse macchine Ubuntu sulla mia rete a casa, ma il DNS è fornito da un server Windows (2K). Quando faccio un ssh a loro da un altro, se faccio un ssh a loro come "macchina" non riesco a connettermi, ma se mi connetto come "machine.local" posso connettermi.

Penso allo stesso modo, non riesco a connettermi da un client Windows (come stucco).

Cosa sta succedendo qui? - è chiaramente una cosa di Ubuntu.


In realtà, sembra una cosa DNS, non è affatto una cosa Ubuntu (soprattutto perché "non riesci a connetterti" dalla macchina Windows - e qual è il messaggio di errore comunque?). Qual è la tua configurazione DNS ( nameserver e search )? In cosa dig machine1differisce da dig machine1.local?
Gilles 'SO- smetti di essere malvagio' il

Ti capita di avere Apple Bonjour o un'altra implementazione di Zeroconf installata su Windows 2000 Server?
Thorbjørn Ravn Andersen,

Risposte:


34

Di default, Ubuntu include avahi. Questa è un'implementazione di zeroconf che consente di risolvere i nomi host dei computer con il nome ".local" virtuale. Ogni volta che il tuo computer tenta di connettersi a "hostname.local", avahi eseguirà le trasmissioni di rete locale per vedere se ci sono computer con quel nome host. Altri computer che eseguono avahi (o qualcosa di compatibile) dovrebbero rispondere.

Se guardi in /etc/nsswitch.conf, troverai la seguente riga:

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

Mdns4_minimal è l'impostazione di configurazione che fa funzionare questo reindirizzamento.

La tua domanda suggerisce in realtà che avahi funziona correttamente mentre dici che puoi collegarti ai tuoi computer Ubuntu usando "hostname.local". Tuttavia, non si chiarisce ("Quando ho inviato loro da un altro, ...") se si sta tentando di connettersi da un altro computer Ubuntu o da un altro computer Windows. Senza installare altri software come Bonjour, i computer Windows non possono risolvere i nomi "hostname.local" in stile zeroconf.


Avahi Link per gli interessati. In breve, è complicato.
meawoppl,

13

Per risolvere il problema, hai solo bisogno di Avahi. Questo annuncia i nomi delle tue macchine Ubuntu al lotto di Windows.

sudo apt-get install avahi-daemon

machinename.localfunziona grazie a un'altra implementazione di zeroconf (di cui è anche Avahi) chiamato Bonjour, creato (IIRC) da Apple. È installato per impostazione predefinita. Non so perché anche Avahi non lo sia, ma data la confusione che provoca le persone, probabilmente dovrebbe esserlo.

C'è di più su questo su Wikipedia: http://en.wikipedia.org/wiki/.local


Avahi usa .lan credo
Broam,

7
No, utilizza avahi .local, questo è richiesto dalle specifiche mDNS.
Kees Cook,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.