Passo 2: Installazione e configurazione del Gateway
Dopo aver configurato il Gateway e i dispositivi nella SDA Console, la fase successiva prevede l'installazione del servizio SDA Glue sull'hardware del gateway scelto. Questo processo di installazione differisce tra sistemi Linux e Windows, ma entrambi gli approcci seguono lo stesso principio fondamentale: scaricare e configurare un servizio che rimane in esecuzione continuamente in background, pronto a stabilire tunnel sicuri su richiesta.
Installazione
Il processo di installazione si articola in due fasi principali:
- Installare SDA Glue e le relative dipendenze nel sistema di destinazione.
- Configurare il servizio con credenziali univoche ottenute dalla SDA Console, che autenticano uno specifico Gateway.
Prima di iniziare l'installazione, assicurarsi di disporre dei privilegi amministrativi sul sistema di destinazione. Il processo di installazione richiede permessi elevati per installare il servizio di sistema. Su Linux è necessario l'accesso sudo. Su Windows è necessario eseguire PowerShell come amministratore.
Il processo di installazione può gestire ambienti con proxy, ma richiede ulteriori passaggi di configurazione che verranno illustrati nelle sezioni specifiche di ciascuna piattaforma.
Linux
Per installare SDA Glue su un sistema Linux con accesso diretto a Internet, eseguire il comando seguente in un terminale:
curl -sSL 'https://api.eu1.sdaconsole.io/glue/v1/install.sh' | bash -
Questo comando utilizza curl per recuperare in modo sicuro lo script di installazione direttamente dall'endpoint API di SDA e lo indirizza a bash per l'esecuzione immediata. I flag -sSL garantiscono che il trasferimento sia silenzioso, mostrino eventuali errori e seguano in modo sicuro eventuali reindirizzamenti.
Dettagli sul processo di installazione su Linux
L'installazione su Linux utilizza uno script shell automatizzato che gestisce il complesso processo di compilazione e configurazione del servizio SDA Glue. Questo script esegue diverse attività critiche: installa le dipendenze di runtime e gli strumenti di build necessari, scarica e compila il client SoftEther VPN dal repository sicuro di SDA e installa SDA Glue come servizio systemd che si avvierà automaticamente con il sistema.
L'approccio basato sulla compilazione garantisce la compatibilità tra le diverse distribuzioni Linux, mantenendo al tempo stesso la sicurezza grazie alla compilazione da codice sorgente verificato. L'integrazione come servizio systemd significa che il gateway si riavvierà automaticamente in caso di problemi e inizierà a funzionare immediatamente all'avvio del sistema.
Se si preferisce esaminare lo script di installazione prima di eseguirlo, è possibile recuperarlo separatamente rimuovendo la parte | bash - dal comando oppure accedendo direttamente a https://api.eu1.sdaconsole.io/glue/v1/install.sh dal browser web. Questa trasparenza consente di comprendere esattamente quali operazioni il processo di installazione eseguirà sul sistema.
Linux con proxy
Quando il sistema Linux richiede l'accesso a Internet tramite un server proxy, è necessario configurare le variabili d'ambiente appropriate prima di eseguire lo script di installazione. Impostare le variabili d'ambiente http_proxy e https_proxy nella sessione bash corrente:
export http_proxy=http://username:password@proxy.company.com:8080
export https_proxy=http://username:password@proxy.company.com:8080
curl -sSL 'https://api.eu1.sdaconsole.io/glue/v1/install.sh' | bash -
Sostituire l'URL del proxy con i dati effettivi del proprio server proxy, incluse le credenziali di autenticazione se richieste dalla configurazione di rete.
Docker
Docker offre un metodo di distribuzione alternativo che garantisce coerenza tra i diversi sistemi host e una gestione semplificata grazie alla containerizzazione. L'immagine Docker di SDA Glue è basata su Debian e include tutte le dipendenze necessarie preconfigurate, eliminando la necessità di compilazione manuale o di gestione delle dipendenze.
Per distribuire SDA Glue tramite Docker, eseguire il comando seguente con le capability di rete richieste:
docker run -d \
--name glue \
--device=/dev/net/tun \
--cap-add=NET_ADMIN \
-v glue-data:/var/lib/sdaglue \
--restart always \
-p 8081:8080 \
public.ecr.aws/t9c5s2d1/sdaglue:latest
Questo comando crea un container persistente denominato "glue" che si riavvierà automaticamente in caso di arresto imprevisto. Il mount del volume conserva la configurazione del gateway e i dati di autenticazione tra i riavvii o gli aggiornamenti del container.
Inoltre inoltra la porta 8080 del container alla porta 8081 dell'host, su cui è in esecuzione il web server di Glue per la configurazione dell'applicazione. È quindi possibile accedervi tramite http://localhost:8081/.
Quando si eseguono più container SDA Glue sullo stesso host, assicurarsi che ogni container utilizzi nomi e mount di volume univoci per evitare conflitti:
docker run -d --name glue-factory -v factory-data:/var/lib/sdaglue [...]
Per una guida completa alla distribuzione con Docker, comprese configurazioni di rete avanzate, procedure di risoluzione dei problemi e best practice per la distribuzione in produzione, consultare la documentazione completa:
Windows
Aprire PowerShell come amministratore cercando "PowerShell" nella barra di ricerca di Windows, facendo clic con il pulsante destro sul risultato e selezionando "Esegui come amministratore". Una volta ottenuta una sessione PowerShell con privilegi elevati, eseguire il comando seguente:
iwr -Uri 'https://api.eu1.sdaconsole.io/glue/v1/install.ps1' -UseBasicParsing | iex
Questo comando PowerShell utilizza Invoke-WebRequest (abbreviato in iwr) per recuperare lo script di installazione e lo indirizza a Invoke-Expression (abbreviato in iex) per l'esecuzione immediata. Il parametro -UseBasicParsing garantisce la compatibilità tra diverse versioni e configurazioni di Windows.

