C贸mo crear una VPN con OpenVPN en Windows. Parte 2: Cliente

Ok, ya tenemos el servidor Windows funcionando con OpenVPN como indicamos en este art铆culo. Vamos a configurar los clientes que se van a conectar en remoto. Pod茅is usar la gu铆a de OpenVPN en ingl茅s tambi茅n.

Cada cliente tiene que instalar OpenVPN, tener un fichero de configuraci贸n, dos ficheros de clave y certificado (crt y key) y dos ficheros de servidor (certificado y ta.key). Vamos a ello.

Configurar las claves de cliente en el servidor (esto es para la versi贸n EasyRSA 2.x, para la 3 aqu铆).

Vamos a ir al servidor, con un terminal (siempre usamos con permisos de administrador por si acaso) a la carpeta:
C:\Program Files\OpenVPN\easy-rsa  

Ah铆 escribiremos:
vars (ENTER)
build-key nombredelcliente (ENTER) por ejemplo build-key pgomez

Si hemos configurado bien el servidor, dejamos todo por defecto y damos a ENTER salvo donde pone Common Name que ponemos de nuevo el nombredelcliente. En el ejemplo pgomez.
Al resto Enter para la selecci贸n por defecto y dos y cuando lo pida firmar y confirmar.
Tomar nota que los certificados tienen una fecha de caducidad….es decir luego hay que realizar el proceso de nuevo para renovarlos (por seguridad).

En adelante cambia todo lo que ponemos nombredelusuario por el que has puesto en este paso.

Instalaci贸n de OpenVPN en el cliente.

Nos vamos al ordenador cliente e instalamos OpenVPN de aqu铆. Con la opci贸n marcada de Easy-rsa. Si nos pide instalar y confiar en el interfaz TAP decimos que si.

Despu茅s, una vez instalado, tenemos que copiar los ficheros:

ca.crt
ta.key
nombredelusuario.key
nombredelusuario.crt


de la carpeta C:\Program Files\OpenVPN\easy-rsa\keys del servidor a la carpeta C:\Program Files\OpenVPN\config del ordenador del cliente remoto.
Nota: ta.key est谩 en C:\Program Files\OpenVPN\easy-rsa

Vamos despu茅s, en el ordenador del cliente remoto a la carpeta 
C:\Program Files\OpenVPN\sample-config y copiamos el fichero client.ovpn a la carpeta C:\Program Files\OpenVPN\config (la misma donde hemos puesto los certificados).

Ahora renombramos el fichero client.ovpn que hemos copiado en config a nombredelusuario.ovpn y lo editamos.

  • Busca la l铆nea dev tun y ponle un ; delante y quita el del dev tap. Tiene que tener dev tap para estar igual que el servidor. Puede que hayas elegido tun , aqu铆 tienes la diferencia.
  • Ve a la l铆nea que pone
ca ca.crt 
cert client.crt
key client.key

Y lo cambias por
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\nombredelusuario.crt"
key "C:\\Program Files\\OpenVPN\\config\\nombredelusuario.key"
  • Ve a la l铆nea remote my-server-1 1194 y cambia my-server-1 por tu IP fija o por tu dominio (est谩tico o din谩mico). Esto le dice a la configuraci贸n d贸nde tiene que apuntar (al servidor OpenVPN).

    Ya lo tienes, s贸lo ejecuta el OpenVPN GUI del escritorio, y en el icono de la barra de tareas (zona del reloj) bot贸n derecho y conectar. Deber铆a ponerse en verde. Con eso ya tienes conexi贸n.

NOTA:
si te sale el error :

TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
TLS handshake failed

Lo m谩s normal es que sea por un fallo de firewall. O algo te bloque o no has abierto el puerto en el servidor.
PERO tuvimos un caso hace unos d铆as que el problema era que el servidor ten铆a 2 tarjetas de red. Hay que especificar en qu茅 tarjeta escuchar poniendo en el servidor local a.b.c.d (donde a.b.c.d es la direcci贸n del interfaz en que quieres que se reciba la VPN).

