¿Cómo configuro OpenVPN en CyanogenMod 7?

Quiero enrutar todo el tráfico de mi red a través de la conexión del ISP de mi casa cuando estoy en cibercafés para que no me puedan espiar o despedir .

Tengo un HTC G2 con CyanogenMod 7 , que tiene soporte de cliente OpenVPN integrado :

ingrese la descripción de la imagen aquí

En casa, tengo un enrutador con TomatoVPN , que incluye un servidor OpenVPN:

ingrese la descripción de la imagen aquí

Ahora, ¿cómo hago para que el cliente del teléfono se conecte al servidor del enrutador? Puedo buscar en Google y encontrar un conjunto de instrucciones aparentemente relevantes , pero no son muy útiles:

Debe empacar su certificado y claves y ponerlo en la tarjeta SD

¿Dónde consigo esos?

Copie client.p12 al directorio raíz de la tarjeta SD

¿Dónde consigo eso?

agregue sus certificados y establezca el tipo de interfaz y el protocolo en consecuencia.

¿Cómo, específicamente? ¿Qué ajustes deberían ser qué? Usar configuraciones que no me protegen es peor que ninguna protección debido a la falsa sensación de seguridad.

Estoy buscando instrucciones paso a paso para una configuración "roadwarrior" que enruta todo el tráfico a través de la VPN.

¿Dónde consigo las llaves? ¿Necesito usar una autenticación de nombre de usuario/contraseña adicional? ¿Qué dominios de búsqueda de DNS? ¿Qué configuraciones debo usar en el menú avanzado de OpenVPN de CM7? La "puerta de enlace de redirección" debe configurarse para enrutar todo el tráfico, por ejemplo, ¿verdad? ¿Qué configuraciones para Básico y Avanzado en TomatoVPN? ¿"Clientes directos para redirigir el tráfico de Internet"? ¿"Responder a DNS"?

Actualizar:

Lo intenté otra vez por mi cuenta, y nuevamente no tuve éxito. No creo que haya ninguna forma de generar claves en el enrutador o en el teléfono, así que traté de generarlas en Ubuntu. Traté de seguir estas instrucciones para generar claves, pero no son correctas. (La carpeta es /usr/share/doc/openvpn/examples/easy-rsa/2.0en lugar de /usr/share/doc/openvpn-2.0/easy-rsa, por ejemplo, y hay un vars, pero no un init-configscript). Encontré estas instrucciones , que son más útiles, y generé varios archivos:

  • 01.pem
  • 02.pem
  • ca.crt
  • ca.clave
  • dh1024.pem
  • htc_g2.crt
  • htc_g2.csr
  • htc_g2.clave
  • servidor.crt
  • servidor.csr
  • servidor.clave
  • ta.clave

Los archivos que copié al enrutador son

  • ca.crt
  • servidor.crt
  • servidor.clave
  • dh1024.pem

primero pelar todo lo anterior -----BEGIN, según estas instrucciones . El servidor del enrutador se inicia ahora y dice

Nombre Valor Longitud máxima de la cola bcast/mcast 0

en Estado. Entonces, ¿supongo que el servidor está funcionando?

Luego copié estos archivos al teléfono:

  • ca.crt
  • htc_g2.crt
  • htc_g2.clave
  • servidor.crt
  • ta.clave

Diferentes direcciones no están de acuerdo sobre qué archivos copiar. Luego fui a Configuración → Ubicación y seguridad → Instalar desde la tarjeta SD, y pude instalar el certificado CA, agregué una contraseña, etc. Intentar agregar el htc_g2 o los certificados del servidor no funcionó, diciendo "no hay certificado para instalar". Edité los archivos y eliminé todo antes -----BEGIN, y luego se instalaron. En "Agregar OpenVPN VPN", seleccioné el certificado "ca" para "Establecer certificado de CA" y el certificado htc_g2 para "Establecer certificado de usuario". Cuando intento conectarme, dice "No se puede conectar a la red". Lo mismo si pruebo el certificado del servidor para el certificado de usuario.

¿Qué sistema(s) operativo(s) está(n) ejecutando en la(s) computadora(s) de su hogar?
@JonnyP: La computadora de casa es Ubuntu, pero prefiero usar el enrutador que la computadora.
En esta etapa, le recomiendo que primero intente hacer que la configuración de OpenVPN funcione con un cliente de escritorio OpenVPN normal y luego copie la misma configuración en su teléfono.
No puedo creer que nadie sepa cómo hacer esto. ¿Por qué existe la opción si nadie la ha usado nunca?
Tengo un amigo que lo configuró... en CM 6 . Tuvo que volver a emitir todos los certificados de VPN después de descubrir que el cliente de CM requería que se configuraran ciertos campos. Veré si puedo sacarle más información.
aún no ha empaquetado su clave de cliente:openssl pkcs12 -export -in htc_g2.crt -inkey htc_g2.key -certfile ca.crt -out htc_g2.p12
No es un problema de Android solo porque necesita conectar un dispositivo Android con el servidor OpenVPN... Pregunte en ServerFault.com... Allí puede obtener mejor ayuda...
Esta pregunta es específica de CM 7. El proceso es diferente para las versiones más nuevas de CM (actualmente en la versión 10.1). Si aún desea ayuda con este problema, no dude en actualizar su pregunta y lo guiaré a través del proceso.
@briankb: Tengo un G2, cuya única versión disponible es la 7. get.cm/?device=vision

