OpenVPN sur le SGS2 grace a Cyanogen 7.1

J’ai joue avec cette installation hier et je me suis dit que j’allais partager tout ca. Je voulais tester les fonctionalites de Cyanogen avec OpenVPN sur mon Samsung Galaxy S2, j’ai pour cela utilise un serveur Debian (possedant une adresse publique). La premiere etape est bien sur d’installer OpenVPN sur le serveur et de le configurer. Une fois cette etape effectuee, vous pouvez executer les commandes suivantes, qui vous permettront de creer un lien symbolique vers le repertoire easy-rsa, puis de creer le CA et les certificats.

ln -s /usr/share/doc/openvpn/examples/easy-rsa/1.0 easy-rsa
cd easy-rsa
source ./vars 
./clean-all 
./build-ca 
./build-dh 
./build-key-server yourserver

Une fois tout cela termie, tout en verifiant que vous n’avez eu aucune erreur, vous pouvez creer le certificat pour votre premier client, tout en restant dans le meme repertoire, il suffit de taper : ./build-key-pkcs12 cm7. Dans cet exemple, cm7 est le nom que j’ai choisi.

Voici la configuration qui marche pour mon serveur OpenVPN, editez /etc/openvpn/server.conf. J’ai choisi TCP car il est plus efficace a maintenir une connexion lorsque vous etes en GPRS.

proto tcp
port 8443
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/yourserver.crt
key /etc/openvpn/easy-rsa/keys/yourserver.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
ifconfig-pool-persist ipp.txt
server 192.168.6.0 255.255.255.0 
keepalive 10 120
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
mssfix 1200 
tun-mtu 1200

L’etape interessante consiste ici a installer le certificat p12 que vous avez genere pour votre client, Cyanogen a bien une page sur le sujet mais ils ne detaillent pas ce point. Il vous faut copier le fichier p12 sur la racine de votre sdcard, Puis allez dans Settings/Location and Security/Storage Credentials/Install from SD Card. Une fois que vous avez selectionne le certificat, tapez le mot de passe utilise pendant la generation, vous pouvez ensuite selectionner un autre mot de passe pour le garder en securite.

Il ne vous reste alors qu’a parametrer votre client OpenVPN, allez dans Settings/Wireless & Networks/VPN Settings/Add VPN, puis definissez le nom du serveur, son IP puis les certificats, qui sont les memes pour CA et utilisateur. Allez ensuite dans la configuration avancee pour changer le port et le mode vers TCP. Un point interessant, cela n’a pas marche tant que je n’ai pas redemarre le telephone. Fix de merde mais bon…

Il ne vous reste qu’a redemarrer le serveur puis verifier les logs.