Supporto Knowledge Base Configurazioni di rete avanzate

Configurazioni di rete avanzate

Visualizza la guida in formato PDF

Introduzione

SMB (Server Message Block) è un protocollo di rete, utilizzato principalmente in ambiente Windows, il cui scopo è fornire un accesso condiviso a diverse risorse del computer; in questo documento verranno date indicazioni per le di operazioni da effettuare sui PC della rete e per la configurazione del protocollo mediante operazioni guidate favorendo l’adozione, quando possibile, della impostazione del Directory Leasing Mode sul server.

Cos’è il protocollo SMB

SMB (Server Message Block) è un protocollo di rete, utilizzato principalmente in ambiente Windows, il cui scopo è fornire un accesso condiviso a file, cartelle e altri tipi di risorse all’interno della rete locale (LAN). Si tratta quindi di una componente del sistema operativo Windows, presente in esso fin dalle prime versioni e che nel corso del tempo ha subito diverse modifiche, anche per adattarsi a scenari di rete in continua evoluzione. La prima versione del protocollo, SMB1, è stata infatti realizzata pensando ad ambienti con un numero ridotto di client in rete (non più di 20), ma con il passare del tempo le infrastrutture di rete si sono sempre più diffuse e si sono introdotte nuove funzionalità al protocollo, migliorandone anche le performance. Di seguito riportiamo una tabella riepilogativa delle versioni di SMB successive a SMB1:

 

Periodo Versione SMB

Versione Windows

Gennaio 2007 2 Vista
Ottobre 2009 2.1 7 / Server 2008R2
Ottobre 2012 2.2 8 / Server 2012
Ottobre 2013 3.0.2 8.1 / Server 2012R2
Luglio 2015 3.1.1 10 / Server 2016

A partire dalla versione 2 SMB ha adottato l’utilizzo di meccanismi di caching, ovvero la possibilità di mantenere in memoria, sul client, dei dati senza dover necessariamente rileggerne la “copia” su server, al fine di rendere più veloce il reperimento delle informazioni. Con questa versione e le successive implementazioni sono stati introdotti l’uso di lock opportunistici (oplock) ed il “lease”, delle politiche di caching che consentono ai client di mantenere e lavorare su di una propria copia del dato in memoria, contattando il server solo quando strettamente necessario. Queste tecniche migliorano effettivamente le performance per gli applicativi che realizzano una comunicazione client/server (es. SQLServer), ma possono penalizzare, in termini di integrità dei dati, le soluzioni con database basate su file system/ISAM, come Gestionale 1.

Le successive versioni di SMB hanno aggiunto poi ulteriori migliorie relative alla sicurezza per lo scambio dei dati, fino ad arrivare alla versione 3.1.1 (SMB3) distribuita con i più recenti Windows 10 e Windows Server 2016.

 

Gestionale 1 e SMB

Come noto, Gestionale 1 gestisce i propri dati tramite il BDE, memorizzandoli in tabelle come file in formato .DBF, e per poter accedere rapidamente alle informazioni, sfrutta dei file di indice .MDX. L’indice memorizzato in questo file, ed aggiornato quando si modifica il contenuto di particolari campi in tabella, permette di accedere in modo quasi immediato ai singoli record. Si tratta quindi di un tipico caso in cui entra in gioco il file system e viene adottato un metodo di accesso sequenziale indicizzato (ISAM, Indexed Sequential Access Method).

A causa di ciò, i dati di G1 possono risultare soggetti a problemi di integrità se, lavorando in rete locale, non si effettuano le operazioni di configurazione consigliate. Per gli utenti questo può tradursi in una richiesta frequente di effettuazione dell’operazione “Recupero Indici” (menu “Base \ Menu Utilità”): quando occorre un problema sull’integrità del file indice, Gestionale 1 chiede in pratica all’utente di ricostruire questo file per una o più tabelle, in modo tale da evitare disallineamenti più gravi sui dati contenuti nelle tabelle (ad esempio anomalie in fase di lettura o scrittura delle informazioni).

 

