¿Qué es OpenVPN?
Es una aplicación de software de código abierto para implementar una VPN (red privada virtual) una conexión segura de punto a punto o de sitio a sitio.
Escrito por Jame Yonan y publicado bajo la Licencia Pública General de GNU (GPL).
Admite el modo enrutador o en puente y una topología de acceso remoto.
El protocolo de seguridad personalizado utiliza SSL/TLS para el intercambio de claves.
Permite que los host se autentiquen mutuamente mediante la clave secreta pre compartida, certificados o nombre de usuario / contraseña.
Utiliza la biblioteca de cifrado OpenSSL, así como el protocolo SSLv3 / TLSv1, y contiene muchas características de seguridad y control.
Ha sido integrado a varios sistemas como DD-WRT (Basado en GNU / Linux).
Requisitos
RouterBoard (Para aplicaciones no muy robustas, ejemplo pequeñas y medias oficinas).
Cloud Core Router (Se recomienda usar como servidor principal en caso de requerir conectar multiples clientes, ejemplo interconectar sucursales de alto grado de usuarios y trafico).
RouterOS requiere v3.x y deberá instalar y habilitar el ppppaquete. (En versiones v6.xx no es necesario).
Hay una limitación para usar OpenVPN en la plataforma RouterOS: actualmente solo es compatible con tcp, udp no funcionará, se comenta que en próximas versiones aceptara udp y compresion LZO.
Se recomienda usar IP publica fija para conexiones remotas, en caso de usar IP's dinámicas puede usar el servicio de DynDNS o NO-IP pero no es recomendable ya que puede haber retrasos de 5 a 30 segundos entre cada actualizacion de IP y eso puede afectar directamente la conexion en general.
Se recomienda actualizar el sistema a la ultima versión mas estable.
Objetivos
- Conectar corporativo con múltiples sucursales / oficinas necesitan compartir datos entre sitios.
- Corporativo con usuarios móviles que trabajan fuera de la oficina y se conectan a sistemas de aplicaciones privadas / locales.
Topologia
¿Que pasos debo seguir?
- Generación de certificados.
2. Configuración de la puerta de enlace VPN del sitio del servidor.
3. Configuración del cliente VPN del sitio de sucursal.
4. Conexión de enrutamiento y verificación.
1.- Generación de certificados
Acceder por SSH (puede ser mediante Putty) a Servidor Mikrotik (Gateway), crea tu propia certificado de autoridad (CA) llamado myCA y lo siguiente...
192.168.1.1 es la interfaz LAN.
Exportar el certificado CA.
Cree un par de claves públicas y privadas para el servidor VPN y otro par de claves para el cliente VPN.
Firme ambas claves públicas con el certificado de autoridad CA.
#/certificate sign OVPNserver ca=myCA name=server
#/certificate sign OVPNbranch ca=myCA name=branch
Exportar la clave privada de la sucursal VPN y la clave pública + archivos de certificado.
Verifique sus certificados:
Verifique sus archivos:
Descargue los archivos de certificados del servidor, utilizando sftp / winbox o webfig.
2. Configuración de la puerta de enlace VPN (Servidor)
Crear el perfil de PPP y el grupo de direcciones IP
Revisa la configuración.
Agrega al usuario “branch” con segunda autenticación secreta y revisa la configuración.
Reemplace "yourpassword" por su propia contraseña.
Crea la interface OVPN en el Mikrotik gateway usando certificado, autenticacion SHA-1, cifrado AES256, puerto 1194, Modo IP.
3. Configuración del cliente VPN del sitio de sucursal
Importa el certificado descargado anteriormente del Mikrotik Gateway(corporativo) a Branch Mikrotik(sucursal) usando sftp/webfig/winbox.
Importar certificados, (usar su propia contraseña creada anteriormente para la frase de contraseña(passphrase)).
Revisa que se hayan importado correctamente.
Agrega Interface para cliente VPN en Mikrotik de sucursal.
Cambie "HQWAN-IP" a su dirección IP pública de Mikrotik Gateway en caso de ser una conexión remota (los dos puntos deberán tener salida a internet). Si está usando una dirección IP publica dinámica, habilite un DDNS como puede ser DynDNS o NO-IP por ejemplo y use el nombre de dominio, cambie "yourpassword" a su propia contraseña.
4. Conexión de enrutamiento y verificación
Revisa los ajustes de conexión en servidor y cliente.
Agregar ruta en Mikrotik Gateway:
Agregar ruta en Mikrotik de sucursal:
Revisa la ruta de conexión:
Hasta aquí ya tenemos configurado nuestro Servidor OpenVPN con un cliente conectado de sucursal al corporativo (Ejemplo)