- julio 24, 2022
- 0 Comments
- By Laura García Bustos
En este artículo vamos a dar una guía paso a paso de como configurar un servidor de OpenVPN sobre un appliance de Pfsense con el fin de conectar vía OpenVPN las distintas sedes de una empresa mediante VPNs LAN to LAN utilizando como cliente router Mikrotik.
En este caso vamos a partir de un appliance de Pfsense ya instalado, podéis ver un ejemplo de instalación en nuestra entrada sobre servidores OpenVPN
El trabajo consiste en desplegar un servidor de OpenVPN en el Pfsense con una configuración específica para establecer una VPN con los Mikrotik, crear los usuarios que van a utilizarlos y configurar los clientes de OpenVPN en los mismos.
Empezaremos configurando el servidor de OpenVPN:
Utilizaremos el asistente, para ello nos logamos en el Pfsense y vamos a VPN > OpenVPN y seleccionamos Wizards.
Seleccionamos en el tipo de servidor de autenticación Local User Access
Seleccionamos la CA que ya creamos en el anterior tutorial, sino podemos crear una nueva.
Seleccionamos el certificado del servidor, en este caso el que ya teníamos emitido.
En el siguiente paso configuraremos los parámetros del servidor de OpenVPN:
- Protocol > TCP on IPv4 only (para los clientes de OpenVPN de Mikrotik es necesario que sean TCP).
- Local Port > 1195, esto es porque ya hemos utilizado el 1194 para otro servidor.
- Description. Debemos poner una descripción para poder identificar posteriormente el servidor.
- TLS Authentication. Esta opción debe estar desactivada.
- Data Encryption Algorithms seleccionamos AES-256-GCM.
- Auth Digest Algorithm seleccionamos SHA1 (160-Bit).
- Tunnel Network. Aquí ponemos una red que no se vaya solapar con nuestras redes corporativas ya que va a ser la empleada para el direccionamiento del túnel, en este caso 10.126.0.0/24.
- Local Network. Es la IP de la red local de la oficina en donde reside el Pfsense, si tenéis más de una red que queréis que sea accesible a través del túnel debéis añadirlas separadas por coma, en nuestro caso la IP es 192.168.88.0/24.
- Concurrent Connections para limitar el número de conexiones que admitirá el servidor, si sólo se van a conectar un número específico de conexiones se puede limitar a ese número.
- Compression seleccionamos Omit Preference,+ Disable Adaptative LZO Compression.
- DNS Server indicamos los DNS a entregar.
Le daremos a Next y en la siguiente pantalla dejaremos marcadas las dos opciones por defecto para que cree las reglas correspondientes en el Firewall del Pfsense.
Vamos a revisar nuestro servidor, para ello haremos clic en el icono del lápiz que aparece en la opción Actions.
Ahora debemos modificar ciertos parámetros que no hemos podido cambiar con el asistente:
- Server mode seleccionaremos la opción Peer to Peer (SSL/TLS).
- Peer Certificate Revocation list seleccionaremos una que ya tengamos creada o crearemos una nueva.
- Data Encryption Negotiation activaremos la opción Enable Data Encryption Negotiation.
- Data Encryption Algorithms añadimos los 6 que empiezan por AES-256-…
- IPv4 Remote network(s) tenemos que añadir las redes que van a ser accesibles al otro lado del Mikrotik, en nuestro caso 192.168.1.0/24
- Allow CompressionseleccionaremosDecompress incoming, do not compress outgoing (Asymmetric)
- Gateway creation seleccionaremos IPv4 only
Quedará configurado del siguiente modo:
Una vez tenemos listo el servidor vamos a crear un usuario para el Mikrotik, aunque realmente sólo necesitaremos los certificados tener un usuario nos facilitara las labores de administración.
Para ello vamos a System > User manager y le damos a + Add:
- Disabled marcamos la opción This user cannot login ya que este usuario va a ser para un router y no tiene porque logarse en el portal del Pfsense.
- Definimos los valores de Username, Password y Full name
- Certificate seleccionamos Click to create a user certificate
- Descriptive name añadimos un nombre para el certificado.
Y le damos a Save para guardar los datos y generar el nuevo usuario.
Ahora procederemos a exportar los certificados necesarios para la conexión, para ello vamos a System > Certificate Manager > Certificates
Localizaremos el certificado del servidor de VPN, en nuestro caso VPN-test, y hacemos clic en el icono con una estrella (Export certificate) de las opciones de Actions y guardamos el archivo .crt
Localizaremos el certificado del usuario para nuestro Mikrotik, en nuestro caso mk01, y descargaremos el certificado y la llave, haciendo clic en los iconos de la estrella y la llave, y guardando los archivos .crt y .key. También nos anotaremos el common name del certificado que aparece después del CN=, en nuestro caso mk01
El último paso en el servidor consiste en crear una configuración específica para determinar las redes locales del cliente Mikrotik, para ello vamos a VPN > OpenVPN > Client Specific Overrides y le damos a +Add:
- Server List seleccionamos nuestro servidor Lan 2 Lan
- Common Name ponemos el nombre del usuario exactamente igual que aparece en el CN del servidor, en nuestro caso mk01
- Description poner una descripción.
- IPv4 Remote Network/s la red o redes que van a ser accesibles tras el Mikrotik, en nuestro ejemplo es 192.168.1.0/24
Pulsamos en Save y habremos terminado la parte del Pfsense, ahora tendremos que conectarnos al Mikrotik de la sede. Estos pasos los vamos a realizar con WinBox que es más asequible para los que os estéis iniciado, esta aplicación la podéis descargar desde la página oficial de Mikrotik.
Vamos a partir de que el Mikrotik ya lo tenéis configurado para dotar de al menos una red local a vuestra sede y que tiene una salida a internet habilitada.
Una vez nos conectamos al Mikrotik con el WinBox seleccionamos Files y en la ventana de File List seleccionamos la opción Upload…, después seleccionamos los tres certificados que nos hemos bajado anteriormente de Pfsense, los dos archivos .crt y el archivo .key
Vamos a importar los certificados que hemos subido al router, para ello vamos a System > Certificates y hacemos clic sobre Import, en la opción File Name seleccionamos primero uno de los .crt
Después importamos el segundo archivo .crt del mismo modo.
Por último, importamos de la misma forma la clave privada del archivo .key
Una vez importados vemos que junto al certificado del servidor aparece una T y en el del Mikrotik aparece una KT que indica que están tanto el certificado como la llave.
Una vez importados los certificados configuramos la conexión VPN propiamente dicha.
Primero vamos a crear un nuevo perfil para la conexión VPN, vamos a PPP y en la pestaña Profiles y seleccionamos el icono +.
Ponemos un nombre a nuestro perfil, en este caso vamos a definir la IP del túnel que va a tener el remoto (nuestro pfsense) y la IP del túnel que va a tener nuestro Mikrotik, el resto lo dejaremos por defecto.
- Name: profile_test
- Local address: 10.126.0.2
- Remote address 10.126.0.1
Para ello vamos al menú PPP y pulsamos en el icono + de la pestaña Interface y seleccionamos OVPN Client.
En la pestaña General solo ponemos un nombre a la conexión:
- Name: ovpn-test
- En la pestaña de Dial Out.
- En Connect To: la IP de nuestro servidor, si podemos es mejor utilizar un nombre de DNS
- Port: Ponemos el puerto TCP que hemos configurado en el Pfsense, en este caso 1195
- En User ponemos el nombre del usuario creado previamente en el Pfsense mk01
- En Profile seleccionamos el perfil que hemos creado antes profile_test
- En certificate seleccionamos el certificado del cliente (el que hemos importado también la clave privada) mk01.crt_0
- Auth: dejamos Sha1.
- Chipher: seleccionamos aes 256
Quedando del siguiente modo:
Una vez que le demos a aceptar se conectará automáticamente la VPN y ya dispondremos de conectividad entre ambas sedes.
En la parte inferior de la ventana de Interface <open-test> se puede ver el estado de la conexión, en este caso debe aparecer Status: Connected
Y con esto quedaría configurada la interconexión de las dos sedes.
Te animamos a seguir nuestras publicaciones en los medios habituales para seguir aprendiendo sobre aspectos básico y avanzados de tecnología de administración de sistemas.
Leave a comment