Per questo motivo, al fine di evitare continue richieste di ricostruzione degli indici o la persistenza/lettura di dati incoerenti, in passato è stato consigliato di operare in rete locale utilizzando la prima versione del protocollo SMB1 pur disponendo di versioni più aggiornate (2 o superiori), dando priorità alla coerenza dei dati rispetto alle performance, da qualche anno Microsoft ha previsto la possibilità di utilizzare (nelle versioni più recenti dei suoi sistemi operativi) il protocollo di rete SMB più aggiornato ed impostare la condivisione dei dati intervenendo solo sulla cartella condivisa in cui risiedono i dati (impostazione del Directory Leasing Mode).

La corretta impostazione del Directory Leasing Mode sulla condivisione operata nel sistema server (quando dispone del protocollo SMB 3.1.1) è poi utilizzabile in abbinamento alle versioni di SMB 2 o superiori sui sistemi client.

Più in dettaglio: la versione 1709 dei più recenti S.O. Microsoft (Windows 10 e Windows Server 2016) ha permesso di disattivare i meccanismi di caching che fanno uso di lock opportunistico e lease limitatamente ad una cartella condivisa in rete, in modo tale da non compromettere l’integrità dei dati per le applicazioni che utilizzano le tipologie di database descritte in precedenza. La disattivazione richiede l’utilizzo di un particolare parametro, “LeasingMode”; in seguito si farà riferimento all’uso di tale parametro come “disattivazione dei lease”.

Tale configurazione è da applicarsi sulla macchina che funge da server dati, relativamente alla condivisione che contiene i dati di Gestionale 1. La possibilità di applicare questa impostazione solo ad una specifica condivisione consente alle altre applicazioni di continuare ad utilizzare appieno le funzionalità di SMB3; si tratta di un grosso passo avanti rispetto alle precedenti versioni, per cui il caching dei file doveva essere adottato “integralmente” oppure era necessario passare a SMB1, con un impatto su tutti gli applicativi.

Oltre alla disattivazione dei lease tuttavia, la versione 1709 di Windows ha introdotto un’altra importante novità: sulle nuove installazioni di Windows infatti (ovvero tutte quelle installazioni dalla versione 1709 di Windows 10 o Windows Server 2016), il supporto a SMB1 risulterà preinstallato parzialmente. Le installazioni precedenti invece, ovvero quelle che hanno già SMB1 installato, dopo aver aggiornato alla versione 1709 subiranno la disinstallazione del supporto a SMB1, nel momento in cui verrà raggiunta la soglia di 15 giorni complessivi di funzionamento del pc senza utilizzo di questa versione del protocollo. La disinstallazione viene applicata una sola volta; è comunque possibile in qualunque momento provvedere alla reinstallazione manuale di SMB1, come verrà poi descritto in seguito.

 

Configurare l’ambiente di lavoro ottimale per G1 tramite la funzione “Configurazione guidata protocolli di rete"

 

Dalla versione 6.5.5 del Gestionale 1, si sono implementate nuove funzionalità che mirano ad agevolare l’utente sia nella fase di verifica della situazione dei protocolli di rete che nell’eventuale sistemazione della loro configurazione. Per quanto concerne la “Configurazione guidata”, la procedura cerca di impostare la miglior configurazione possibile dal punto di vista dell’integrità dei dati, in alcuni casi questo può causare una perdita delle performance.

Si premette che è consigliabile eseguire la configurazione del server anche nel caso in cui la situazione fosse già ottimale, perché una volta conclusa l’elaborazione, la condivisione viene caratterizzata in modo specifico permettendo ai client di individuare a loro volta le impostazioni ottimali da adottare; in caso contrario, i client potrebbero dare indicazioni non in linea con quanto effettivamente presente sul server.

Per poter configurare correttamente l’installazione in rete quindi, occorre per prima cosa operare sulla postazione server; i prossimi paragrafi descrivono cosa fare se si dispone o meno di una installazione di Gestionale 1 sul server.

 

Configurazione postazione Server da Gestionale 1

Sulla postazione server occorre eseguire Gestionale 1 e richiamare la funzione “Configurazione guidata protocolli di rete” (menu “Base \Menu Utilità \Menu di Sistema\ Gestione protocolli di rete”).

