Wireguard en Opnsense
#1
Wireguard es una VPN muy superior a OpenVPN tanto en rendimiento como en seguridad que al instalarla en Opnsense actuando como router-firewall nos permite un acceso seguro desde el exterior a todos los dispositivos de nuestra red local. Opnsense es un sistema operativo basado en FreeBSD y a dia de hoy existen dos formas de instalar Wireguard las dos creadas, gestionadas y mantenidas por el creador de Wireguard y esas dos formas de instalación las tenemos disponibles en Opnsense.

Si en Opnsense accedemos a Sistema - Firmware - Complementos nos encontramos con os-wireguard-go que si quisiéramos instalarlo le tendríamos que dar al símbolo + que se ve a la derecha de la siguiente imagen

   

Este plugin de Wireguard era el oficial hasta hace muy poco tiempo, aunque no aparece en la imagen anterior a vosotros os aparecerá junto a el otro plugin llamado os-wireguard que como yo ya lo tengo instalado me aparece en la parte superior del apartado complementos de Opnsense y es el que recomiendo instalar

   

Las diferencias entre uno y otro plugin de Wireguard consisten en que os-wireguard una vez instalado hace uso directo del kernel de FreeBSD y por tanto tiene un mayor rendimiento mientras que os-wireguard-go NO LO HACE.

Solo podemos instalar uno de los dos plugins de Wireguard pero una vez escogido cual nos gusta más la instalación ES LA MISMA para los dos. Así que el primer paso consiste en escoger uno de los dos plugins de Wireguard e instalarlo dándole al símbolo + que tenemos a su derecha.

A continuación nos vamos a VPN - Wireguard - Local y le damos al símbolo + que nos encontramos a la derecha

   

Nos va a aparecer más o menos lo siguiente

   

Lo primero es ponerle un nombre, le ponemos también un puerto de escucha que puede ser el 51820 que es el puerto por defecto para las conexiones Wireguard o cualquier otro que no esté en uso. Le tenemos que poner también una Dirección de tunel que para el ejemplo de este tutorial va a ser la 10.0.0.1/24 aunque puede ser perféctamente otra. En la imagen que acabo de poner se ve que el apartado Pares está configurado, a vosotros os aparecerá vacío....luego lo explico. En la imagen también se ve que aparecen tachadas las Claves Públicas y Privadas pero a vosotros NO OS VA A APARECER NADA y como también se puede ver NO hay botón de generar esas claves. Esas dos claves os aparecerán después de darle al botón GUARDAR que se ve en la imagen. Para poder verlas una vez guardado los cambios le tenemos que dar al símbolo del lápiz que permite editar lo que acabamos de configurar y que se puede ver a la derecha en la imagen anterior a esta última que acabo de poner.

Esa clave Pública se la tenemos que poner a los clientes Wireguard y la clave Pública de los clientes Wireguard hay que ponerla en Opnsense. Ganekogorta tiene un excelente tutorial en este foro en el que se explica muy bien cómo se realiza el intercambio de claves: https://www.qnapclub.es/showthread.php?tid=4295

Ahora nos vamos a VPN - Wireguard - Puntos finales y al igual que hicimos antes le damos al símbolo + que nos encontramos a la derecha

   

Nos aparece más o menos lo siguiente

   

Le ponemos un nombre, en el apartado Clave Pública tenemos que poner la clave pública generada en el cliente Wireguard. En la imagen se puede ver que tengo una segunda clave en el apartado Secreto compartido, para eso Google es vuestro amigo. En el apartado Allowed IPs tenemos que poner la ip del cliente Wireguard. Antes he comentado que la red de Wireguard para este tutorial iba a ser la 10.0.0.1/24 así que la ip para el cliente que tenemos que poner aquí podría ser la 10.0.0.2 con la particularidad de que en lugar de ser /24 tiene que ser /32 con lo cual tenemos que poner 10.0.0.2/32
Como se puede ver podemos poner todas las ips para los clientes Wireguard que queramos
En la parte de abajo se puede ver que tengo un keepalive de 25 segundos que sirve para mantener la conexión Wireguard activa. Configurado todo esto le damos al botón Guardar.

