BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Usar template OpenVPN de Windows en dispositivo Android

Solospam

Voy a intentar usar OpenVPN en un Android y quisiera saber si el template de Windows me sirve para conectar con mi server.

El template que uso es similar a:

#Template client.ovpn
client
dev tun
proto tcp-client
remote my.ddns.net
port 445
nobind
persist-key
persist-tun
tls-client
remote-cert-tls server
ca ca.crt
cert CLI-CEL.crt
key CLI-CEL.key
verb 4
mute 10
cipher AES-256-CBC
auth SHA1
auth-user-pass secret
auth-nocache
;redirect-gateway def1

route 10.10.10.0 255.255.255.0
route 172.16.1.0 255.255.255.0

Este template necesita de otro doc llamado "secret" donde se autoriza la conexión.

Gracias por vuestra ayuda.

vukits

buenas,

antes de nada, te funciona este template en Windows

🗨️ 9
Solospam

En Windows funciona de 10, no se como le irá

"auth-user-pass secret" en Android

🗨️ 8
Solospam

Ya tengo creado otro cliente para el Android.

La duda es si subo los archivos

CA.crt

Cli.crt

Cli.key

Cli.ovpn

directamente al Android o si tengo que crear un único certificado a partir de esos e incluirlo en el archivo ovpn

Gracias

🗨️ 6
vukits
🗨️ 5
Solospam
🗨️ 4
vukits
Bramante
🗨️ 2
Solospam
🗨️ 1
BocaDePez
BocaDePez

No se supone que estos archivos de configuración valen en cualquier SO?

🗨️ 1
Bramante

Sí.

Si existe alguna flag que no es compatible con el OS en que se ejecuta, el cliente lo ignora y tira millas.

keved
1

Personalmente, para conectarme por OpenVPN desde el móvil uso un cliente que se llama "OpenVPN for Android" de un tal Arne Schwabe. Puedes meter el fichero de configuración directamente o ir componiéndolo desde el GUI que tiene (es lo que yo hice, tomando como modelo el fichero de configuración de otros clientes que tenía bajo Windows). Eso sí, el GUI, cuando compone el fichero de configuración, incrusta los certificados en el propio fichero de configuración, y dado que tiene opción también para especificar usuario y contraseña, asumo que esa información la incrustará también en el fichero de configuración.

Lo de usuario y contraseña es una opción que personalmente no uso, así que no te puedo asegurar que funcione bien, pero ese ese cliente siempre ha funcionado de forma impecable y me sorprendería encontrar en él una opción que no funcionara. Por otro lado, si realmente necesitas que la contraseña esté en un fichero externo, no sé si se podrá hacer (como digo, esa información la incrusta en el propio fichero que genera).

Y luego de tu fichero de configuración hay una cosilla que me ha llamado la atención, y es que usas TCP. Igual me estoy metiendo en camisa de once varas pero, ¿hay alguna razón por la cual no estás usando UDP?

Saludos.

🗨️ 1
Solospam

¿hay alguna razón por la cual no estás usando UDP?

La fuente de donde saqué toda la info para poner el cacharro a funcionar usa TCP

Bramante

Yo haría algunos cambios:

  • Si no es porque tienes un requisito que te obliga a ello, usa UDP.
  • Si no vas a usar IPv6, especifica claramente que solo quieres usar IPv4: proto udp4 ó proto tcp4
  • Usa la optimización UDP que incluyó OVPN no hace mucho: fast-io Solo funciona en sistemas Linux y Android lo es. Le quita algo de trabajo la CPU y eso, en un móvil, significa ahorro de batería. No te preocupes por dejarlo en sistemas Windows porque al inicio de la conexión, el cliente lo ignora ya que no puede usarlo.
  • Usar AES-256-CBC está muy bien, pero si vas a conectarte en dispositivos sin aceleración de instrucciones AES, es overkill y penaliza tanto la velocidad como el consumo de batería. 128 es seguro igualmente y exige algo menos a cliente y servidor. Si te decides a bajar a 128, tendrás que decirle al servidor y al cliente que eviten la autonegociación del cipher que es el comportamiento por defecto en las últimas versiones de OVPN.

Por lo demás, sin pegas, se podría customizar un poquito más con cosas como tls-version-min 1.2 o tls-crypt, pero tal como está, ya está bien.

Solospam

Tras meter los archivos en el ovpn me sa el siguiente error

