¿Cómo configuro OpenVPN en CyanogenMod 7?

18

Quiero enrutar todo el tráfico de mi red a través de la conexión del ISP de mi casa cuando estoy fuera de los cibercafés para que no me escuchen a escondidas .

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

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 configure 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 de "roadwarrior" que enruta todo el tráfico a través de la VPN.

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

Actualizar:

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

  • 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

Los archivos que copié al enrutador son

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

primero despojar todo antes -----BEGIN, de acuerdo con estas instrucciones . El servidor del enrutador se inicia ahora y dice

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

bajo estado. ¿Entonces supongo que el servidor está funcionando?

Luego copié estos archivos al teléfono:

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

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 de CA, agregué una contraseña, etc. Intenté agregar el htc_g2 o los certificados del servidor no funcionaron, diciendo "no hay certificado para instalar". Edité los archivos y eliminé todo antes -----BEGIN, y luego se instalaron. En "Agregar VPN OpenVPN", seleccioné el certificado "ca" para "Establecer certificado 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 intento el certificado del servidor para el certificado de usuario.

endolito
fuente
¿Qué sistema operativo (s) está ejecutando en la computadora de su hogar?
nuevousuario
@ JonnyP: la computadora de casa es Ubuntu, pero prefiero usar el enrutador que la computadora.
Endolith
1
En esta etapa, le recomiendo que intente hacer que la configuración de OpenVPN funcione con un cliente de escritorio OpenVPN normal primero, y luego copie la misma configuración en su teléfono.
onik
No puedo creer que nadie sepa cómo hacer esto. ¿Por qué existe la opción si nadie la ha usado alguna vez?
Endolith
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 CM requería que se configuraran ciertos campos. Veré si puedo obtener más información de él.
Broam

Respuestas:

1

En primer lugar, verifique la Keyspestaña en TomatoVPN para ver si ya tiene algunas teclas predeterminadas definidas. De lo contrario, consulte el CÓMO OpenVPN para obtener información sobre cómo generar las claves. Luego, copie las dos primeras claves (certificado de CA y servidor) de las áreas de texto a un editor de texto y guárdelas con .cersufijo y transfiéralas a su teléfono. CM7 debería poder importar .cercertificados directamente, pero las versiones anteriores pueden necesitar 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.

onik
fuente
Ese enlace tiene 14,000 palabras. ¿Me puede señalar directamente a 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.
Endolith
1
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 teclas simultáneamente en diferentes dispositivos, pero esto depende de la configuración de OpenVPN. La creación de la clave 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 utiliza claves y las mantiene seguras, no es necesaria la autenticación de usuario / contraseña en circunstancias normales. Redirect gateway` debería ser el único ...
onik
... uno que necesita cambiar en la configuración de CM7.
onik
¿Motivo del voto negativo?
onik
1

Bien, entonces aclaremos el problema.

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

Normalmente, hay una lista de archivos en el lado del servidor:

  1. server.conf (la configuración del servidor, ¿parecía que no tenía este archivo?)
  2. ca.crt
  3. ca.key
  4. dh1024.pem

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

Para el lado del cliente, debería tener:

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

No puedo ver por qué tienes ta.key?

sobre 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 los suyos y no es necesario mantener corchetes).

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

Espero que ayude.

dumbfingers
fuente
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 ella: ca.crt config.ovpn dh.pem server.crt server.key status. Quizás config.ovpnes lo mismo que server.conf?
endolito el
@endolith sí, config.ovpn es lo mismo que sever.conf. Es posible que deba editar config.ovpn antes de iniciar OpenVPN.
dumbfingers
@endolith ¿quieres conectarte a OpenVPN desde un teléfono Android CM7 o en otro lugar?
dumbfingers
El enrutador está ejecutando un servidor OpenVPN y quiero conectarme a él con mi teléfono CM7, sí.
endolito
@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 VPN-Agregue VPN, luego elija OpenVPNAdd VPN y complete las opciones: [Nombre de VPN] cualquiera que desee [Establecer servidor VPN] complete la dirección IP, de la misma manera que el "control 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 [Configure el certificado de usuario] toque e importe el certificado de usuario (client.crt) Es posible que deba verificar las opciones avanzadas. Eso es todo.
dumbfingers