Installazione OpenVPN su Android (Galaxy S – Froyo)

Written by jef

Topics: Android

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) :

OpenVPN settings - Advanced

OpenVPN Settings - Tun Settings

  • 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 !

 

 

Leave a Comment Here's Your Chance to Be Heard!