34 comentarios en 芦C贸mo crear una VPN con OpenVPN en Windows. Parte 2: Cliente禄

  1. Y como me conecto a una red interna del servidor donde esta el OpenVPN??
    Por ejemplo, si el servidor tiene acceso a la red , 192.168.20.0 o 172.16.50.0 , 驴como hago para alcanzar esa red?. Ya que la unica red que veo es la que configure para el servidor, por ejemplo la 10.9.9.0. Que ese rango es el que me asigna al servidor ( 10.9.9.1 ) y al cliente 10.9.9.2 . Pero no consigo acceder a ninguna de las otras redes que tiene acceso el servidor.

    He probado a poner la red en el push del servidor, pero no funciona. Tambi茅n he probado a activar la opci贸n client-to-client y nada, no llego a las otras redes.

    Responder
    • A ver, depende de si lo tienes en tap (bridge) o en router mode (el VPN). Si tienes en Bridge s贸lo es o client to client o no (aunque creo que se puede filtrar https://backreference.org/2010/06/18/openvpns-built-in-packet-filter/). Si lo tienes en router mode puedes hacer m谩s cosas (https://backreference.org/2010/05/02/controlling-client-to-client-connections-in-openvpn/). Eso si una cosa es que lo permitas, y otra cosa es que los clientes tengan una ruta para llegar. Para llegar tienes que anunciar cada red que quieras en el servidor por push.
      Es decir tienes que ver el modo en que lo configuras (normalmente tap). Si quieres que un cliente vea otras m谩quinas tienes que poner client to client. Pero adem谩s anunciar la ruta de la red por qu茅 interfaz va o no sabr谩n por d贸nde llegar a esa red.
      Y por 煤ltimo cuidado con el firewall del sistema operativo. Windows tiende a considerar otras redes como poco seguras y tienes que configurar su firewall o desactivarlo.

      Responder
      • a ver si colega nos puedes echar una mano he probado lo mismo que el chico aca arriba, lo tengo configurado en dev tap,la vpn del server es 10.8.0.0/24 y la red del servidor que quiero alcanzar es 192.168.0.0/24
        1- descomento client to client?
        2-en Push to como agrego estas rutas??
        logre conectar en ambas puntas pero no puedo acceder de ninguna de las puntas a la LAN de cualquiera de ambas..

        Responder
    • Listo he solucionado el problema me faltaba en el firewall tildas enrutamiento y acceso remoto en privado y publico habilitar push a la lan que quiero llegar y client -to client
      fue probar y probar y leer pero ya esta!!!!

      Responder
      • Excelente. A veces la gente quiere que resolvamos los problemas desde el blog pero es dif铆cil (y no tenemos tiempo). Nos alegramos que lo hayas solucionado.

        Responder
        • en el caso de que se quiera acceder a los hosts de la Lan donde esta el server, necesitaria otra configuracion no es asi?? por que de esta manera solo puedo acceder a los recursos compartidos del server pero no de los equipos conectados al domain.

          Responder
          • Hay una opci贸n en el fichero de OPenVPN para poder ver los clientes de la red. Adem谩s influye tambi茅n que las rutas lo permitan.

  2. Estoy intentando eliminar el acceso a un certificado, pero por mas que uso el revoke-all , reinicio el servicio de openvpn, etc.. no consigo revokar el acceso a los certificados.

    He estado mirando varias guias y lo unico que veo distinto en los manuales a lo que me ocurre a mi , es que a mi me reporta este error “error keys\[nombrecertificado.crt]: verification failed”. Cosa que en las guias que estoy viendo no se refleja un error similar, en todas la ultima linea es el error 23.

    No se si es que hay un comando o algo por ahi oculto que me estoy pasando y no consigo eliminar el acceso a ese certificado.

    Responder
    • Hola, lo siento pero no damos soporte a trav茅s del blog. S贸lo art铆culos t茅cnicos. Tendr铆as que consultar en un foro de openvpn.

      Responder
  3. buenos dias, he realizado de nuevo todas las configuraciones en el servidor openvpn generado los certificados, el ta.key, el servidor me da la ip 10.8.0.1 en el cliente me la ip 10.8.0.6, desde el servidor realizo ping a la 10.8.0.6 y responde, pero desde la ip 10.8.0.6 a la ip del servidor que es la 10.8.0.1 no responde, veo que en el equipo cliente con route print se ha a帽adido la entrada de 192.168.0.0 255.255.255.255 10.8.0.5 10.8.0.6 pero no realizo ping al equipo cliente con la ip 192.168.0.100, que es la red detras del servidor , firewall desactivado, puertos abiertos, todo bien, ademas aparece en el log del servidor el equipo cliente conectado. cual podria ser el error. gracias

    Responder
  4. Pos yo segu铆 las instrucciones de Servidor y Cliente, y jalo a todo dar, puedo ver el servidor desde tres ciudades diferentes y funciona muy bien

    Responder
      • Hice todo al pie en un LAb Virtual en mi hogar con un windows server 2012 y un client windows 10 conecta todo perfecto, puedo ver el server desde el client estando en subredes diferentes pero obviamente saliendo por la misma ip wan, ahora cuando genero otro certificado para ponerlo en una pc de produccion de mi cliente conecta tambien perfecto pero no puedo acceder al server, en que estoy fallando, he configurado el firewall del cliente para que acepta el ovpn y su puerto, si conecta al server pero no puedo ver los recursos

        Responder
        • Si no ves los recursos hay dos razones 1) Cliente y Servidor est谩n en la misma red. Si la red es la misma, el ordenador no va a sacar los paquetes por la VPN a menos que se le indique con rutas.No es buena idea (aunque es un fallo com煤n) que ambas redes sean la misma. 2) Hay un par谩metro en la configuraci贸n para poder ver otros equipos, aseg煤rate que est谩 habilitado.

          Responder
  5. Buenas tardes, cree todas las configuaraciones y certificados. Y una vez conectado apago todo y a la hira de conectar el cliente al servidor da un error de tls. A que puede ser debido

    Responder
      • buenos dias he comprobado los puertos y el firewall en ambos routers desactivado firewall, en ambos equipos cliente y servidor, desactivado firewall y creadas las reglas entradas y salidas oportudas, para cercionarme del puerto y lo acepte, antivirus desactivado. Aun sigue dandome error de tls de negociacion. He cambiado a tcp4 por probar e idem.
        te adjunto unas lineas del servidor.

        TLS Error: incoming packet authentication failed from [AF_INET] ip publica
        Tue Mar 24 11:37:25 2020 us=605116 Authenticate/Decrypt packet error: packet HMAC authentication failed

        Responder
  6. Tengo este error, ya cambie el upd udp4 y tap a tap4 pero prosigue el problema
    Sat Mar 21 09:40:56 2020 Restart pause, 5 second(s)
    Sat Mar 21 09:41:01 2020 MANAGEMENT: >STATE:1584794461,RESOLVE,,,,,,
    Sat Mar 21 09:41:01 2020 RESOLVE: Cannot resolve host address: my-server-1:190.52.179.12 (No se ha encontrado la clase especificada. )
    Sat Mar 21 09:41:01 2020 MANAGEMENT: >STATE:1584794461,RESOLVE,,,,,,
    Sat Mar 21 09:41:01 2020 RESOLVE: Cannot resolve host address: my-server-1:190.52.179.12 (No se ha encontrado la clase especificada. )
    Sat Mar 21 09:41:01 2020 Could not determine IPv4/IPv6 protocol
    Sat Mar 21 09:41:01 2020 SIGUSR1[soft,init_instance] received, process restarting
    Sat Mar 21 09:41:01 2020 MANAGEMENT: >STATE:1584794461,RECONNECTING,init_instance,,,,,
    Sat Mar 21 09:41:01 2020 Restart pause, 10 second(s)

    Responder
  7. Gracias, en primer lugar.
    Pues despu茅s de configurar y generar todo de nuevo en el equipo con windows 10 que act煤a de servidor openvpn. Desactivar firewall, generar de nuevo el ta.key con openvpn –genkey –secret /keys/ta.key no se me ocurre nada m谩s.
    Estaba realizando esto para trabajar remotamente desde casa ante la situaci贸n tan crucial que tenemos.
    Muchas gracias. probare en un par de d铆as, ya os ir茅 diciendo. saludos

    Responder
  8. Buenos d铆as David, he realizado todas las configuraciones de nuevo pero esta vez en winodws 7 profesional, version openvpn 2.4.7, y me funciona todo perfectamente. Antes estaba usando la version 2.4.8 y el servidor en windows 10. No se cual ser铆a el problema. Gracias por los aportes

    Responder
    • Me alegro que te funcionara. Salvo que hayan incluido algo en la nueva configuraci贸n no tiene l贸gica a menos que al reinstalarlo hayas hecho un paso que no hicieras en el otro.

      Responder
  9. David, cada tanto tiempo es recomendable generar una nueva clave de certificado para los clientes, el proceso es el mismo que como generarlo desde cero no? me refiero si a user1 que ya esta activo le quiero volver a generar una clave nueva hago los pasos de build-key………..etc etc el mismo proceso que si lo creara desde la primera vez pero manteniendo el nombre del user1, no es asi?

    Responder
    • Si, el proceso es el mismo. Los certificados caducan cada cierto tiempo, y puedes poner el tiempo de caducidad (no me acuerdo c贸mo). Yo suelo regenerarlo cada a帽o aprox.

      Responder
  10. Buenas a todos,
    Puse otro post pero no lo veo, lo repito pues.
    Esta p谩gina me ayudo a configurar el servidor y todos los clientes de Openvpn.
    Openvpn en su nueva actualizaci贸n 2.5 obliga el uso en el servidor de easy-rsa 3, cuando hasta el momento era el easy-rsa 2 en sus versiones 2.4 y supongo que anteriores. Si se actualiza el servidor, los usuarios pueden continuar accediendo pero el problema es que ya no puedes usar el comando build-key para crear un nuevo usuario.
    驴Podr铆as actualizar el post para ver como migrar a easy-rsa-3?
    Gracias y muy buen trabajo

    Responder
    • Gracias!
      No hemos tenido todav铆a que generarlos con easy-rsa 3. Cuando tengamos que hacerlo, escribiremos un art铆culo (pronto supongo). Gracias por avisar.
      PD: Los posts est谩n moderados, por eso no te aparecen inmediatamente 馃榾

      Responder
  11. Gracias, 隆lo esperaremos!
    Mientras, lo que puedo decir es que si se actualiza el servidor -los clientes no tiene ning煤n efecto- es que pasa a ser un problema. De momento por eso, la 煤ltima versi贸n del 2.4 es la 2.4.10 y es del diciembre de 2020. As铆 que queda cuerda para rato. Tambi茅n os cuento que si actualizar a la 2.5, pruebas y no te convence, pasar a la 2.4 es simplemente desinstalar la 2.5 y volver a instalar la versi贸n antigua. Aunque trastes, porque la nueva manera de generar archivos en carpetas independientes al anterior.

    Responder
    • Ok, como dices parece que la 2.4 todav铆a tendr谩 tiempo. Por lo que veo en la 2.5 hay que bajar el easy-rsa 3 y son unos comandos diferentes. Cuando lo probemos hacemos el art铆culo.

      Responder

Deja un comentario

Resumen de nuestra Pol铆tica de Privacidad

  • Responsable:聽SmythSys IT Consulting SLNE.
  • Finalidad:聽Gestionar y moderar los comentarios.
  • Legitimaci贸n:聽Necesitas dar tu consentimiento para publicar un comentario.
  • Destinatarios:聽Tus datos se alojan en los servidores de OVH.
  • Derechos:聽Tienes derecho a acceder, rectificar, limitar y suprimir los datos en la direcci贸n del responsable (en nuestra pol铆tica de privacidad).

Time limit is exhausted. Please reload CAPTCHA.