LAZIOMATICA – Guida allo Sviluppo Software

La nuova forma del software su misura…

 

HOW TO – Configurare OpenVpn su Samsung Galaxy S I9000 Android 2.2 FROYO.RSJP5 con certificati e dhcp.

Fare un backup del firmware e dei dati del cellulare.
Studiare il funzionamento dello strumento ADB.
Studiare la sintassi dei più semplici comandi Linux: SU, CP, MOUNT, MKDIR, RM, CHMOD, LS, CD, DF.

Attrezzi necessari all’intervento

Piattaforma di sviluppo per android installata sul nostro PC con i driver usb per il nostro dispositivo e ADB.
Cavo usb di connessione PC telefono.
Attivare modalità Debug USB sul cellulare (dalla home selezionare Menu, Applicazioni, Sviluppo: in sviluppo spuntare le voci Debug USB e Resta attivo).
Scaricare dal market:
Z4Root di Ryanza (contiene già il pacchetto BusyBox) necessario per ottenere l’accesso root del telefono
Openvpn installer
Openvpn settings
Scaricare il driver interfaccia tunneling chiamato tun-I9000-JPK.zip scompattarlo e copiarlo su una cartella facilmente raggiungibile ad esempio (per windows) C:\scambio\
Copiare in C:\scambio\ i file di configurazione della nostra openvpn e le chiavi: miavpn.conf, ca.crt, miocert.crt, miakey.key, ta.key

Si può scaricare il pacchetto Busybox ed effettuare il root del telefono in altri modi, ma per il nostro esperimento abbiamo utilizzato Z4Root.
A questo punto abbiamo tutto il necessario.

Partiamo con l’istallazione di Z4Root al termine del processo eseguiamo l’applicazione; a questo punto ci vengono proposte due modalità di root:
root temporaneo
root definitivo
Noi abbiamo utilizzato il root temporaneo; i contro di questa scelta sono che ogni volta che riavviamo il cellulare dobbiamo nuovamente procedere con l’operazione di root se vogliamo che Openvpn funzioni, ma è sicuramente meno impattante del root definitivo; sta a voi decidere.
Per prima cosa colleghiamo il cellulare al nostro PC ed eseguiamo il comando ADB SHELL:
una volta aperta la console, digitiamo il comando SU per ottenere l’accesso come root; se tutto funziona correttamente, il cellulare ci avviserà che l’utente “uknown” ha ottenuto diritti di root;
a questo punto dobbiamo lanciare il comando seguente: mount -o rw,remount /dev/block/mtdblock3 /system
Questo comando rende la cartella /system del nostro cellulare scrivibile.
Fin qui non si dovrebbero incontrare difficoltà; se ci fossero problemi con il comando “mount” da console, possiamo ottenere lo stesso risultato aprendo una seconda finestra terminale (mac) o prompt msdos (windows) e digitando il comando ADB REMOUNT che effettuerà la modifica per noi.
Ora prepariamo le cartelle necessarie per Openvpn installer:

anciamo il comando: “/system/xbin/mkdir /system/xbin/bb” (crea la cartella bb in /system/xbin)
lanciamo il comando: “/system/xbin/mkdir /mnt/sdcard/openvpn”  (crea la cartella openvpn in /mnt/sdcard/)
lanciamo il comando: “ln -s /system/bin/busybox /system/xbin/bb/ifconfig”
lanciamo il comando: “ln -s /system/bin/busybox /system/xbin/bb/route”

Una volta ottenuto l’accesso root, eseguiamo Openvpn installer con le seguenti opzioni di installazione che ci verranno chieste durante il processo:
Directory di installazione del binario: /system/xbin
directory per i comandi ifconfig e route: /system/xbin/bb (non chiudete la finestra di report dell’istallazione)

Esaminiamo i log dell’installer (reperibili premendo il tasto menu e show log) cercando di individuare eventuali errori nell’istallazione, se è tutto ok andiamo avanti.
Installiamo “openvpn settings”

Apriamo una seconda finestra terminale da cui lanciare i seguenti comandi per inviare files al nostro dispositivo:

ADB PUSH C:\scambio\tun.ko (o la nostra cartella locale/tun.ko) /mnt/sdcard/openvpn     (con questo comando piazziamo il file tun.ko precedentemente scaricato nella cartella openvpn creata in precedenza)

