GUIA CONFIGURACION OPENVPN CON ACCESO A HOSTS TRAS ROUTER LAN
-
He decidido compartir mi experiencia en la resolución de un problema relacionado con el acceso a un host desde un cliente conectado por OpenVPN a través de PfSense en un esquema de red de este tipo:
Router ISP
|
Firewall PfSense (con servidor OpenVPN)
|
Router LAN
|
Hosts LANOBJETIVO:
El objetivo es que cualquier cliente conectado al servidor OpenVPN en PfSense pueda hacer ping a un host detrás del router de la red LAN.
Inicialmente, el problema encontrado era que los pings se cortaban tras llegar a la puerta WAN del router de la red interna (router LAN) detrás del PfSense, haciendo sospechar que se trataba de un problema de ese router y no del PfSense.Finalmente descubrí que al utilizar la instalación automática o Wizard del OpenVPN y chequear las casillas de crear reglas automáticas en el Firewall, los pings dejaban de llegar a la red LAN.
SOLUCIÓN:
Para evitar interferencias de otras configuraciones, este "setup" se ha realizado y probado con una instalación limpia de PfSense a la que posteriormente se le han implementado solamente los pasos necesarios para logar el objetivo.
-
1. Instalación limpia de PfSense
-
2. Una vez instalado debemos crear una LAN Gateway hacia la puerta WAN del router de la red LAN (Ir a: System>Routing>Gateways +Add) indicando la IP de dicha puerta.
-
3. Crear una ruta estática desde PfSense hacia la red LAN del router LAN, la red donde estarán los host a los que queremos llegar. (para ello ir a: System>Routing y seleccionar pestaña: Static Routes + Add) una vez aquí, la red de destino será la red donde están los hosts a alcanzar y debemos también seleccionar la Gateway anteriormente creada.
-
4. A continuación hacemos una instalación manual del servidor OpenVPN (hay diferentes manuales en la documentación de PfSense, pero básicamente ir a: VPN > OpenVPN + Add) En la instalación NO usamos el wizard para no inducir a errores al crear reglas automáticas en el firewall, aunque quizá se podría usar el wizard sin problema teniendo precaución de no crear esas reglas, de esta forma la instalación manual no crea reglas y debemos aplicarlas manualmente. Al hacer la instalación en OpenVPN establecer la red del tunel con un rango de IP's por un lado e indicar la red de destino LAN en el rango donde están ubicados los hosts a alcanzar.
-
5. Finalmente, si vamos a ver los logs del Firewall en PfSense y tratamos de conectar un cliente por OpenVPN al servidor, veremos que aparece una regla bloqueada que debemos autorizar, con origen la ip publica de ese cliente que intenta conectar y destino la puerta WAN del firewall de PfSense.
Una vez autorizada la regla, la modificamos para permitir cualquier origen (publico) y que cualquier cliente se puede conectar desde fuera de la red.
En cualquier caso, la regla se crearia en la pestaña WAN de rules del Firewall PfSense y seria del tipo:
Protocol: IPV4 UDP (o TCP si se configuro el servidor OpenVPN con ese protocolo), Origen:
Any, Destination: IP de la puerta WAN del Firewall (la que recibe las conexiones de fuera de la red) Port: 1194 (openVpn o el que fuera si se ha cambiado)
Con tan solo esta configuración, se puede hacer ping desde un cliente conectado por OpenVPN a un host de la red LAN.
No es una configuración compleja pero resuelve el problema que inicialmente comentaba.
Espero que ayude a quien como yo estuviera en la misma situacion.
Saludos!. -