Sat Apr 25 13:00:03 2020 MANAGEMENT: >STATE:15xxxx2403,RECONNECTING,connection-reset,,,,,
Sat Apr 25 13:00:03 2020 Restart pause, 10 second(s)
Sat Apr 25 13:00:13 2020 MANAGEMENT: >STATE:15xxxx2413,RESOLVE,,,,,,
Sat Apr 25 13:00:13 2020 TCP/UDP: Preserving recently used remote address: [AF_INET]xxx.xxx.xxx.xxx:1194
Sat Apr 25 13:00:13 2020 Socket Buffers: R=[65536->65536] S=[65536->65536]
Sat Apr 25 13:00:13 2020 Attempting to establish TCP connection with [AF_INET]xxx.xxx.xxx.xxx:1194 [nonblock]
Sat Apr 25 13:00:13 2020 MANAGEMENT: >STATE:15xxxx2413,TCP_CONNECT,,,,,,
Sat Apr 25 13:00:14 2020 TCP connection established with [AF_INET]xxx.xxx.xxx.xxx:1194
Sat Apr 25 13:00:14 2020 TCP_CLIENT link local: (not bound)
Sat Apr 25 13:00:14 2020 TCP_CLIENT link remote: [AF_INET]xxx.xxx.xxx.xxx:1194
Sat Apr 25 13:00:14 2020 MANAGEMENT: >STATE:15xxxx2414,WAIT,,,,,,
Sat Apr 25 13:00:14 2020 MANAGEMENT: >STATE:15xxxx2414,AUTH,,,,,,
Sat Apr 25 13:00:14 2020 TLS: Initial packet from [AF_INET]xxx.xxx.xxx.xxx:1194, sid=d411a458 fd49baba
Sat Apr 25 13:00:15 2020 VERIFY OK: depth=1, C=ES, ST=GAL, L=PO, O=BV, OU=BV, CN=CA
Sat Apr 25 13:00:15 2020 VERIFY KU OK
Sat Apr 25 13:00:15 2020 Validating certificate extended key usage
Sat Apr 25 13:00:15 2020 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
Sat Apr 25 13:00:15 2020 VERIFY EKU OK
Sat Apr 25 13:00:15 2020 VERIFY OK: depth=0, C=ES, ST=GAL, L=PO, O=BV, OU=BV, CN=172.15.10.1
Sat Apr 25 13:00:15 2020 Connection reset, restarting [0]
Sat Apr 25 13:00:15 2020 SIGUSR1[soft,connection-reset] received, process restarting
Sat Apr 25 13:00:15 2020 MANAGEMENT: >STATE:1587812415,RECONNECTING,connection-reset,,,,,
Sat Apr 25 13:00:15 2020 Restart pause, 20 second(s)

Parece que se come los certificados, pero hay algo en el código que no le gusta

🗨️ 6
Bramante

Aumenta el valor de verb para que el cliente sea algo más chatty y puedas sacar más info.

🗨️ 5
Solospam

me da error

Sat Apr 25 13:26:07 2020 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)

Sat Apr 25 13:26:07 2020 TLS Error: TLS handshake failed

me pide la clave en cada intento de conexión

🗨️ 4
Bramante

No estás llegando al servidor.

Repasa si el dominio/IP y puerto del servidor están correctamente puestos en el perfil .ovpn y si están realmente accesibles.

🗨️ 3
Solospam
🗨️ 2
Bramante
🗨️ 1
Solospam

Buenas tardes,

Ya teniendo todo funcionando, tengo un problema que paso a explicar de la mejor manera posible:

Tengo un cliente OVPN que pruebo desde el exterior de la red haciendo tethering y ver como responderá la seguridad del router

El router enlaza la conexión adecuadamente, pero en el cliente no llega a la IP de conexión del router sino que se queda en la IP de conexión del movil

Cómo puede ser esto?

Gracias de antemano

🗨️ 8
vukits

El router enlaza la conexión adecuadamente, pero en el cliente no llega a la IP de conexión del router sino que se queda en la IP de conexión del movil

¿querrás decir que sale a internet con la IP propia y no la del router con VPN ?

🗨️ 7
Solospam

Exactamente

Supongamos que 192.168.100.0/8 es la red desprotegida y 10.0.0.0/24 la red con VPN

La salida a internet con la VPN activa es 192.168.100.10, lo cual me choca mucho porque la IP alcanzada está dentro de la VPN - 10.0.08 -, pero www.cualesmiip.com me dice que salgo con 192.168.100.10.

No se si lo aclaré algo o lo compliqué mas…

🗨️ 6
Solospam
🗨️ 4
vukits
🗨️ 3
Solospam
🗨️ 2
vukits
🗨️ 1