Configurar servidor de VPN WireGuard en pfSense CE 2.7.2

Configurar servidor de VPN WireGuard en pfSense CE 2.7.2

Hemos podido comprobar que este excelente VPN es capaz de alcanzar velocidades superiores a otros VPN entre ellos OpenVPN y IPsec, trae compatibilidad con Windows, Linux, MacOS, FreeBSD, Android e iOS. Ahora gracias a que pfSense lo ha incorporado en sus software podemos utilizarlo de manera más sencilla y fácil de implementar. 

WireGuard VPN es un software muy liviano que nos permitirá configurar de forma rápida y fácil un túnel VPN.

Vamos a ello:

Gracias al equipo de desarrollo de pfSense, a partir de la versión 2.5.0 ya trae WireGuard integrada en la interfaz gráfica de usuario de manera predeterminada, de no tenerla integrada en el vuestro podéis ir a System -> Package Manager -> Available Packages

Realizamos una búsqueda e instalamos el paquete

Una vez instalado nos vamos al menú de VPN y damos clic en Wireguard, donde podremos realizar la configuración del servidor de VPN.

Vamos directamente a Settings y lo habilitamos y dejamos todo lo demás como está, luego damos en save y apply changes.

Nos vamos a la pestaña Tunnels para añadir el que queremos configurar.

Para la configuración del túnel tenemos que añadir una descripción el puerto/UDP la interfaz de red que utilizará la VPN y generar las keys.

Salvamos la configuración y aplicamos los cambios.

Necesitamos agregar los peers, estos son cada dispositivos que vamos a unir.Para ello necesitamos tener el cliente Wireguard instalado en el dispositivo que vamos a unir, una vez instalado le damos en la pestañita abajo de Añadir túnel y luego Añadir túnel vacío (Ctrl+N).

Le damos un nombre para identificarlo y copiamos la Clave pública.

Ahora que tenemos copiada la Clave pública nos vamos nuevamente a pfSense para terminar de configurar el cliente.

Modificamos en pfSense:

Tunnel: el nombre que hayamos asignado al creado anteriormente.
Description: Insertar una descripción corta para poder identificar el cliente en mi caso he usado cliente1.
Public Key: Añadimos la Clave pública que hemos copiado del cliente que vamos a unir.
Allowed IPs: Insertar un IP en el rango que le hemos asignado a nuestro Wireguard, en mi caso les voy a asignar a los clientes a partir del 10, la que configuramos la ponemos como /32 para que nadie más pueda conectar con mi configuración si no coincide con el IP y las llaves públicas.

Luego de tener rellenada la configuración salvamos y aplicamos.

Ahora nos vamos al cliente que vamos a unir para terminar la configuración.

PrivateKey: Mantenemos el que nos ha generado el cliente

Añadimos:

Address = 192.168.51.10/24 # IP configurada para este cliente el el peer de pfSense.
DNS = 192.168.0.10 # DNS que tengamos configurados en nuestra red interna, también podemos utilizar DNS externos como los de google.
PublicKey = owYqAy03bVWZyIKRdBXF7lSRUT8= # llave pública del pfSense.
AllowedIPs = 192.168.0.0/24, 10.0.1.0/24 # Redes a las que le vamos a permitir el acceso.
Endpoint = VPN.Daisad.es:51820 # Dirección externa que nos permite el acceso y puerto por el que escucha.

Una vez que tenemos esto realizado nos vamos a pfSense en el firewall para permitir el tráfico: Firewall -> Rules -> Wan

Añadimos una nueva regla quedando de la siguiente forma:

Guardamos los cambios nos vamos a las reglas del Wireguard para permitir el acceso a las redes locales: Firewall -> Rules -> WireGuard

En el ejemplo hemos creado una regla completamente permisiva, lo cual les recomiendo que no la dejen así sino que apliquen las reglas correspondientes con su infraestructura.

Luego de añadir esta regla podrías administrar toda la red interna teniendo acceso a todo lo que está debajo de pfSense.

Espero les sea de ayuda, ¡Feliz día!

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

Deja una respuesta

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