Premessa
L’installazione di OpenVPN su Android è un operazione che presuppone un minimo di esperienza con la shell di Linux. Non è un operazione estremamente complessa ma prima di iniziare è necessario provvedere ai seguenti prerequisiti:
- Accesso root.
- Android SDK correttamente installato.
- BusyBox installato su Android.
- Modulo tun.ko compatibile con la versione kernel di Android.
Il seguente tutorial è stato testato con successo su Galaxy S – Froyo (vers. kernel 2.6.32.9) con questo modulo tun.ko.
Utilizzo di adb
Per completare il tutorial si rende necessario l’utilizzo di un utility di Android SDK: adb. Questa utlity permette di collegarsi direttamente alla shell di Android o di scrivere e leggere il filesystem del device.
L’utility adb si trova in android-sdk\platform-tools; I comandi più utilizzati sono:
1 | adb shell |
adb shell
Permette di collegarsi alla shell di Android
1 | adb push file_locale file_remoto |
adb push file_locale file_remoto
Permette di copiare file dal computer locale sul device remoto
Installazione OpenVPN Installer/Settings
- Scaricare dal market ed installare OpenVPN Installer e OpenVPN Settings di Friedrich Schauffelhut.
- Settare OpenVPN Settings nella maniera seguente (menu Advanced) :
- Tramite OpenVPN Installer eseguite l’installazione dei binari indicando come path di installazione /system/xbin/ e come path per ifconfig/route /system/xbin/bb/
Installazione e test modulo tun.ko
Come già anticipato nelle premesse, per il corretto funzionamento di OpenVPN vi serve un modulo tun.ko compatibile con la vs. versione kernel. Il modulo che vi riporto qui è stato testato con successo su Galaxy S – Froyo (vers. kernel 2.6.32.9).
- Copiare il file tun.ko in /sdcard/tun.ko tramite adb:
1 | adb push C:\tun.ko /sdcard/tun.ko |
adb push C:\tun.ko /sdcard/tun.ko
Per verificare se il modulo funziona correttamente:
1 | adb shell |
adb shell
1 | $insmod /sdcard/tun.ko |
$insmod /sdcard/tun.ko
Ulteriori configurazioni
Prima di effettuare un test di connessione bisogna provvedere a creare la cartella /system/xbin/bb/ dove posizionare i link simbolici a ifconfig e route (Sebbene l’installer chieda il percorso di ifconfig e route, openvpn non funziona se non li trova in tale directory). Di seguito riporto i comandi presupponendo che BusyBox sia installato su /system/xbin/:
1 | adb shell |
adb shell
1 2 3 4 5 | $su #mount -o remount,rw /system /system #mkdir /system/xbin/bb #ln -s /system/xbin/ifconfig /system/xbin/bb/ifconfig #ln -s /system/xbin/route /system/xbin/bb/route |
$su #mount -o remount,rw /system /system #mkdir /system/xbin/bb #ln -s /system/xbin/ifconfig /system/xbin/bb/ifconfig #ln -s /system/xbin/route /system/xbin/bb/route
Infine copiare i file di configurazione di OpenVPN (ovvero il file conf e tutti i certificati) nella directory /sdcard/openvpn/.
A questo punto abbiamo finito di configurare il tutto e possiamo provare tramite OpenVPN Settings ad avviare la connessione.
Nel prossimo articolo andremo ad affrontare alcune delle problematiche di installazione più comuni.
Un ringraziamento particolare va all’amico Giulio Evangelisti.
Alla prossima !













Written by jef
Topics: Android