Comment configurer OpenVPN sur CyanogenMod 7?

18

Je veux acheminer tout mon trafic réseau via la connexion FAI de mon domicile lorsque je suis dans des cybercafés afin que je ne puisse pas être écouté / écouté .

J'ai un HTC G2 avec CyanogenMod 7 , qui a un support client OpenVPN intégré :

entrez la description de l'image ici

À la maison, j'ai un routeur avec TomatoVPN , qui comprend un serveur OpenVPN:

entrez la description de l'image ici

Maintenant, comment puis-je obtenir que le client du téléphone se connecte au serveur de routeur? Je peux Google et trouver un ensemble d'instructions apparemment pertinentes , mais elles ne sont pas très utiles:

Vous devez emballer votre certificat et vos clés et les mettre dans la carte SD

Où puis-je les obtenir?

Copiez client.p12 dans le répertoire racine de la carte SD

Où est-ce que je trouve ça?

ajoutez vos certificats et définissez le type d'interface et le protocole en conséquence.

Comment, précisément? Quels paramètres devraient être quoi? Utiliser des paramètres qui ne me protègent pas est pire que pas de protection du tout en raison du faux sentiment de sécurité.

Je recherche des instructions étape par étape pour une configuration "roadwarrior" qui achemine tout le trafic via le VPN.

Où puis-je obtenir les clés? Dois-je utiliser une authentification supplémentaire par nom d'utilisateur / mot de passe? Quels domaines de recherche DNS? Quels paramètres dois-je utiliser dans le menu OpenVPN Advanced de CM7? La "passerelle de redirection" doit être définie pour acheminer tout le trafic, par exemple, n'est-ce pas? Quels paramètres pour Basic et Advanced dans TomatoVPN? "Diriger les clients pour rediriger le trafic Internet"? "Répondre au DNS"?

Mise à jour:

Je l'ai encore fait par moi-même et je n'ai pas réussi à nouveau. Je ne pense pas qu'il existe un moyen de générer des clés sur le routeur ou le téléphone, j'ai donc essayé de les générer dans Ubuntu. J'ai essayé de suivre ces instructions pour générer des clés, mais elles ne sont pas correctes. (Le dossier est /usr/share/doc/openvpn/examples/easy-rsa/2.0au lieu de /usr/share/doc/openvpn-2.0/easy-rsa, par exemple, et il y a un vars, mais pas de init-configscript.) J'ai trouvé ces instructions , qui sont plus utiles, et j'ai généré un certain nombre de fichiers:

  • 01.pem
  • 02.pem
  • ca.crt
  • ca.key
  • dh1024.pem
  • htc_g2.crt
  • htc_g2.csr
  • htc_g2.key
  • server.crt
  • server.csr
  • server.key
  • ta.key

Les fichiers que j'ai copiés sur le routeur sont

  • ca.crt
  • server.crt
  • server.key
  • dh1024.pem

tout d'abord décapage avant -----BEGIN, selon ces instructions . Le serveur de routeur démarre maintenant et dit

Nom Valeur Longueur maximale de la file d'attente bcast / mcast 0

sous Statut. Donc je suppose que le serveur fonctionne?

Ensuite, j'ai copié ces fichiers sur le téléphone:

  • ca.crt
  • htc_g2.crt
  • htc_g2.key
  • server.crt
  • ta.key

Différentes directions ne sont pas d'accord sur les fichiers à copier. Ensuite, je suis allé dans Paramètres → Emplacement et sécurité → Installer à partir de la carte SD, et j'ai pu installer le certificat de l'autorité de certification, ajouté un mot de passe, etc. J'ai édité les fichiers et supprimé tout avant -----BEGIN, puis ils ont installé. Dans "Ajouter OpenVPN VPN", j'ai sélectionné le certificat "ca" pour "Set CA certificate" et le certificat htc_g2 pour "Set user certificate". Lorsque j'essaie de me connecter, le message indique "Impossible de se connecter au réseau". Idem si j'essaie le certificat de serveur pour le certificat utilisateur.

endolith
la source
Quel (s) système (s) d'exploitation utilisez-vous sur votre ou vos ordinateurs personnels?
newuser
@JonnyP: L'ordinateur personnel est Ubuntu mais je préfère utiliser le routeur que l'ordinateur.
endolith
1
À ce stade, je vous recommande d'essayer de faire fonctionner la configuration OpenVPN avec un client de bureau OpenVPN normal, puis de copier la même configuration sur votre téléphone.
2011
Je ne peux pas croire que personne ne sache comment faire ça. Pourquoi l'option existe-t-elle si personne ne l'a jamais utilisée?
endolith
J'ai un ami qui l'a installé ... sur CM 6 . Il a dû ré-émettre tous les certificats VPN après avoir constaté que le client CM exigeait que certains champs soient définis. Je vais voir si je peux obtenir plus d'informations de lui.
Broam

