I clienti di EMnify possono creare la loro Virtual Private Network per connettersi in maniera sicura ai propri dispositivi mobili IoT/M2M. Il traffico dati fluirà tra i dispositivi e il server applicativo (application server) tramite un tunnel OpenVPN, permettendo la comunicazione diretta con gli indirizzi IP dei dispositivi mobili (Non viene applicata la NAT).
Il tunnel VPN viene instaurato tra la rete core di EMnify e il VPN gatway o il server del cliente.
Tutto il traffico scambiato con i dispositivi mobili viene criptato prima di essere trasmesso attraverso Internet, aggiungendo quindi un ulteriore livello di protezione per maggiore sicurezza e privacy. Per questo non è necessario installare alcun software VPN sul dispositivo o applicare cambi di configurazioni. L'APN EMnify di default supporta il traffico VPN.
Installazione e configurazione del Client OpenVPN su Linux/Ubuntu
Installazione del software OpenVPN
Installate il package openvpn con il seguente comando:
|
Download e installazione dei file di configurazione della VPN
Accedete con le vostre credenziali al portale EMnify (EUI) e selezionate la tab "Integrazioni"
Da qui scorrendo verso il basso troverete la sezione "Connessione Sicura, OpenVPN, Mostra Istruzioni"
Scegliete "Linux" e sulla destra cliccate sul menù Download client.conf da cui scaricare uno dei file di configurazione con estensione .conf già compilato.
Selezionare per esempio eu-west-1 se intendete utilizzare come punto di Break out dalla rete core di EMnify quello in Europa.
Copiate il file di configurazione (in formato .conf) nella cartella /etc/openvpn.
Creazione delle credenziali di accesso
Create un file chiamato per esempio credentials.txt nella cartella /etc/openvpn. Questo conterrà le informazioni per autenticare la vostra sessione. Esistono due metodi di autenticazione:
- tramite le credenziali di accesso all'EUI (ideale per l'accesso di più utenti della stessa organizzazione simultaneamente)
- tramite un application token
Autenticazione con le credenziali di accesso all'EUI
Il file credentials.txt deve contenere solo due linee. Nella prima linea verrà inserito l'indirizzo mail con cui si è creata l'utenza sull'EUI, nella seconda riga la relativa password di accesso. Un esempio di file è il seguente:
|
Autenticazione con un application token
Quando si utilizza il client OpenVPN verso un gateway VPN o un server applicativo si raccomanda di generare un application token dedicato. In questo caso, la prima linea del file credentials.txt deve essere riempita con il vostro identificativo dell'organizzazione (organisation ID) mentre la seconda linea deve contenere l'application token.
L'organisation ID si trova sul pannello di guida all'installazione
L'application token invece si genera cliccando sul bottone "Create Application Token" che si trova fra le voci di "Integrazioni"
-->
Una volta generato l'application token bisogna copiarlo e incollarlo nella seconda riga del file credentials.txt. Ora il vostro file avrà il seguente aspetto
|
Proteggere il file delle credenziali
Dovreste tenere il file credentials.txt leggibile solo da root e non da altri utenti del server. Potete assicurarvi di questo con i seguenti comandi:
|
Avviare e monitorare la connessione OpenVPN
Adesso potete avviare il client VPN eseguendo
|
Il demone openvpn scriverà il file di log nella cartella /var/log/syslog. Se tutto funziona regolarmente si dovrebbe vedere quanto segue:
|
Trovare l'indirizzo IP statico del tuo client VPN
L'OpenVPN server di EMnify allocherà un indirizzo IP statico all'interfaccia tun del vostro client VPN. Questo indirizzo IP rimarrà lo stesso quando il vostro client VPN si riconnetterà o se indirizzerete il tunnel VPN verso un'altra macchina. Così potrete usarlo sui vostri dispositivi mobili per indirizzare la vostra applicazione. Nonostante ciò non dovreste mai configurare l'indirizzo IP direttamente sui vostri dispositivi, ma usare un DNS per risolverlo.
Una volta che il tunnel è instaurato potete vedere quell'indirizzo IP nella vostra interfaccia tun:
|
Nell'estratto riportato l'indirizzo IP è 10.64.0.224
Testare il funzionamento della connessione dati
Se il tunnell VPN è stato instaurato con successo sarete in grado di connettervi direttamente all'indirizzo IP privato dei vostri dispositivi mobili. Per testare, potete scegliere uno qualsiasi dei vostri endpoint che ha una sessione dati attiva (indicato come ONLINE nel portale EMnify) e selezionare l'indirizzo IP assegnato dalla sezione con i dettagli.
Adesso siete in grado di effettuare il PING test dell'indirizzo IP provato appena selezionato
|
Affinché questo funzioni, il dispositivo deve eseguire uno stack IP che risponde alla richiesta ICMP echo. Questo potrebbe non accadere per i dispositivi embedded che implementano solo funzionalità di stack IP parziale.
Potrete usare qualsiasi protocollo di rete, per esempio se il vostro dispostivo esegue un demone sshd voi potete eseguire il log-in sul dispostivio via ssh.
Abilitare l'accesso a server dietro il client VPN
Se avete diversi server dietro al vostro VPN gateway che devono comunicare con il vostro dispositivo mobile, mascherarli usando le tavole IP per nascondere i server dietro al singolo indirizzo IP del vostro client VPN.
Per prima cosa dovete abilitare l'IP forwarding sul vostro VPN gateway (se non ancora attivo) facendo l'edit di /etc/sysctl.conf e impostando net.ipv4.ip_forward=1. Dopo caricate la configurazione con sudo sysctl -p /etc/sysctl.conf
In seguito dovete abilitare la mascheratura per l'interfaccia tun eseguendo
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Potete anche inoltrare delle connessioni provenienti da porte specifiche verso un application server che sta dietro al vostro gateway VPN usando DNAT, per esempio per fare il forward a un server HTTP interno con indirizzo IP 192.168.100.21 usate:
|
Se volete rendere queste configurazioni permanenti potete usare il pacchetto iptables-persistent.
Commenti
0 commenti
Accedi per aggiungere un commento.