Estamos en el apartado Puntos finales de Adguard y ahora tenemos que regresar al apartado Local de Wireguard que estuvimos antes y a la derecha nos encontraremos el símbolo del lápiz que nos permite editar lo que tenemos creado. Lo hacemos y en el apartado Pares que antes comenté que estaba vacio ahora nos tiene que aparecer la opción del nombre que acabamos de poner en el apartado Puntos finales. Lo configuramos y guardamos los cambios.

Ahora nos vamos a VPN -Wireguard - General, activamos Wireguard y aplicamos los cambios

   

Lo siguiente es irnos a Interfaces - Asignaciones

   

En la imagen se puede ver que el interfaz WG lo tengo ya creado, vosotros no lo tendréis así pero lo podréis ver en el apartado Nueva interfaz. Lo siguiente es añadirlo dándole al símbolo + de la derecha

Ahora nos vamos a Interfaces - WG

   

Lo tenéis que configurar tal y como se ve en la imagen, a continuación se guardan los cambios.

Al tener instalado Wireguard en Opnsense que actúa como router NO tenemos que hacer una redirección de puerto para abrir el puerto que hayamos configurado para Wireguard. Para abrir ese puerto nos vamos a Cortafuegos - Reglas -Wan y le damos al símbolo + que nos aparece a la derecha

   

Al hacerlo nos aparece lo siguiente que tenemos que dejar tal como se ve en la siguiente imagen

   

Como Protocolo escogemos UDP, Origen cualquiera, Destino WAN dirección y en el apartado Rango de puertos destino ponemos el puerto que hayamos configurado antes para Wireguard en AMBOS LADOS, hecho esto guardamos los cambios.

Ahora nos vamos a Cortafuegos - Reglas - WG y al igual que hemos hecho en anteriores configuraciones le damos al símbolo + que nos encontramos a la derecha

   

Nos aparece lo siguiente

   

Esta regla sirve para que los clientes Wireguard tengan acceso a los dispositivos de nuestra red local y se puede configurar de muchas maneras. Por seguridad y siguiendo con el ejemplo que expliqué antes de la ip 10.0.0.2/32 para el cliente Wireguard que configuramos antes sólo permito esa ip con derecho a acceder a la red local en su totalidad. A partir de aquí 1000 cosas, como destino podemos dejar configurado cualquiera tal como se ve en la imagen, podemos restringir ese acceso mediante ip a un sólo dispositivo de destino de nuestra red local, etc, etc. Hecho esto guardamos los cambios.

Lo siguiente es irnos a Cortafuegos - Reglas - Wireguard (GROUP)

   

Aquí tenemos que hacer lo mismo que acabamos de hacer en Cortafuegos - Reglas - WG y con los mismos parámetros que hayamos puesto antes. Como lo acabo de explicar no lo vuelvo a repetir.

Como he dicho antes ya tenemos configurado Wireguard y los clientes Wireguard ya tienen acceso seguro desde el exterior a los dispositivos de nuestra red local. Lo siguiente es opcional y sirve para que esos clientes Wireguard una vez conectados al Servidor Wireguard en Opnsense a la misma vez sigan teniendo salida a Internet. Para conseguir esto nos vamos a Cortafuegos - Nat - Saliente

   

Al acceder a este apartado veremos en la parte superior que está activo el Modo Generación automática de regla NAT saliente. Lo tenemos que cambiar a Generación híbrida de NAT saliente, cambiado ese ajuste le damos al botón Guardar. Hecho esto a continuación le damos al símbolo + que nos encontramos a la derecha para crear una regla.

   

La tenemos que configurar tal y como se ve en la imagen. Como Interfaz escogemos WAN. En el apartado Dirección origen se ve que tengo puesto Wireguard (Group) red pero aunque tengo que decir que no lo he probado es muy posible que si pusiéramos WG red tendría el mismo efecto. Hecho esto guardamos los cambios.

Una vez terminado con todo es muy aconsejable REINICIAR OPNSENSE
  Reply




Users browsing this thread: 1 Guest(s)