ripetiamo il tutto per i file di configurazione e le chiavi:

ADB PUSH C:\scambio\miavpn.conf /mnt/sdcard/openvpn
ADB PUSH C:\scambio\miakey.key /mnt/sdcard/openvpn
ADB PUSH C:\scambio\miocert.crt /mnt/sdcard/openvpn
ADB PUSH C:\scambio\ca.crt /mnt/sdcard/openvpn
ADB PUSH C:\scambio\ta.key /mnt/sdcard/openvpn

riportiamo la cartella /system in sola lettura con il comando:  mount -o ro,remount /dev/block/mtdblock3 /system

Lanciamo openvpn settings e configuriamo:

Il percorso dei files di configurazione e dei certificati che nel nostro caso è /mnt/sdcard/openvpn

alla voce “load tun kernel module” configuriamo: il percorso del driver tun.ko che nel nostro caso è /mnt/sdcard/openvpn
alla voce “tun module settings” configuriamo: “load tun using” con “insmod” e path to tun module “mnt/sdcard/openvpn/tun.ko”
In openvpn configurations ci troviamo il miavpn.conf già visibile: a questo punto se tutto è andato bene, in openvpn settings spuntiamo la voce ” openVPN” e poi “miavpn.conf”.
Il dispositivo cercherà ora di attivare il tunnel vpn e se tutto è configurato correttamente apparirà nella barra delle notifiche: “VPN connecting”, mentre sulla linguetta identificativa “miavpn.con” in sequenza: resolve, Auth, getconfig ed infine connected to “ipserverVPN” as “ipdispositivo” e la chiavetta nella barra
delle notifiche apparirà illuminata, ad indicare che la connessione è correttamente stabilita.

Possibili errori:

Errore 1
“openvpn cannot allocate the device TUN/TAP dynamically” – il modulo tun non è caricato o è caricato un modulo non compatible con il dispositivo.

Soluzione 1: verificare la correttezza dei settari per il caricamento del modulo tun ed in particolare che venga utilizzato il metodo insmod
Soluzione 2: scaricare un modulo compatibile

Errore 2
Qualsiasi cosa clicchiamo in openvpn settings non accade nulla o l’app si chiude – istallazione del binario openvpn non riuscita o binario corrotto. La maggior parte delle volte si è commesso un errore nella fase di istallazione.

Soluzione 1: verificare la correttezza dell’istallazione ripeterla partendo dal root del telefono e seguire passo passo tutti i comandi così come indicato sopra.
Soluzione 2: scaricare un binario funzionante

Errore 3
La vpn sembra partire arriva a “connected to “ipserverVPN” as” ma non viene indicato l’ip del dispositivo dopo la voce “as” e la vpn non sembra funzionare. La maggior parte delle volte l’errore è nel file conf e nelle voci relative al push della configurazione ip da parte del server VPN;
ciò è dovuto al fatto che il modulo tun non supporta le opzioni pull o pus.

Soluzione: verificare il file con e modificarlo nelle voci relative alla richiesta della configurazione di rete, commentando i comandi pull o pus per verificare che funzioni il resto.

Errore 4
“cannot execute command ifconfig”. Ciò è dovuto ad un’errata configurazione o errata creazione dei link simbolici ai file ifconfig e ruote; nello specifico, stiamo utilizzando i file del ns dispositivo che però non sono compatibili con openvpn e che si trovano in /system/bin.

Filed under : Android,Linux,MOBILE,Open VPN,scripts
By mezzetto
On 25 febbraio 2011
At 12:58
Comments : 0
 
 

Endian Firewall Community and issues with the proxy: Connection reset by peer error 104

If your users behind Endian FW Proxy are getting “read error (104) connection reset by peer” when loading content, try to check if your proxy work fine browsing https://google.com ( works fine with ssl), but you get the 104 error otherwise, you have to update your blacklist for dansguardian because one of the blacklists updated on 10 feb 2011 is totally invalid.
Check for updates, fix manually or you can disable to content filter until you have a chance to update.

Filed under : Endian Firewall,Firewall,Linux
By admin
On 12 febbraio 2011
At 10:58
Comments : 0