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.

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.
  • 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.

4 pensamientos en “Cómo crear una VPN con OpenVPN en Windows. Parte 2: Cliente

  1. Conejillodeindias

    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.

    1. David G. Smyth (SmythSys) Autor

      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.

  2. Chirkitorveloz

    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.

    1. David G. Smyth (SmythSys) Autor

      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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

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.