Il problema qui descritto potrebbe non essere affatto correlato al DNS.
Devi sapere che Windows può risolvere il nome host di Windows sul suo IP tramite meccanismi diversi dal DNS standard: ricerca NetBIOS, WINS, ...
Come hai detto che hai installato Samba sul tuo Ubuntu, questo è probabilmente ciò che sta accadendo. Su tutto il tuo computer Windows, è possibile, immediatamente, avere il nome di Windows risolto nel suo indirizzo IP. Poiché Samba è installato su Ubunut, per il tuo PC Windows, vedono il PC Ubuntu come un PC Windows e la stessa risoluzione è possibile.
Dici che corri net view
su Windows e vedi il tuo PC Ubuntu, quindi il nome NetBIOS è ben pubblicato sulla tua rete, quindi funziona da Windows.
Per ottenere lo stesso comportamento su Ubuntu come su Windows, è necessario installare e configurare componenti software aggiuntivi. Ciò di cui hai bisogno è aggiungere una libreria di ricerca che consenta a Ubuntu di convertire i nomi NetBIOS in IP. Questa libreria è contenuta nel pacchetto libnss-winbind .
Come qualsiasi altro pacchetto Ubuntu, lo installi facendo sudo apt-get install libnss-winbind
. Può essere che la libreria sia già installata, puoi verificarne la presenza facendo dpkg -l|grep libnss-winbind
.
Una volta installata la libreria, è necessario abilitarla nel /etc/nsswitch.conf
file. Questo file è il file di configurazione per NSS ( Name Service Switch ), che definisce da quali fonti Linux è in grado di risolvere nome host, nomi utente, nomi di gruppo e così via.
In questo file, hai già una linea che inizia hosts:
, probabilmente simile a questa
hosts: files dns
Questo dice al tuo sistema di esaminare prima il /etc/hosts
file e poi il DNS configurato per risolvere i nomi host.
Devi modificare in questo modo:
hosts: files dns wins
Si noti che l'ordine dei file di parole , dns e wins è importante. Innanzitutto, il sistema controllerà la risoluzione del file locale, quindi chiederà al server DNS e infine, se non ancora trovato, eseguirà la ricerca NetBIOS.
Una volta aggiornato, per funzionare correttamente, devi anche avere il servizio winbind in esecuzione. Il pacchetto che lo contiene è una dipendenza di libnss-winbind , quindi è stato installato lungo di esso.
Fai service winbind start
per attivarlo.