Mi sono trovato nella strana e interessante situazione di dover collegare la mia macchina Linux in una rete ove e' presente un server WINS. Wins e' un (assurdo) protocollo di comunicazione fra postazioni Microsoft Windows, sostanzialmente fa le veci di un DNS per la risoluzione dei nomi NetBios. Inutile dire che Unix non necessita di una simile complicazione, ma per l'interoperabilita' e' necessario che Samba consenta la connessione al server WINS. A complicare ancora di piu' la cosa vi era il fatto che il server di fatto si trovava in una sottorete distinta da quella della mia macchina e che le macchine Windows che dovevo in realta' raggiungere non erano nemmeno "dominate" dal server WINS in questione. In altre parole un semplice nmblookup contro il server WINS non risolveva i nomi NetBios che cercavo di ottenere, mentre una query ricorsiva come

nmblookup -U -R 1.2.3.4 nome-netbios

(con 1.2.3.4 indirizzo IP del server WINS)
funzionava correttamente. Due sono le opzioni da configurare in Samba affinche' la risoluzione dei nomi corrispondente al sopra citato invio ricorsivo funzioni:

 wins server = 1.2.3.4
 wins proxy = yes
 name resolve order = wins lmhosts host bcast


che rispettivamente abilitano il server WINS da interrogare in prima istanza, istrumentano i comandi Samba per inviare query ricorsive e forzano il processo di risoluzione dei nomi NetBios a partire prima dal server WINS, passando poi per i classici file degli host e infine via broadcast sulla rete.

Se poi si vuole anche abilitare la risoluzione dei nomi NetBios come nomi host normali (e quindi si vuole ad esempio pingare un nome host NetBios) occorre modificare il file nsswitch.conf inserendo nella riga hosts anche la direttiva wins:

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

The article Mi Sono Trovato Nella Strana E has been posted by Luca Ferrari on January 13, 2011