Connettività VPN — Configurazione e Setup
Crea un tunnel WireGuard dedicato tra il tuo impianto e Rela AI, scarica la configurazione adattata alla tua apparecchiatura, e verifica che il PLC raggiunga la piattaforma.
Connettività VPN
Un tunnel WireGuard dedicato tra il tuo impianto e il nostro concentratore. Noi non entriamo mai nella tua rete; tu apri un canale minimo che lascia passare solo il traffico verso la subnet OT dove vive il tuo PLC.
A cosa serve
I PLC vivono dietro il firewall dell'impianto. Perché Rela AI possa leggere i suoi registri Modbus, OPC UA, S7 o EtherNet/IP, serve un modo per attraversare il firewall senza esporre il PLC a Internet. La VPN self-service risolve questo con un tunnel dedicato, tracciabile e revocabile in pochi secondi — senza toccare la tua VPN aziendale né aprire porte pubbliche.
Come funziona
- Vai a
Impostazioni → Connettività VPNnel dashboard. - Dai un nome al tunnel (ad esempio "Impianto Torino") e premi Crea.
- Ti assegniamo automaticamente una subnet privata
/24nel range10.200.0.0/16. - Scegli la tua apparecchiatura (pfSense, OPNsense, Mikrotik, Ubiquiti, Linux, Windows, Docker) e scarichi la configurazione adattata.
- La incolli nel tuo router/firewall — una sola volta.
- Al primo handshake (10–30 secondi dopo), il dashboard mostra Connesso e puoi creare fonti Modbus che puntano all'IP privato del tuo PLC.
La chiave privata del tuo lato del tunnel non lascia mai il tuo equipaggiamento: se cambi fornitore, la cancelli e in pochi secondi non raggiungiamo più la tua rete.
Benefici
| Isolamento stretto IT/OT | Il tunnel raggiunge solo la subnet OT. Niente ERP, niente email, niente stampanti. Conforme a IEC 62443 e Purdue Model. |
| Self-service completo | Il cliente incolla una configurazione e basta — senza intervento del nostro team di supporto, senza ticket, senza attese. |
| Revoca istantanea | Rimuovi il peer dal dashboard o dal router e il traffico si interrompe in pochi secondi. |
| Audit-friendly per compliance | Ogni handshake è registrato con public key, timestamp e volume di byte. SOC 2, ISO 27001 e IEC 62443 conformi. |
| Senza licenze per-seat | WireGuard è open source. Non paghi Cisco AnyConnect né Fortinet per ogni connessione. |
Onboarding del tunnel — passo per passo
1. Creare il peer nel dashboard
Vai a /settings/connectivity e clicca Crea tunnel. Assegna un'etichetta leggibile che identifichi l'impianto (ad esempio "Impianto Milano Nord"). Al momento della creazione il sistema:
- Ti assegna una subnet privata unica (
10.200.X.0/24). - Genera una coppia di chiavi WireGuard. La chiave privata viene cifrata con GCP KMS e servita una sola volta al download.
- Pubblica un evento al concentratore per accettare il tuo peer.
2. Scaricare la configurazione per la tua apparecchiatura
Sopra il pannello appare un selettore di 7 apparecchiature. Scegli la tua:
| Apparecchiatura | File scaricato | Come si applica |
|---|---|---|
| pfSense 2.7+ | rela-vpn-pfsense.xml | VPN → WireGuard → Tunnels → Import XML |
| OPNsense | rela-vpn-opnsense.xml | VPN → WireGuard → Endpoints → Import |
| Mikrotik RouterOS 7 | rela-vpn-mikrotik.rsc | Terminal → Incolla script riga per riga |
| Ubiquiti EdgeRouter | rela-vpn-ubiquiti.cfg | SSH → Copy/paste batch configure...commit...save |
| Linux / Raspberry Pi | rela-vpn.conf | sudo wg-quick up rela-vpn + systemctl enable wg-quick@rela-vpn |
| Windows | rela-vpn.conf | App WireGuard Tunnel → Import tunnel(s) from file |
| Docker Compose | docker-compose.yml + rela-vpn.conf | docker compose up -d nella directory |
3. Applicare sul router e validare
Una volta incollata la configurazione e attivata l'interfaccia, il tunnel esegue un handshake ogni 25 secondi (PersistentKeepalive). Il primo arriva tipicamente entro 10–30 secondi.
Nel dashboard vedrai il widget cambiare:
- Connessione in attesa (stato iniziale).
- Connesso (primo handshake arrivato — pronto).
- Nessuna connessione recente (handshake più vecchio di 5 minuti — controlla il router).
4. Creare la fonte Modbus/OPC UA
Una volta connesso il tunnel, puoi creare una fonte che punta all'IP privato del PLC sulla tua rete interna. Il routing è automatico: qualsiasi pacchetto al range 10.200.0.0/16 esce dal tunnel.
Dettagli per apparecchiatura
pfSense
Apri l'XML scaricato e copia il contenuto. Nella console web del router:
- VPN → WireGuard → Tunnels.
- Clic sul pulsante Import (icona caricamento file).
- Incolli l'XML e Save.
- L'interfaccia si attiva automaticamente; in Status → WireGuard vedi il peer e l'ultimo handshake.
- Verifica che in Firewall → Rules ci sia una regola che permetta il traffico tra la LAN OT e l'interfaccia
rela_vpn.
OPNsense
Stessa idea di pfSense ma il percorso del menu è VPN → WireGuard → Instances:
- VPN → WireGuard → Instances → Add.
- Copi i valori dall'XML manualmente (OPNsense non ha un importatore XML diretto per WireGuard — in sua assenza, usa i valori del file).
- VPN → WireGuard → Peers → Add, incolli la pubkey del server.
- Attiva l'interfaccia in Interfaces → Assignments.
Mikrotik RouterOS 7+
Apri il Terminal (WinBox o SSH) e incolla riga per riga il contenuto di rela-vpn-mikrotik.rsc. Lo script crea:
- Un'interfaccia WireGuard
rela-vpn. - Un address su quell'interfaccia.
- Un peer che punta al concentratore con
allowed-addressdella nostra subnet. - Una route statica verso
10.200.X.0/24viarela-vpn.
Poi controlla /interface wireguard peers print — last-handshake dovrebbe essere sotto i 30 secondi.
Ubiquiti EdgeRouter / EdgeOS
SSH al router e incolla il batch configure... set... commit... save... exit. Se al salvataggio dà errore, verifica di avere il pacchetto WireGuard installato (EdgeOS 2.x lo include nativamente; v1.x richiede un .deb manuale).
Linux / Raspberry Pi
sudo mv ~/Downloads/rela-vpn.conf /etc/wireguard/rela-vpn.conf
sudo chmod 600 /etc/wireguard/rela-vpn.conf
sudo wg-quick up rela-vpn
sudo systemctl enable wg-quick@rela-vpnIl systemctl enable fa sì che il tunnel sopravviva a un riavvio.
Windows
- Scaricare il client ufficiale: wireguard.com/install/
- Add Tunnel → Import tunnel(s) from file → selezioni
rela-vpn.conf. - Clic su Activate.
- Windows Services → Run on startup perché si riattivi al boot.
Docker Compose
Metti docker-compose.yml e rela-vpn.conf nella stessa directory. Poi:
docker compose up -d
docker compose logs -f rela-vpnSe il container muore per mancanza di capabilities, assicurati che l'host supporti NET_ADMIN e SYS_MODULE (qualsiasi Linux moderno lo fa).
Troubleshooting
L'handshake non arriva mai
- Verifica che l'UDP 51820 in uscita non sia bloccato dal tuo firewall o ISP.
- Controlla che la pubkey mostrata dal tuo router sia quella generata dal dashboard (il copy-paste a volte taglia caratteri).
- Se il router è dietro NAT, assicurati che
PersistentKeepalive = 25sia attivo perché il NAT non chiuda il mapping.
Handshake attivo ma il traffico non arriva al PLC
- Verifica che PLC e router siano nella stessa subnet.
- Su pfSense/OPNsense: Firewall → Rules → WireGuard interface deve avere una regola di
Allowtra la LAN OT e il router. - Su Mikrotik:
/ip route printdeve mostrare la route10.200.X.0/24 → rela-vpn.
Il dashboard dice "Nessuna connessione recente"
- Il tuo router ha perso il tunnel. Cause comuni: cambio di IP pubblico (DHCP dell'ISP), reboot del router senza
systemctl enable, black-out. - Controlla i log del router. Su Linux:
sudo journalctl -u wg-quick@rela-vpn.
Perché non usiamo la tua VPN aziendale?
Questa è la domanda più frequente del tuo team IT. La risposta breve è: per sicurezza, per compliance, e perché la tua VPN aziendale è pensata per umani, non per macchine. Le 9 ragioni tecniche dettagliate sono in Perché un tunnel dedicato?.
Protocolli Industriali (Modbus, S7, EtherNet/IP)
Collega l'agente direttamente a PLC e inverter via Modbus TCP, S7comm (Siemens S7-1200/1500) ed EtherNet/IP (Allen-Bradley). Lettura e scrittura senza gateway.
Come testare che la VPN funzioni
Checklist tecnico per validare end-to-end il tunnel WireGuard con Rela AI: dal primo handshake alla lettura del PLC, con comandi copy-paste e troubleshooting per categoria.