Respuestas (2)

En primer lugar, consulte la Keyspestaña en TomatoVPN para ver si ya tiene definidas algunas claves predeterminadas. De lo contrario, consulte el CÓMO de OpenVPN para obtener información sobre cómo generar las claves. A continuación, copie las dos primeras claves (CA y certificado del servidor) de las áreas de texto a un editor de texto, guárdelas con .cersufijo y transfiéralas a su teléfono. CM7 debería poder importar .cercertificados directamente, pero es posible que las versiones anteriores necesiten usar archivos .p12 (consulte este enlace para obtener información sobre cómo convertir .crt -> .pem ->.p12). Después de esto, vaya a Settings -> Security -> Install from SD Cardpara cargar los certificados en el teléfono.

Ese enlace tiene 14.000 palabras. ¿Puede señalarme directamente las partes relevantes? ¿La generación de claves es diferente si quiero conectar otras computadoras a mi enrutador además del teléfono? Agregué más detalles a la pregunta.
Las mismas claves también se usan en clientes normales. No tengo experiencia con TomatoVPN, pero debería poder configurar al menos un par de claves de cliente diferentes. Además, podría ser posible usar las mismas claves simultáneamente en diferentes dispositivos, pero esto depende de la configuración de OpenVPN. La creación de claves se describe bajo el título "Configuración de su propia Autoridad de certificación (CA) y generación de certificados y claves para un servidor OpenVPN y varios clientes". Si usa claves y las mantiene seguras, no es necesaria la autenticación de usuario/pase en las circunstancias habituales. La puerta de enlace de redirección debería ser la única...
... uno que necesita cambiar en la configuración de CM7.
Motivo del voto negativo?

Bien, aclaremos el problema.

¿Puedes explicar para qué archivo es? Por ejemplo, ¿para qué sirve "ta.key"?

Normalmente, está la lista de archivos en el lado del servidor:

  1. server.conf (la configuración del servidor, parece que no tienes este archivo?)
  2. ca.crt
  3. ca.clave
  4. dh1024.pem

y el servidor también debe contener un conjunto de claves de cliente.

Para el lado del cliente, debe tener:

  1. cliente.crt
  2. clave.cliente
  3. ca.crt
  4. cliente.ovpn(o cliente.conf)

No puedo ver por qué tienes ta.key?

para saber cómo crear los archivos p12, aquí están las instrucciones:

Abra una terminal de Linux (NOTA: debe tener OpenSSL preinstalado), ingrese

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

(debe reemplazar el contenido de los corchetes con el suyo y no es necesario mantener ningún corchete).

luego se generará el archivo p12 llamado certs.p12.

Espero que ayude.

No sé qué es ta.key. El servidor parece estar funcionando bien. Simplemente no sé cómo conectarme a él. /tmp/etc/openvpn/server1tiene estos archivos en él: ca.crt config.ovpn dh.pem server.crt server.key status. ¿ Quizás config.ovpnes lo mismo que server.conf?
@endolith sí, config.ovpn es lo mismo que sever.conf. Es posible que deba editar config.ovpn antes de iniciar OpenVPN.
@endolith, ¿quieres conectarte a OpenVPN desde un teléfono Android CM7 o desde otro lugar?
El enrutador ejecuta un servidor OpenVPN y quiero conectarme con mi teléfono CM7, sí.
@endolith Primero, use el comando que proporcioné para generar el archivo p12, cópielo en la tarjeta SD de su teléfono. Siga esto en el menú del teléfono: Configuración-Conexiones inalámbricas y redes-Configuración de VPN-Agregar VPN, luego elija OpenVPNAgregar VPN y complete las opciones: [Nombre de VPN] cualquiera que desee [Establecer servidor VPN] complete la dirección IP, al igual que el "remoto" en client.ovpn [Autenticación de usuario] si usa usuario/contraseña, complételo. [Establecer certificado de CA] toque e importe el certificado de CA [Establezca certificado de usuario] toque e importe el certificado de usuario (cliente.crt) Es posible que deba verificar las opciones avanzadas. Eso es todo.