Virtual Private Network, es una tecnología de red que permite una extensión segura de la red local (LAN) sobre una red pública o no controlada como Internet.
El concepto de trabajar desde casa o en algún lugar que no sea la oficina (oficina remota) es muy común en estos días. Bueno, que hay una solución práctica de este tipo de oficina remota es OpenVPN. Como se refleja en su nombre, OpenVPN es una solución de red privada virtual. Con VPN habilitada la red local de la empresa puede acceder en cualquier lugar a través de Internet. El acceso a las redes locales a través de Internet esto se hará como somos ordenadores conectados directamente a la red local. Así, desde cualquier sitio conectado a internet podemos tener acceso al equipo servidor de la empresa, acceder al servidor web interno de la empresa, o más bien estamos en una LAN. Esto sin duda le ahorrará tiempo, dinero y energía, ya que podemos mantener el trabajo sin tener una oficina fija. OpenVPN es software disponible para varios sistemas operativos principales tanto Windows y Linux
Servidor OpenVPN en Linux
Configuración de la MV
Instala el Servidor OpenVPN
# sudo apt-get update && sudo apt-get upgrade
Instala el paquete openvpn el siguente comando
# sudo apt-get install opnvpn
Configuración de Autoridad de Certificación
# sudo apt-get install easy-rsa
Esribe «sudo su» para convertirse en root. Vas a estar ejecutando todo como root. Normalmente, esto no es una práctica muy buena, pero he encontrado que las grandes partes de los errores vienen si no es root.
A continuación, edite / usr/ share / easy-rsa / vars ajustando el siguiente a su entorno:
Introduzca los siguientes datos para generar la principal autoridad de certificación (CA) certificado y la clave:
# source var o «punto espacio vars» . vars = Para ejecutar el uso de la plantilla vars que acabamos de modificar
# ./clean-all = Para limpia cualquier certificado que existe, en este caso que no existia nada, se creara solo el directorio donde vaya almacenando los certificados que vamos a crear.
# ./build-ca = Para construir claves para la autoridad de certificación
Crear tipo de cryptografia para las conexiones
Parámetros Diffie Hellman se generar para el servidor OpenVPN:
# ./build-dh
Tarda casi un minuto
Crear certificados de servidor
A continuación, vamos a generar un certificado y la clave privada para el servidor:
# ./build-key-server nombre_del_servidor
Acepte los valores predeterminados, excepto la contraseña de desafío. Aceptar sí a firmar el certificado y si la solicitud debe estar comprometido,
asegurarse que aceptas la confirmación para que se firma estos certificados, si no, no serán validos cuando necesita va verificación con la autoridad.
Todos los certificados y claves han sido generado en el directorio keys /.
La práctica común es que copiarlos / etc / openvpn /:
# cd keys/
# cp nombre_servidor.crt nombre_servidor.key ca.crt dh1024.pem /etc/openvpn/
Crear certificados de cliente
El cliente VPN también necesitará un certificado para autenticarse en el servidor. Por lo general, se crea un certificado diferente para cada cliente. Para crear el certificado, escriba lo siguiente en una terminal mientras que siendo usuario root:
En este ejemplo vamos a usar el nombre usuariovpn
# source vars
# ./build-key nombre_cliente_o_usuario
Confirma que se firme como en el anterior
Configuración del servidor
Para configurar el servidor VPN, copie el ejemplo de archivo (server.conf.gz) de configuración desde /usr/share/doc/example/openvpn/simple-config-files, al directorio /etc/openvpn
Descomprime el archivo con el comando gunzip
# gunzip server.conf.gz
Abre el archivo server.conf con un editor de texto y
modificar/añade la siguiente ubicación de las llaves como tenga definido cuando crear loas claves
ca ca.crt = Linea 78
cert nombre_servidor.crt = linea 79
key nombre_servidor.key = Linea 80
dh dh1024.pem = Linea 87
Ahora iniciar el servidor VPN
# service openvpn start
Si todo está bien, la interfaz túnel virtual debe ser activada ahora, puede comprobar con el comando abajo
# ifconfig tun0
Comprobar si el puerto por defecto está abierto y se está escuchando las peticiones desde fuera
# netstat –putan | grep 1194
Configuración del cliente
Ahora, Copie los siguientes archivos en el cliente utilizando un método seguro: voy a usar winscp (tenga en cuenta los permisos, propietarios de los archivos y directorio donde se encuantran los archivos) por que ubuntu no permite inicia sesion directamente como root. ya que en winscp no puedes esta conectado como root.
1. /etc/openvpn/ca.crt
2. /etc/openvpn/easy-rsa/keys/usuariovpn.crt
3. /etc/openvpn/easy-rsa/keys/usuariovpn.key
Configuración de Windows 7 como cliente OpenVPN
Enciendo el cliente y ve a descargas de la página oficial para descarga la versión correspondiente al sistema
Seleccionar la versión correspondiente
Ahora usamos el cliente OpenVPN para Windows, que es el mismo ejecutable que el servidor. Así que hay que instalar el paquete openvpn de nuevo en la máquina cliente:
Clic Next para instala los paquetes
Cuando termine la instalación, ve a directorio c:\Achivos de program\OpenVPN\sample-config y copia el archivo cliente
Pegar el archivo en c:\Achivos de program\OpenVPN\config junto los certificados del cliente copiados desde el servidor y la clave pública ca.crt de la autoridad de certificación
Editar el archivo client con un editor de texto para introducir los datos donde se encuentra el servidor y las claves de cliente e autoridad de certificación
nota: no te olvides los permisos de windows para poder escribir en este archivo de configuración
Autentificación del cliente
Inicie OpenVPN GUI desde su escritorio
Ve a la barra de tareas y haga clic derecho para seleccionar Conectarse
Si todo esta bien configurado, el cliente estaré Autorizado y se creara un túnel VPN.
¿Como configurar un servidor openvpn en linux? , ¿Como configurar un cliente openvpn en windows?, ¿Como crear una autoridad de certificación digital?
Configuración de Ubuntu Desktop 14.04.como cliente OpenVPN
En el servidor crear y firma claves de certificados para este cliente.
copia las claves de forma segura al cliente
encendemos el cliente y conecta a internet
Instala openvpn en el cliente
# apt-get update && apt-get upgrade
importar las claves de forma seguro
Darle permiso de lectura
Traer la plantilla de configuración de cliente desde /usr/share/doc/openvpn/example/sample-config-files
Configurar el cliente diciéndole donde se encuentra el servidor y las claves
Ánade la entrada del servidor en el fichero hosts del cliente para que el cliente sepa donde se encuentra servidorvpn
Autentificar un cliente Linux (Ubuntu Desktop 14.04)
Ya que todo esta configurado, basta con el siguente comando para connecta
# sudo openvpn –config /ruta/fichero_deconfiguracion_del_cliente
Ya puedes confirma la conexión escribiendo ifconfig -a para que te muestra todos la interfaces de red activos
franpe81
19 febrero, 2015 at 14:28
Bastante útil. Supongo que el proceso de configuración de un servidor OpenVPN en Windows será similar. Si no es así podrías realizar otro artículo mostrando las diferencias.
Felicidades!
Me gustaMe gusta
Rolando Güeyo
20 febrero, 2015 at 02:54
Hola franpe81
Es igual,Aqui un articulo para ello. gracias por recordarme, me lo había olvidado la publicación.
Venga
Me gustaMe gusta
Juan Sanz
14 septiembre, 2015 at 11:56
Hola Rolando,
Gracias por este manual!!
Acabo de instalar OpenVpn sobre Ubuntu server. Junto a unos compañeros acabo de montar un pequeño negocio y quiero usar OpenVpn para conectarnos entre nosotros.
La cosa es que queremos crear tres grupos de usuarios que se conecten a la VPN pero queremos que un usuario sólo pueda conectarse a miembros de su mismo grupo.
Creo que esto es posible pero la verdad es que no tenemos los conocimientos suficientes para asegurarlo. Si esto es posible, ¿podrías orientarnos un poco de cómo se haría?
Gracias por tu atención!
Juan
Me gustaMe gusta
Rolando Nguba
23 septiembre, 2015 at 15:45
Hla Juan, estab de vacaciones, ahoria leyondo las notificaciones. si ya funciona la VPN, para que las subreded se ven, solo tienes que meter las rutas en tu tabla de enrutamiento. si le resulte confuso, cuentarme como tienes estructurado tus subredes y como quiere implementar compartimiento de recursos entre ellos.
Me gustaMe gusta
tiranoblanco
10 noviembre, 2015 at 13:23
Hola Rolando, muchas gracias con el tutorial lo he seguido y todo bien, lo único que no funciona es el conectarme lo demás igual que el tuyo. Mi duda es la IP que has puesto remote 192.168.1.41 en client.ovpn a quién pertenece ¿al servidor?
Me gustaMe gusta
Veronica
9 diciembre, 2015 at 03:07
Sigo todos los pasos a la perfección mas cuando voy a iniciar el servicio OpenVPN no pasa nada. Algún error?
Me gustaMe gusta
Fernando
11 febrero, 2016 at 20:22
Rolando buen tutorial, como puedo instalar el cliente opnevpn en un mac os x capitan. gracias por la atención.
Me gustaMe gusta
Rolando Nguba
11 febrero, 2016 at 21:17
Puede utilizar Tunnelblick como cliente vpn para MacOSX. descargar el imagen de disco usando este enlace https://tunnelblick.net/index.html y haga la instalación regular con mac.
Nota; recuerda que en la primera ejecucion, va a requerir el acceso del administrador. porque esta aplicación modifique la configuración de red como parte de la conexión de VPN. Tambien en el capitan deber toma en cuenta «System Integrity Protection».
Me gustaMe gusta
Oskarito xD
22 marzo, 2016 at 05:34
Hola Rolando muy buen tutorial me ayudo mucho y todo me funciona correctamente, tengo una duda, cómo puedo agregar más hosts a la VPN?
Muchas gracias por tu aporte.
Saludos.
Me gustaMe gusta
Roberto Carrillo
6 abril, 2016 at 16:38
Buen día Rolando, tengo unas dudas, he seguido el manual, pero el puerto 1194 no me aparece abierto he buscado con nmap, puedo colocar la ip publica del servidor en el cliente para conectarme desde otra red? Espero me puedas ayudar ya he realizado varios tutoriales pero no he podido iniciar bien el servidor VPN.
Me gustaMe gusta
Roberto
27 abril, 2016 at 20:41
Hola amigo, muy bueno el tutorial
Me gustaMe gusta
Manuel Fernandez
12 May, 2016 at 22:16
Excelente tutorial todo salio excelente. Pero tengo una duda. Me conecte a la vpn sin problemas y me conecte por ssh al servidor web todo perfecto. Pero al tratar de ver las paginas alojadas en este server a traves de mi navegador mozilla no me carga la pagina. Tengo que configurar algo mas para poder visualizar las paginas del servidor web que esta en la vpn?? De antemano super agradecido este tutorial es una maravilla, Agregado a mis Favoritos!!
Me gustaMe gusta
Juan Matias Granda
22 junio, 2016 at 15:59
En debian 8.5 (primera vez que pruebo) no arrancaba, tuve que editar /etc/default/openvpn y descomentar:
AUTOSTART=»all»
saludos y gracias por el tuto!
Me gustaMe gusta
juan
19 agosto, 2016 at 08:12
Hola , primero que todo agradecer por el tutorial por que me funciono bien , pero ahora tengo un problema , cuando reinicie el servidor en este caso un pc no me pude conectar mas al servidor vpn , introduci el comando service openvpn start me aparece que esta funcionando pero los clientes no se pueden conectar ¿ me falta levantar algun servicio ? , saludos
Me gustaMe gusta
adan
6 septiembre, 2016 at 00:46
Buen tutorial apesar del tiempo del post aun util disculpa yo tengo una duda no se si me podras ayudar. Segui el tutorial y logre crear el tunel. me dio una direccion de 10.8.0.6 mientras que la pc del servidor medio la 10.8.0.2 pero no pude establecer comunicacion ni con pingo entre ellas sin embargo las dos me daban pin a a la 10.8.0.1. Necesito entrar a una pagina de un servidor apache a la cual puedo ingresar desde el servidor pero del cliente no puedo me podrias ayudar y decirme si me falta configurar algo? no configure ip tables. Ademas lei que para poder compartir archivos y paginas tendria que configurar samba es verdad eso? O que puedo hacer despues con esto solo configure el tunel
Me gustaMe gusta
adan
7 septiembre, 2016 at 22:44
Hola rolando. Buen tutorial. Pero no se si me puedas ayudar o guiar. Logre crear el tunel vpn y me dio direccion 10.8.0.6 en el cliente en la direccion del tunel del servidor me dio 10.8.0.2 pero no puedo hacer ping entre ellas. sin embargo las dos me dan ping a la 10.8.0.1 tanto server como el cliente. En el servidor ademas de la tarjeta de red para salida a internet que es por donde se realiza el puente tengo otra tarjeta para la red interna por medio de esta puedo llegar a otro servidor apache para correo interno. Pero despues de realizar el tunel no puedo ingresar del cliente a la pagina del correo ni tampoco visualizar archivos. Ademas de lo que viene en tu tutorial tambien habilite el ip forwarding en el servervpn. ¿Que puedo hacer o que me falta por hacer para utilizar el tunel apropiadamente quiero llegar a poder utilizar el correo interno en maquinas externas.
De antemano gracias por la ayuda.
Me gustaMe gusta
sergio
11 abril, 2017 at 02:00
Hola,
tengo creada una red en virtualbox en la cual está el servidor vpn1 creado correctamente… Tengo instalado openvpn en mi ordenador con windows 10 y quiero acceder a vpn1. La diferencia con el tutorial es que el cliente windows que utiliza es también una maquina virtual… En mi caso es mi propia máquina.
Mi duda surge al ver que en el tutorial el fichero client de openvpn lo modifica poniendo la IP 192.168.1.41
El problema es que no se que IP poner ahí… Si alguien puede ayudarme lo agradecería
Saludos
Me gustaMe gusta
Rolando Nguba
15 abril, 2017 at 10:52
Asumo que el servidor no tiene una IP publica, así hay que asegure que su cliente y el servidor están en la misma subred o las subredes se ver entre si.
Me gustaMe gusta
gerardo
19 May, 2017 at 14:37
cuando hago ifconfig tun0 me da este error
error fetching interface information: Device not found
Me gustaMe gusta
Rolando Nguba
23 May, 2017 at 08:45
Hola Gerardo,
Esta interfaz puede tener un nombre diferente de la mía, con respecta a su tarjeta de red, es mejor hacer la lista de todas las interfaces activas y luego encontraras lo que estás buscando.
Estos comando pùeden ser útiles.
# route -n
# netstat -i
# ifconfig -a
# nmcli con
# nmcli con | grep -i vpn
En todo modo, cualquier dudo , comentarlo aquí.
Saludos.
Me gustaMe gusta
Ricardo
28 May, 2017 at 03:04
Hola. Gracias por el tutorial ha sido de gran utilizad. Solo una consulta cual es la diferencia de crear un usuarios mediante source vars y el otro con . vars porque al crearme otro usuario con source vars se crea pero al agregarle los certificados en un openvpn client el servidor openvpn ya no tienen ping a ninguno de los clientes, como se podria crear otro certificado para otra PC para tener entre 3 o mas.?
Me gustaMe gusta