La procedura esaminerà la situazione corrente del protocollo SMB installato ed in particolare la situazione della cartella dove risiedono i dati del Gestionale 1 (ad esempio c:\azw32\db). In base alla situazione rilevata, se necessario, verranno proposte eventuali modifiche da apportare.

Si consideri ad esempio il caso di un sistema server che dispone di SMB 3.1.1 (che permette la disabilitazione del leasing mode), ma che sta utilizzando il protocollo SMB1.

Il Wizard di configurazione mostrerà la situazione e proporrà una sequenza di operazioni automatiche:

Premendo avanti e confermando gli eventuali messaggi successivi verrà applicata automaticamente la configurazione proposta.

Infine, una volta terminata l’elaborazione, la procedura presenterà una schermata riepilogativa contenente l’esito delle operazioni effettuate ed eventuali accorgimenti da adottare per il corretto utilizzo delle postazioni:

Nel caso specifico, avendo cambiato il protocollo SMB attivo sul server, nel riepilogo si consiglia di sistemare gli eventuali permessi sulla cartella appena condivisa. Inoltre si sottolinea la necessità di riavviare sia il server che gli eventuali client collegati alla postazione e di verificare le altre istanze condivise.

Se la versione del sistema operativo del server non prevede la possibilità di disattivare il leasing mode la procedura guidata, non potendo sapere quali potranno essere i client che si collegheranno e come è strutturata l’intera rete, propone la situazione più sicura, che consiste nell’utilizzo dell’SMB1 sul server:

In questo caso, prima di procedere, è opportuno fare riferimento al paragrafo “Verifica configurazione ottimale del protocollo SMB con versione precedente alla 3.1.1”.

Nota

Fino a quando nella rete risultano presenti postazioni di lavoro con S.O. molto datati (in particolare Windows Xp) occorre lasciare sul server il protocollo SMB 1 essendo l’unico supportato da questo tipo di client.

Configurazione postazione Server da applicativo esterno

Nel caso in cui sul server non fosse disponibile l’installazione del Gestionale 1 (versione 6.5.5 o superiore), occorrerà copiare sulla postazione l’eseguibile sga_smbmanager.exe. La procedura qui documentata è la stessa riportata nel paragrafo precedente “Configurazione postazione Server da Gestionale 1”, con la differenza che, non avendo a disposizione le informazioni di installazione del Gestionale 1, necessita di alcuni passaggi preliminari.

Il file è reperibile nella cartella degli eseguibili del Gestionale 1 (ad esempio in c:\AZW32\BIN):

 

 

Una volta copiato il file, dal server occorrerà avviare l’eseguibile con i privilegi amministrativi tramite l’opzione “Esegui come amministratore” (Voce disponibile premendo il tasto destro del mouse sull’eseguibile).

Nella prima schermata che viene proposta scegliere la voce “Configurazione guidata”:

 

 

Nella seconda schermata selezionare “Configurazione server” e premere su Avanti:

 

 

A questo punto la procedura ricerca le varie condivisioni già presenti sulla postazione e ne propone l’elenco:

 

Per ogni condivisione viene specificato il nome della stessa (nell’esempio “DBG1”), il percorso, lo stato della “Gestione del leasing mode” e se il percorso contiene i dati del Gestionale 1 (in particolare viene verificato se nel percorso indicato sono presenti le tabelle del Gestionale). Nel caso in cui la cartella del Gestionale 1 non fosse ancora stata condivisa è possibile selezionarne manualmente il percorso con la seconda opzione, in questo modo la procedura provvederà a creare la condivisione.

Da qui in poi, come specificato in precedenza, ci si troverà nella situazione descritta nel paragrafo “Configurazione postazione Server da voce di Menu del Gestionale 1”, al quale occorre fare riferimento per una maggior completezza d’informazione.

Configurazione guidata postazione Client

Una volta verificato ed eventualmente configurato il server, su ogni client su cui è installato il Gestionale 1 occorre selezionare la funzione “Configurazione guidata protocolli di rete” (reperibile in “Base/Menu Utilità/Menu di Sistema/Gestione protocolli di rete”).

Come per il server, la procedura esamina la situazione e mostra i risultati della verifica.

Nell’esempio sottostante viene mostrato l’esito di una postazione già configurata in modo ottimale, per la quale non è consigliato alcun intervento, per cui viene mostrata direttamente la schermata di riepilogo:

