====== OpenVPN su terminale Android ======
Semplice configurazione di una VPN con **file di configurazione statici**, tra **host GNU/Linux** con **OpenVPN** e un terminale **Android** con la app **[[https://play.google.com/store/apps/details?id=de.blinkt.openvpn|OpenVPN for Android]]**. La VPN viene usata solo per **accedere ad alcune reti locali** raggiungibili del server, la navigazione internet del teminale Android avviene sulla sua normale connessione.
Alcune limitazioni riscontrate:
* L'opzione **%%--pull%%** sul client pare non funzionare. Le opzioni **%%--route%%** e **%%--ifconfig%%** devono essere contenute nel file di configurazione caricato su Android, non funzionano se vengono passate con **%%--push%%** dal server.
* Alcune **richieste DNS** relative alla normale attività del terminale Android vengono instradate nel tunnel. Tali richieste in generale falliscono, a meno che il server non ne faccia il corretto instradamento. Tuttavia questo non compromette il normale accesso ad internet del terminale Android.
===== Configurazione del server =====
Si crea un file di configurazione opportuno **/etc/openvpn/android.conf**:
verb 3
mute 3
proto udp
lport 5011
dev tun11
tun-mtu 1500
ifconfig 172.16.11.1 172.16.11.2
secret android.key
ping 20
persist-tun
persist-key
user nobody
group nogroup
Si deve creare anche il file con la preshared key **/etc/openvpn/android.key**:
openvpn --genkey --secret android.key
===== Configurazione del terminale Android =====
Tutta la configurazione viene salvata in un unico file di testo **LinuxVPN.ovpn**:
resolv-retry infinite
proto udp
remote server.linux.rigacci.org
rport 5011
dev tun
tun-mtu 1500
ifconfig 172.16.11.2 255.255.255.255
route 192.168.1.0 255.255.255.0 vpn_gateway
route 10.7.64.0 255.255.255.0 vpn_gateway
ping 20
ping-restart 180
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
d4c50c36657da74c317d8ac6fa55f77b
bb4d497b7a84b9522d7ed52c921de232
e28ead562b7584146d074a7cdd7f0686
...
e3dc536106296ed376e81b28517933fe
eab6c244bfcff7bd9fb4e033a75910e0
936dae26b432478fd300082c36d7658f
-----END OpenVPN Static key V1-----
Il file va trasferito sul terminale android, quindi dall'APP si provvede ad importare il file:
{{.:openvpn:openvpn_android_1.png?direct&160|Importazione configurazione}}
{{.:openvpn:openvpn_android_2.png?direct&160|Risultato dell'importazione}}
È possibile verificare la configurazione che viene generata a seguito dell'importazione del file. Dopo il parsing del file .ovpn, questo può essere rimosso dalla cartella Android.
{{.:openvpn:openvpn_android_3.png?direct&160|Modifica configurazione esistente}}
{{.:openvpn:openvpn_android_4.png?direct&160|Configurazione generata dall'importazione}}
Facendo tap sul nome della VPN, questa viene avviata ed è possibile leggere il log:
{{.:openvpn:openvpn_android_5.png?direct&160|Log di una sessione OpenVPN}}