Visualizzazione post con etichetta samba. Mostra tutti i post
Visualizzazione post con etichetta samba. Mostra tutti i post

giovedì 13 gennaio 2011

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

venerdì 21 maggio 2010

FreeBSD: mount di share SMB

Il mount di share samba (SMBFS) in FreeBSD è radicalmente differente da quanto avviene su un sistema Linux. Anzitutto non è presente il classico programma smbmount, bensì il suo sostituto mount_smbfs. Fosse solo la differenza sul nome il gioco sarebbe facile: qualsiasi script scritto in modo decente sarebbe facilmente portabile. Però cambiano anche le opzioni e il modo di interagire con username e password.
Anzitutto occorre creare un file ~/.nsmb oppure il file globale (valido per tutto il sistema) /etc/nsmb all'interno del quale mettere i parametri di connessione alle varie share. Se all'inizio questo sistema sembra un po' scomodo, alla lunga si rivela molto utile. L'unica accortezza da seguire è quella di mettere sempre, in tale file, i nomi delle share, dei server e degli utenti in maiuscolo. Le altre opzioni, password, ecc., devono invece essere case sensitive.
Quindi tale file deve includere una o piu' sezioni del tipo:


[SERVER:SHARE:USER]
password=myPassword

dove ovviamente SERVER corrisponde al nome netbios del server, SHARE al nome della share e USER (opzionale) al nome dell'utente usato per la connessione.
Infine è possibile montare la share con il comando:


mount_smbfs //user@server/share /mountpoint