PROJET AUTOBLOG


Shaarli - Les discussions de Shaarli

Archivé

Site original : Shaarli - Les discussions de Shaarli du 23/07/2013

⇐ retour index

F-Droid - OpenVPN for Android - OpenVPN without root

samedi 1 août 2015 à 21:52
GuiGui's Show - Liens
OpenVPN sous Android sans l'appli bullshit (mais VPNService quand même) de Google ? C'est (presque) possible.

1) Installer son serveur OpenVPN ou souscrire à un service OpenVPN existant. Dans mon cas, j'utiliserai mon VPN ARN (http://arn-fai.net/node/49)

2) Transférer le fichier de configuration (.conf) sur l'ordiphone. J'utilise le même fichier de conf' que sur mon desktop, c'est-à-dire, celui fourni par ARN (https://wiki.ldn-fai.net/wiki/Tuto_Client_OpenVPN#Config_ARN). Pour transférer ce fichier sur la carte SD de mon ordiphone, j'utilise gmtp (voir : http://news.softpedia.com/news/How-to-Transfer-Files-from-Ubuntu-to-Android-341722.shtml). Si le fournisseur de VPN utilise une authentification par certificat, il faudra aussi transférer les fichiers suivants : votre certificat (.crt) et la clé privée associée (.key) ainsi que le certificat de l'autorité de certification (AC) du fournisseur de VPN.

3) Lancer l'application OpenVPN sur l'ordiphone et ouvrir (importer) le fichier de configuration comme indiqué sur l'écran d'accueil. Si le fournisseur de VPN utilise une authentification par certificat, il faudra changer les chemins vers la clé privée, votre certificat et le certificat d'AC du fournisseur de VPN car, dans le fichier de conf', les chemins sont différents de ceux sur votre desktop. C'est les gros boutons « sélectionner » juste après l'import de la conf'.

4) Si vous utilisez Netfilter en firewall, il faudra autoriser OpenVPN à établir des connexions via le WiFi ou 3G/4G, avec l'application afwall+, par exemple.

5) Lancer le VPN depuis l'interface d'OpenVPN. À ce stade là, vous avez un VPN IPv4 fonctionnel. Si vous utilisez Netfilter, pensez à autoriser vos applications (firefox, par exemple) à utiliser le VPN. ;)

6) Pour IPv6, c'est plus compliqué.
   Sous Cyanogen, il suffit simplement d'ajouter « tun-ipv6 » dans les paramètres du VPN, onglet « avancé », bouton « Options personnalisées » pour que ça fonctionne. Si votre fournisseur de VPN vous fourni un /xx (exemple : /56 chez ARN) en plus de votre IPv6 d'interconnexion et que vous voulez en profiter, il faudra aussi ajouter une ligne du type : « ifconfig-ipv6 <IPv6_dans_subnet_alloué>/xx <IP_gw> » en sachant que la gw se trouve dans le réseau d'interconnexion, normalement.

   Sous un Android KitKat (4.4.X) classique, rooté ou non, « tun-ipv6 » fera qu'OpenVPN configurera l'IP fournie par le serveur OpenVPN sur l'interface tun mais les routes sont totalement défectueuses (message dans le log OpenVPN sur l'ordiphone : « add_route_ipv6(::/0 -> <gw_fournisseur> metric -1) dev (null)). Il est donc possible de joindre l'ordiphone depuis le serveur OpenVPN mais même pas l'inverse ! Il n'est donc pas possible d'accèder à Internet en IPv6 dans un VPN ! Confirmations du problème : dans la doc officielle (https://community.openvpn.net/openvpn/wiki/IPv6) et chez un fournisseur de VPN (http://blog.igwan.net/post/2013/04/11/Un-tunnel-IPv6-pour-votre-Android-%28non-root%C3%A9%29).

On remarquera que ce « bug » dure depuis novembre 2013... C'est fonctionnel dans Android 5.0 (Lollipop)... Comme si j'avais envie de mettre à jour mon ordiphone pour risquer de perdre mon accès root...


Notes :
 * L'appli OpenVPN for Android parle de « redirection de ports » quand il s'agit d'ajout de route pour englober tout ou partie du trafic... C'est confusion sémantique profonde est dommageable à la compréhension de l'utilisateur, c'est dommage.

 * On notera que VPNService masque les routes. Faites un ip r s / ip -6 r s depuis un terminal (busybox) ou depuis un Debian (voir http://shaarli.guiguishow.info/?6y0PtQ) : on ne voit pas les routes ajoutées par le VPN. Pourtant, un traceroute confirme qu'on sort par le VPN...

 * IPv6, c'est pour demain, quoi qu'en dise les promoteurs de « IPv6 c'est aujourd'hui ». :((((

 * On est dépendant d'un service Google (VPNService) encore une fois et voilà les dégâts... Même sur un ordiphone rooté... Allôôôô. C'est dingue le pouvoir que les constructeurs ont à partir des choix techniques qu'ils font et des bugs qu'ils acceptent de corriger ou non... Genre là Igwan, FAI associatif de la FFDN proposait des VPN spécialement orientés pour fournir de l'IPv6 sur les ordiphones et ils ne peuvent plus... C'est du même acabit que Charlie Hebdo qui s'est auto-censuré de produire une application pour les produits Apple car ils savaient qu'ils seraient censuré par la morale puritaine de Jobs. C'est une atteinte au commerce. La neutralité des réseaux, c'est aussi la neutralité des terminaux d'accès ! C'est important.
(Permalink)