Installazione riuscita di SDA Glue con PowerShell
Dettagli sul processo di installazione su Windows
Il processo di installazione su Windows utilizza PowerShell per scaricare ed eseguire uno script di installazione che configura il sistema per la connettività SDA. A differenza dell'approccio Linux, che compila il software dal codice sorgente, l'installer per Windows scarica i binari precompilati di OpenVPN Community Client e del servizio SDA Glue, quindi registra SDA Glue come servizio di Windows.
L'integrazione come servizio di Windows garantisce che SDA Glue si avvii automaticamente con il sistema e si riavvii automaticamente in caso di problemi. Questo offre gli stessi vantaggi in termini di affidabilità dell'approccio systemd su Linux, ma utilizzando l'infrastruttura nativa di gestione dei servizi di Windows.
Analogamente all'approccio Linux, è possibile esaminare lo script di installazione prima di eseguirlo rimuovendo la parte | iex oppure accedendo direttamente a https://api.eu1.sdaconsole.io/glue/v1/install.ps1 dal browser web.
Windows con proxy
Quando il sistema Windows opera dietro un server proxy, il processo di installazione richiede un approccio in due fasi. Per prima cosa si configurano le impostazioni del proxy e si scarica lo script di installazione. Successivamente si esegue lo script con la configurazione proxy appropriata.
Iniziare impostando le variabili PowerShell per la configurazione del proxy:
# Configure your specific proxy details
$ProxyHost="proxy.company.com:8080"
$ProxyUser="your-username"
# Download the installation script through the proxy
iwr -Uri 'https://api.eu1.sdaconsole.io/glue/v1/install.ps1' -UseBasicParsing -OutFile .\glue-install.ps1 -Proxy http://$ProxyHost -ProxyCredential $ProxyUser
# Execute the script with proxy configuration
.\glue-install.ps1 -Proxy $ProxyHost -ProxyCredential $ProxyUser
Si noti l'importante differenza nel formato dell'URL del proxy: il comando Invoke-WebRequest richiede lo schema URL completo (http://proxy.company.com:8080), mentre lo script di installazione si aspetta solo il nome host e la porta (proxy.company.com:8080).

Come indicato dai log in basso, è necessario configurare il server proxy in SDA Glue utilizzando la CLI
Autenticazione e login
Dopo aver installato correttamente il software SDA Glue, è necessario autenticare il gateway fisico presso i servizi SDA Cloud. Questo processo di autenticazione utilizza credenziali univoche generate dalla SDA Console per il gateway specifico. Tali credenziali sono costituite da un breve identificativo del gateway e da una password monouso che viene rinnovata periodicamente per una maggiore sicurezza.

Comandi di configurazione del Gateway dalla SDA Console
Tornare alla SDA Console e individuare il secondo comando nella finestra di dialogo di configurazione del gateway. Questo comando sarà simile agli esempi seguenti:
Linux
sudo sdaglue login -e eu1 G1ABCD 123456
Docker
docker exec glue sdaglue login -e eu1 G1ABCD 123456
Windows
sdaglue.exe login -e eu1 G1ABCD 123456
La struttura del comando include il flag -e eu1, che specifica l'endpoint della regione europea, seguito dall'identificativo univoco del gateway (ad esempio G1ABCD) e dalla password monouso (ad esempio 123456). Questi valori sono specifici del proprio gateway e differiranno dagli esempi mostrati.
La password monouso viene rinnovata periodicamente per motivi di sicurezza. In caso di errori di autenticazione, tornare alla SDA Console per recuperare la password corrente dalla finestra di dialogo di configurazione del gateway.
Stato del servizio
Dopo aver completato il processo di installazione e autenticazione, verificare che il servizio SDA Glue sia in esecuzione correttamente sul sistema.
Linux
Verificare lo stato del servizio utilizzando i comandi systemd:
sudo systemctl status sdaglue
Per monitorare l'output dei log in tempo reale e risolvere eventuali problemi:
sudo journalctl -efu sdaglue -n 100
Docker
I log del servizio possono essere recuperati dai container Docker con:
docker logs -n 100 --follow glue # tracks the latest 100 logs from the service
Windows
È possibile verificare il servizio tramite l'applicazione Servizi di Windows. Cercare "Servizi" nella barra di ricerca di Windows e individuare "SDA Glue" nell'elenco dei servizi. Il servizio dovrebbe risultare "In esecuzione" con tipo di avvio "Automatico".

Visualizzazione dei servizi attivi su Windows
I servizi di Windows generano registri eventi, accessibili nel Visualizzatore eventi, in Registri di Windows → Applicazione. Utilizzare la barra di ricerca per aprire il Visualizzatore eventi.

Accesso ai log di SDA Glue nel Visualizzatore eventi
Configurazione
SDA Glue consente di modificare il proprio comportamento per funzionare in modo ottimale all'interno dello specifico ambiente di rete. Queste regolazioni della configurazione garantiscono una connettività affidabile indipendentemente dalle caratteristiche peculiari della rete industriale, sia in presenza di server proxy, restrizioni firewall o protocolli di comunicazione diversi.
Per controllare il servizio si utilizzano variabili d'ambiente. Le modifiche alla configurazione richiedono il riavvio del servizio per avere effetto. Le variabili d'ambiente mantengono la stessa convenzione di denominazione dei parametri di configurazione, ma utilizzano il prefisso GLUE e sono separate da underscore:
log.level -> GLUE_LOG_LEVEL
webui.enabled -> GLUE_WEBUI_ENABLED
Visualizzare i parametri di configurazione correnti:
# Linux & Windows
sdaglue config describe
# Docker
docker exec glue sdaglue config describe
Impostazione dei parametri:
# Linux & Windows
sdaglue config set --log.level debug --webui.enabled true --webui.port 8080
# Docker
docker exec sdaglue config set --log.level debug --webui.enabled true --webui.port 8080
Recupero dei parametri:
# Linux & Windows
sdaglue config list
# Docker
docker exec sdaglue config list
Riavvio del servizio dopo le modifiche:
# Linux & Windows
sdaglue service restart
# Docker
docker exec glue sdaglue service restart # or
docker restart glue
Protocollo di trasporto MQTT
Una delle decisioni di configurazione più importanti riguarda la modalità di comunicazione del gateway con i servizi SDA Cloud. SDA Glue supporta due protocolli di trasporto, ciascuno progettato per ambienti di rete diversi:
| Trasporto | Protocollo | Porta | Caso d'uso |
|---|---|---|---|
| MQTT | SSL / TCP | 443 | Reti standard con accesso diretto a Internet |
| MQTT over WebSocket | WebSocket Secure (TCP) | 443 | Reti con proxy trasparenti o ispezione SSL |
Per il trasporto WebSocket:
# Linux & Windows
sdaglue config set --iot.transport websocket
# Docker
docker exec glue sdaglue config set --iot.transport websocket
Per il trasporto MQTT standard:
# Linux & Windows
sdaglue config set --iot.transport mqtt
# Docker
docker exec glue sdaglue config set --iot.transport mqtt
Se il servizio è già autenticato e connesso, il nuovo protocollo di trasporto avrà effetto solo dopo il successivo riavvio del servizio.
Quando utilizzare il trasporto WebSocket
Proxy trasparenti: alcune reti aziendali utilizzano proxy trasparenti che intercettano e analizzano il traffico di rete. Questi proxy possono interferire con le connessioni MQTT SSL standard, ma in genere consentono il passaggio delle connessioni WebSocket senza problemi.
Firewall restrittivi: le reti con deep packet inspection o filtraggio rigoroso dei protocolli possono bloccare il traffico MQTT consentendo invece le connessioni WebSocket, che appaiono simili al normale traffico web.
Policy di rete aziendali: alcune organizzazioni applicano policy che limitano i protocolli non HTTP, rendendo il trasporto WebSocket la scelta preferibile per la conformità.
Server proxy
Quando la rete richiede che tutto il traffico Internet passi attraverso un server proxy specifico, SDA Glue deve essere configurato con i dati del proxy per stabilire le connessioni con i servizi SDA Cloud. Ciò è particolarmente comune negli ambienti aziendali in cui l'accesso diretto a Internet è limitato per motivi di sicurezza.
Gli indirizzi proxy seguono il formato standard: scheme://username:password@hostname:port
- Schema: normalmente
http://ohttps:// - Username/Password: credenziali di autenticazione (se richieste dal proxy)
- Hostname: l'indirizzo del server proxy
- Porta: il numero di porta del server proxy
È necessario configurare le impostazioni proxy sia per HTTP sia per HTTPS, per coprire completamente le esigenze di comunicazione di SDA Glue.
Se il server proxy non richiede autenticazione, è sufficiente omettere nome utente e password:
proxy_server="http://proxy.company.com:8080"
Linux
proxy_server="http://username:password@proxy.company.com:8080"
sdaglue config set --proxy.http=$proxy_server --proxy.https=$proxy_server
# Restart the service to apply changes
sdaglue service restart
Docker
proxy_server="http://username:password@proxy.company.com:8080"
docker exec glue sdaglue config set --proxy.http=$proxy_server --proxy.https=$proxy_server
# Restart the container to apply changes
docker restart glue
Windows
$ProxyServer="http://username:password@proxy.company.com:8080"
sdaglue.exe config set --proxy.http=$ProxyServer --proxy.https=$ProxyServer
# Restart the service to apply changes
sdaglue.exe service restart
Problemi comuni
Rete aziendale con proxy trasparente
Problema: il gateway si connette inizialmente ma si disconnette frequentemente o presenta una connettività instabile.
Soluzione: passare al protocollo di trasporto WebSocket.
Ambiente con firewall restrittivo
Problema: il gateway non riesce a stabilire la connessione iniziale con i servizi SDA Cloud.
Soluzione: configurare il trasporto WebSocket e verificare che le connessioni HTTPS in uscita siano consentite sulla porta 443.
Server proxy con autenticazione
Problema: il gateway non riesce a connettersi attraverso il proxy aziendale che richiede autenticazione.
Soluzione: configurare entrambe le impostazioni proxy con le credenziali di autenticazione corrette e riavviare il servizio.
Con queste opzioni di configurazione impostate correttamente, il servizio SDA Glue si adatterà al proprio ambiente di rete e manterrà una connettività affidabile verso i servizi SDA Cloud, consentendo un accesso sicuro ai dispositivi industriali.