Nell’esempio successivo invece viene rilevata una situazione per la quale è possibile intervenire impostando una configurazione migliore:

Premendo avanti si aprirà un messaggio in cui verrà chiesto se proseguire. Confermandolo verrà applicata automaticamente la configurazione proposta.

Infine, una volta terminate tutte le elaborazioni, la procedura presenterà una schermata riepilogativa contenente l’esito delle operazioni effettuate ed eventuali accorgimenti da adottare per il corretto utilizzo delle postazioni, come ad esempio la necessità di effettuare un riavvio:

Verifiche del protocollo SMB in fase di selezione azienda da client

Sulle postazioni di tipo client che utilizzano il Gestionale 1 con i dati in rete, nella fase di selezione azienda viene effettuato un controllo di compatibilità dell’attuale protocollo adottato dal client rispetto a quello del server; questa fase è stata arricchita andando a verificare come è configurato il protocollo SMB sul server e l’impostazione del leasing mode sulla cartella condivisa. Per avere queste nuove informazioni, come già accennato, è necessario che il server sia stato configurato o quantomeno verificato con le nuove procedure messe a disposizione dal Gestionale 1.

Essendo aumentate le casistiche riscontrabili, si sono diversificati i messaggi disattivabili mostrati. In alcuni casi gli avvisi si limitano a dare informazioni sulla situazione rilevata e sulle possibili azioni da intraprendere, come nel caso in cui la configurazione dei protocolli è ottimizzabile intervenendo sul server:

In altri casi, oltre alle informazioni sulla situazione, il messaggio mostrato propone anche di eseguire la configurazione guidata dei protocolli di rete:

Qualora il client non riesca a reperire informazioni rispetto al protocollo adottato dal server oppure non sia disponibile la disattivazione dei lease in presenza di un protocollo superiore a SMB 1 viene mostrato all’utente il messaggio disattivabile che consente di impostare automaticamente la versione 1 del protocollo SMB sul client. Per approfondimenti su questa casistica si rimanda al paragrafo “Verifica configurazione ottimale del protocollo SMB con versione precedente alla 3.1.1” perché in alcuni casi (ben definiti) può risultare preferibile la disattivazione del messaggio:

Configurazione avanzata protocolli di rete (utenti esperti)

La scelta “Configurazione avanzata protocolli di rete (utenti esperti)” (menu “Base \ Menu Utilità \Menu di Sistema \Gestione protocolli di rete”) effettua le medesime analisi che vengono effettuate nell’elaborazione guidata e visualizza lo stato delle cose, ma lascia la possibilità di scelta all’utente esperto sulla modalità di intervento.

La scelta propone due sezioni: la prima relativa alla gestione della postazione vista come server e la seconda alla gestione come client.

Sul server è possibile, oltre a cambiare il protocollo SMB, intervenire direttamente sull’impostazione del leasing mode, gestire le condivisioni esistenti oppure aggiungere nuove condivisioni.

Verifica configurazione ottimale del protocollo SMB con versione precedente alla 3.1.1

Nota

Le seguenti informazioni sono relative ai sistemi operativi Windows 7 sp1, Windows 8/8.1, Windows 10 fino a versione 1703 (“Creators Update”) e sistemi server precedenti Windows Server 2016 ver.1709.

In assenza della possibilità di disabilitare i lease, ovvero in quei contesti tali per cui il server dati non è aggiornato (o successivo) alla versione 1709 di Windows 10/Server 2016, rimane valida l’indicazione di utilizzare SMB1 nelle comunicazioni tra client e server. La logica relativa all’utilizzo di una determinata versione di SMB consiste nel fatto che in un colloquio di rete tra macchine che ne utilizzano una differente versione, il PC che lavora con la versione più recente si adatti ai dispositivi con installata la versione più vecchia. Ad esempio, avendo un client con SMB2 che dialoga con un server SMB1, il client si adatterà ad utilizzare la versione 1 del protocollo; viceversa, se fosse il client ad avere installato SMB1 ed il server SMB2, sarà quest’ultimo ad adoperare il protocollo nella sua versione precedente (SMB1). Questa impostazione impatta sull’intera infrastruttura di rete, non essendo possibile configurare una condivisione di rete in modo mirato come con SMB3. Significa cioè che in un contesto in cui un server ed N client comunicano fra di loro simultaneamente, è sufficiente che una sola delle postazioni utilizzi SMB1 per far sì che tutte le altre si adattino a questa versione del protocollo. Vi sono tuttavia due scenari in cui si può scegliere una diversa strategia di configurazione, al fine di evitare di penalizzare inutilmente le prestazioni di rete.