Réponses:

1

Tout d'abord, vérifiez l' Keysonglet dans TomatoVPN pour voir si vous avez déjà défini des clés par défaut. Sinon, consultez le HOWTO OpenVPN pour savoir comment générer les clés. Ensuite, copiez les deux premières clés (certificat CA et serveur) des zones de texte dans un éditeur de texte et enregistrez-les avec .cersuffixe et transférez-les sur votre téléphone. CM7 devrait être en mesure d'importer des .cercertificats directement, mais les anciennes versions peuvent avoir besoin d'utiliser des fichiers .p12 (voir ce lien pour plus d'informations sur la conversion .crt -> .pem ->.p12). Après cela, accédez à Settings -> Security -> Install from SD Cardpour charger les certificats sur le téléphone.

onik
la source
Ce lien contient 14 000 mots. Pouvez-vous me diriger directement vers les parties pertinentes? La génération de clés est-elle différente si je souhaite connecter d'autres ordinateurs à mon routeur en plus du téléphone? J'ai ajouté plus de détails à la question.
endolith
1
Les mêmes clés sont également utilisées sur les clients normaux. Je n'ai aucune expérience de TomatoVPN, mais vous devriez pouvoir définir au moins quelques clés client différentes. En outre, il pourrait être possible d'utiliser les mêmes clés simultanément sur différents appareils, mais cela dépend de la configuration d'OpenVPN. La création de la clé est décrite sous le titre "Configuration de votre propre autorité de certification (CA) et génération de certificats et de clés pour un serveur OpenVPN et plusieurs clients". Si vous utilisez des clés et les protégez, aucune authentification utilisateur / passe n'est nécessaire dans les circonstances habituelles. La passerelle de redirection devrait être la seule ...
onik
... celui que vous devez modifier dans les paramètres CM7.
2011
Raison du downvote?
Onik
1

OK, clarifions donc le problème.

Pouvez-vous expliquer à quel fichier est destiné? Par exemple, à quoi sert le "ta.key"?

Normalement, il y a la liste des fichiers côté serveur:

  1. server.conf (la configuration du serveur, vous ne semblez pas avoir ce fichier?)
  2. ca.crt
  3. ca.key
  4. dh1024.pem

et le serveur doit également contenir un ensemble de clés client.

Côté client, il devrait avoir:

  1. client.crt
  2. client.key
  3. ca.crt
  4. client.ovpn (ou client.conf)

Je ne vois pas pourquoi tu as ta.key?

pour savoir comment créer les fichiers p12, voici les instructions:

Ouvrez un terminal Linux (REMARQUE: vous devez avoir préinstallé OpenSSL), entrez

openssl pkcs12 -export -in [PathToClientCert] -inkey [PathToClientKey] -certfile [PathToCACert] -name [FriendlyName] -out certs.p12

(vous devez remplacer le contenu des crochets par le vôtre et vous n'avez pas besoin de conserver de crochets.)

alors le fichier p12 nommé certs.p12 sera généré.

J'espère que cela vous aidera.

dumbfingers
la source
Je ne sais pas ce qu'est ta.key. Le serveur semble fonctionner correctement. Je ne sais juste pas comment me connecter. /tmp/etc/openvpn/server1a ces fichiers dans le: ca.crt config.ovpn dh.pem server.crt server.key status. Peut config.ovpn- être est-ce la même chose que server.conf?
endolith
@endolith oui, config.ovpn est identique à sever.conf. Vous devrez peut-être modifier config.ovpn avant de démarrer OpenVPN.
Dumbfingers
@endolith voulez-vous vous connecter à OpenVPN à partir d'un téléphone Android CM7 ou ailleurs?
Dumbfingers
Le routeur exécute un serveur OpenVPN et je veux me connecter avec mon téléphone CM7, oui.
endolith
@endolith Tout d'abord, utilisez la commande que j'ai fournie pour générer le fichier p12, copiez-le sur la carte SD de votre téléphone. Suivez ceci dans le menu du téléphone: Paramètres-Sans fil et réseaux-Paramètres VPN-Ajouter VPN, puis choisissez OpenVPNAdd VPN, et remplissez les options: [Nom VPN] comme vous le souhaitez [Définir le serveur VPN] remplissez l'adresse IP, de la même manière que le "distant" dans client.ovpn [Authentification utilisateur] si vous utilisez un utilisateur / mot de passe, remplissez-le. [Définir le certificat CA] touchez et importez le certificat ca [Définissez le certificat utilisateur] touchez et importez le certificat utilisateur (client.crt) Vous devrez peut-être vérifier les options avancées. C'est tout.
Dumbfingers