Il primo caso è quello di una rete “aperta”, in cui vi sono dei dispositivi personali (come ad esempio PC portatili di agenti o lavoratori part-time) che usufruiscono di servizi offerti dalla rete locale. In questo caso, venendo meno un concetto di standardizzazione dei dispositivi aziendali, ma avendo la necessità anche per questi dispositivi di utilizzare Gestionale 1, l’approccio più prudente è quello di impostare SMB1 direttamente sul server. In tal modo i dispositivi in rete locale sono forzati automaticamente all’utilizzo di questa versione del protocollo, e non è necessario configurare singolarmente i dispositivi che interagiscono con la rete in maniera saltuaria.

L’altra situazione è quella di una rete “chiusa”, nella quale le postazioni che usufruiscono della base dati del gestionale sono sempre le medesime e sulle quali si ha quindi un controllo maggiore a livello di configurazione. In questo caso è preferibile impostare SMB1 direttamente sui client, lasciando così attivo SMB2 sul server. Con questo approccio, il server può sfruttare le caratteristiche di SMB2 su eventuali altre macchine della rete che non fanno uso della base dati di G1 e che eseguono ad esempio attività differenti.

Nota

Nel caso in cui la procedura rilevi la necessità di impostare sul server il protocollo SMB1, occorre accertarsi che su tutte le postazioni client sia correttamente installato questo protocollo (vedere capitolo “Installare/disinstallare SMB1 da Windows 10 o Windows Server 2016”).

Installare/disinstallare SMB1 da Windows 10 o Windows Server 2016

Qualora sia necessario utilizzare ancora SMB1 (nell’impossibilità di realizzare le configurazioni descritte in precedenza), anche se dalla versione 1709 di Windows 10/Server 2016 questo non è presente o è stato disinstallato automaticamente, è possibile reinstallarlo seguendo le indicazioni qui riportate

Windows 10

Accedere al “Pannello di Controllo” di Windows, ad esempio digitandone il nome nella barra di ricerca di Windows. Selezionare la voce “Programmi e funzionalità” e successivamente, nella parte sinistra della schermata, “Attivazione o disattivazione delle funzionalità di Windows”; per fare ciò è necessario disporre dei diritti amministrativi per l’utente in uso.

La schermata “Programmi e funzionalità” può essere richiamata anche premendo il pulsante “Impostazioni” dal menu Start di Windows, selezionando la voce “App” e cliccando poi su “Programmi e funzionalità” sotto la voce “Impostazioni correlate”.

Nella finestra che compare, individuare la voce “Supporto per condivisione file SMB 1.0/CIFS”.

 

Espandendo la voce “Supporto per condivisione file SMB 1.0/CIFS” sono presenti 3 voci distinte:

  • Client SMB 1.0/CIFS
  • Server SMB 1.0/CIFS
  • SMB 1.0/CIFS Automatic Removal

È possibile spuntare (ed installare) solo la funzionalità strettamente necessaria, client o server. L’ultima voce fa riferimento invece alla rimozione automatica di SMB1 dopo 15gg di inutilizzo; per evitare tale comportamento automatico, è possibile disattivare questa voce specifica.

Applicare la spunta sulla/e funzionalità che di desidera installare per SMB1 (o togliere la spunta per disinstallarlo) e confermare con “OK”. Anche se non esplicitamente richiesto, l’operazione necessita di un riavvio del PC per il completamento dell’installazione o disinstallazione.

Windows Server 2016

L’analoga procedura di installazione/disinstallazione vista per Windows 10, può essere eseguita in Windows Server 2016 accedendo alla “Dashboard” del “Server Manager” e avviando la procedura di aggiunta o rimozione di ruoli o feature del sistema operativo.