El entorno de las redes empresariales modernas se caracteriza por una creciente necesidad de seguridad y flexibilidad en las comunicaciones. En este contexto, los sistemas VPN (Red Privada Virtual) se han convertido en una herramienta indispensable para proteger el tráfico de datos y permitir el acceso remoto seguro a los recursos corporativos. pfSense, un sistema operativo de firewall y router de código abierto, ofrece una amplia gama de opciones para configurar servidores VPN, siendo IPsec uno de los protocolos más robustos y ampliamente utilizados. Sin embargo, la configuración de IPsec, especialmente con la variante IKEv1 xAuth, puede presentar desafíos, llevando a situaciones donde los servidores internos no son visibles desde las conexiones VPN. Este artículo se adentra en los entresijos de la configuración de IPsec en pfSense, abordando las causas comunes de la inaccesibilidad de servidores y proporcionando soluciones prácticas para garantizar una conectividad VPN fluida y segura.

Comprendiendo IPsec y sus Variantes en pfSense
El protocolo IPsec (Internet Protocol Security) es un conjunto de protocolos que opera en la capa de red para asegurar las comunicaciones IP. Su principal función es autenticar y cifrar cada paquete IP intercambiado entre dos dispositivos de comunicación. pfSense soporta diversas implementaciones de IPsec, incluyendo IKEv1 y IKEv2, cada una con sus propias características y consideraciones de seguridad.
IPsec IKEv1 xAuth: Un Vistazo Detallado
IPsec IKEv1 xAuth es una configuración de VPN que permite la conexión de clientes remotos como smartphones, tablets y ordenadores portátiles. Utiliza el protocolo IKEv1 (Internet Key Exchange versión 1) para la negociación de los parámetros de seguridad, como los algoritmos de cifrado y autenticación, y xAuth (Extended Authentication) para la autenticación del usuario mediante nombre de usuario y contraseña. La modalidad "Mutual PSK + xAuth" implica el uso de una clave precompartida (PSK) que debe ser idéntica tanto en el servidor como en todos los clientes VPN.
Consideraciones Previas para IKEv1:
- Seguridad: IKEv1 presenta vulnerabilidades conocidas, como la susceptibilidad a ataques "man-in-the-middle". Es crucial implementar políticas de contraseñas robustas y considerar la migración a protocolos más seguros como IKEv2 si la seguridad es una preocupación crítica.
- Compatibilidad: Aunque IKEv1 es ampliamente soportado, es fundamental verificar la compatibilidad con todos los dispositivos y sistemas operativos que se conectarán.
- Rendimiento: La funcionalidad de VPN puede ser intensiva en el uso de la CPU, especialmente en comparación con otros protocolos. Un rendimiento adecuado debe ser evaluado al implementar la solución.
- Configuración y Gestión: Establecer planes claros para la configuración y gestión del servidor VPN es esencial para su correcto funcionamiento y mantenimiento.

IPsec IKEv2: La Evolución Hacia una Mayor Seguridad y Eficiencia
IKEv2 es una evolución directa de IKEv1, desarrollado para ofrecer una seguridad más robusta, un rendimiento mejorado y una mayor fiabilidad. Es un protocolo más moderno, a menudo integrado de forma nativa en sistemas operativos como Windows y algunos dispositivos móviles.
Ventajas Clave de IKEv2:
- Seguridad Mejorada: Soporta algoritmos de cifrado modernos y avanzados como AES, Camelia y ChaCha2.0, y permite el cifrado en ambos extremos de la comunicación. El uso de EAP (Extensible Authentication Protocol) ofrece una autenticación robusta.
- Velocidad y Eficiencia: Admite NAT transversal, lo que facilita la superación de firewalls y acelera el establecimiento de la conexión. La funcionalidad MOBIKE (Mobility and Multihoming Protocol) permite reconexiones rápidas y fluidas al cambiar entre redes.
- Confiabilidad: Las comunicaciones se establecen mediante pares de mensajes de solicitud y respuesta, mejorando la estabilidad.
- Compatibilidad: Aunque no es universalmente compatible con clientes más antiguos, su adopción está en aumento en sistemas operativos modernos y aplicaciones VPN.
Tabla Comparativa: IKEv1 vs. IKEv2
| Característica | IKEv1 | IKEv2 |
|---|---|---|
| Seguridad | Vulnerabilidades conocidas, cifrados débiles por defecto. | Más robusto, soporta suites de cifrado modernas (Suite B). |
| Rendimiento | Establecimiento de túnel más lento. | Más rápido y eficiente. |
| Fiabilidad | No soporta reconexión automática. | Soporta reconexión automática y MOBIKE. |
| Complejidad Gestión | Moderada. | Baja. |
| Escalabilidad | Limitada en entornos grandes. | Excelente, ideal para entornos empresariales. |
Nota Importante: Las versiones 1 y 2 de IKE no son compatibles entre sí. Un dispositivo configurado para IKEv1 no podrá establecer un túnel VPN con uno configurado para IKEv2.
Como configurar vpn IPsec Site to Site en pfsense
Diagnóstico de Problemas de Conectividad: "No Puedo Ver Mis Servidores"
Cuando los clientes VPN no pueden acceder a los servidores internos a través de una conexión IPsec en pfSense, las causas pueden ser variadas y a menudo se relacionan con la configuración del firewall, las reglas de IPsec, o la propia configuración del servidor VPN.
Fase 1 y Fase 2 de IPsec: La Negociación del Túnel
El protocolo IPsec se divide en dos fases principales:
- Fase 1: Se encarga de la autenticación del servidor y el cliente, y establece un canal seguro para la negociación de la Fase 2. Aquí se definen parámetros como el modo de negociación (Main o Aggressive), algoritmos de cifrado y autenticación, y el grupo Diffie-Hellman.
- Fase 2: Una vez establecida la Fase 1, la Fase 2 negocia los parámetros de seguridad para el tráfico de datos real, como los algoritmos de cifrado simétrico y los protocolos de autenticación para el túnel de datos.
Si la configuración de cualquiera de estas fases no coincide entre el servidor y el cliente, o si los parámetros son demasiado restrictivos para el cliente, la conexión puede fallar o, una vez establecida, no permitir el acceso a los recursos.
Configuración Incorrecta en pfSense
La configuración de IPsec en pfSense requiere atención a varios detalles:
- Modo de Funcionamiento: Para VPNs de acceso remoto (clientes móviles), se suele utilizar el modo "Tunnel IPv4". La elección de la "Local Network" determina a qué redes internas podrán acceder los clientes VPN.
- Propuestas de Cifrado: Es común que los clientes VPN (especialmente los de dispositivos móviles) no soporten algoritmos de cifrado extremadamente robustos o grupos DH muy altos. Si el servidor pfSense está configurado con propuestas de seguridad demasiado elevadas, los clientes podrían no ser capaces de establecer la conexión.
- Usuarios y Permisos: Para IKEv1 xAuth, es necesario crear usuarios en el "System / User manager" de pfSense y asignarles los permisos adecuados.
- Reglas de Firewall:
- WAN: Es imprescindible abrir los puertos necesarios para IPsec en la interfaz WAN de pfSense. Estos son típicamente el puerto 500 UDP (para IKE) y el puerto 4500 UDP (para NAT-T).
- IPsec Interface: Se deben crear reglas en la interfaz IPsec de pfSense para permitir el tráfico desde las redes VPN hacia las redes internas. Una regla de "permitir todo" (
pass any any any) en la interfaz IPsec puede ser útil para diagnóstico inicial, pero debe ser refinada posteriormente por motivos de seguridad.
- Configuración Específica del Cliente: La configuración de seguridad puede variar significativamente entre diferentes clientes VPN (Android, iOS, software de Windows). Es vital verificar qué algoritmos y parámetros de negociación soporta cada cliente.
Errores Comunes y Cómo Solucionarlos
- "NOPROPOSALCHOSEN": Este error, visible en los registros de IPsec (
Status > System Logs > IPsec), indica que el servidor y el cliente no han podido acordar un conjunto de parámetros de seguridad compatibles. La solución implica revisar las "propuestas" (algoritmos de cifrado, integridad, intercambio de claves) que envía el cliente y ajustar la configuración del servidor pfSense para que ofrezca un conjunto compatible. A menudo, esto significa utilizar algoritmos menos robustos pero más compatibles. - Fallos de Negociación IKEv2: Si se utiliza IKEv2 y hay fallos en la negociación, se debe revisar el algoritmo de curva elíptica seleccionado, el tamaño de la clave Diffie-Hellman y el método de autenticación.
- Timeout en la Conexión: Un "timeout" puede indicar que los puertos 500 UDP y 4500 UDP no están abiertos correctamente en la interfaz WAN, o que existe un firewall intermedio bloqueando el tráfico.
- Conexión Establecida, pero sin Acceso a Servidores: Si el cliente se conecta exitosamente a la VPN pero no puede acceder a los servidores internos, el problema suele residir en:
- Reglas de Firewall: La interfaz IPsec en pfSense necesita reglas que permitan el tráfico desde la red VPN hacia las redes internas deseadas.
- Configuración de Redes Locales: La "Local Network" configurada en el túnel IPsec en pfSense debe incluir las subredes a las que los clientes VPN necesitan acceder.
- Enrutamiento: Asegurarse de que pfSense tiene las rutas correctas para dirigir el tráfico de la VPN a las redes de destino.
- NAT: En algunos escenarios, especialmente con configuraciones Site-to-Site, puede ser necesario configurar NAT de destino (DNAT) para que el tráfico dirigido a los servidores internos desde la VPN sea correctamente enrutado.

Configuración Práctica en pfSense: Un Enfoque Paso a Paso
La configuración de IPsec en pfSense, ya sea IKEv1 xAuth o IKEv2, sigue un proceso similar, aunque con diferencias en los parámetros.
Configuración de IPsec IKEv1 xAuth
- Crear Usuarios: Navegar a
System / User managery crear los usuarios con sus respectivas contraseñas. Se pueden asignar permisos adicionales si es necesario. - Configurar IPsec - Fase 1 (P1):
- Ir a
VPN / IPsec. - Hacer clic en el botón verde
+ Add P1. - Key Exchange version: Seleccionar
IKEv1. - Internet Protocol: Seleccionar
IPv4. - Interface: Elegir la interfaz WAN.
- Remote Gateway: Dejar en blanco para VPNs de acceso remoto (clientes que inician la conexión).
- Authentication Method: Seleccionar
Mutual PSK. - My identifier:
My IP address. - Peer identifier:
Any. - Pre-Shared Key: Introducir una clave segura.
- Encryption Algorithm, Hash Algorithm, Diffie-Hellman group: Seleccionar algoritmos compatibles con los clientes. Se recomienda empezar con opciones más comunes como AES, SHA1 y un grupo DH bajo (ej. 2 o 5) si se experimentan problemas de conexión.
- Mode: Seleccionar
AggressivesiMaincausa problemas de conexión con clientes. - Default Lifetimes: Dejar los valores por defecto o ajustarlos según la política de seguridad.
- Guardar y aplicar cambios.
- Ir a
- Configurar IPsec - Fase 2 (P2):
- Una vez guardada la Fase 1, aparecerá un botón verde
+ Add P2para esa entrada. Hacer clic en él. - Mode: Seleccionar
Tunnel IPv4. - Local Network: Definir la red interna a la que los clientes VPN tendrán acceso (ej.
LAN subneto una red específica). - Remote Network: Dejar en
Anypara VPNs de acceso remoto. - Protocol: Seleccionar
ESP. - Encryption Algorithms, Hash Algorithms: Elegir algoritmos compatibles.
- Guardar y aplicar cambios.
- Una vez guardada la Fase 1, aparecerá un botón verde
- Configurar Firewall Rules:
- Ir a
Firewall / Rules. - En la pestaña
WAN, crear una regla para permitir el tráfico en los puertos500 UDPy4500 UDP. - En la pestaña
IPsec(o la interfaz virtual creada para IPsec), crear una regla para permitir el tráfico desde la red VPN hacia la red interna deseada (ej.Pass Any Any Anypara pruebas iniciales, luego refinar).
- Ir a
- Configuración del Cliente VPN: Configurar el cliente VPN en el dispositivo móvil u ordenador con la dirección IP pública de la WAN de pfSense, la clave precompartida y las credenciales de usuario.
Configuración de IPsec IKEv2
La configuración de IKEv2 es similar, pero con algunas diferencias clave:
- Configurar IPsec - Fase 1 (P1):
- Ir a
VPN / IPsec. - Hacer clic en el botón verde
+ Add P1. - Key Exchange version: Seleccionar
IKEv2. - El resto de los parámetros son similares a IKEv1, pero con opciones de cifrado y algoritmos más modernos. Se puede intentar usar algoritmos más robustos como AES-GCM y SHA256/SHA384.
- PFS key group: Habilitar Perfect Forward Secrecy (PFS) si es posible y si los clientes lo soportan.
- Ir a
- Configurar IPsec - Fase 2 (P2): Similar a IKEv1, asegurándose de que los parámetros de cifrado y autenticación sean compatibles.
- Configurar Firewall Rules: Idéntico a IKEv1 (puertos 500 UDP y 4500 UDP en WAN, y reglas en la interfaz IPsec).
Consideraciones Adicionales para la Resolución de Problemas:
- Revisar Registros (Logs): Los registros de IPsec (
Status > System Logs > IPsec) son la herramienta más valiosa para diagnosticar problemas. Busque mensajes de error específicos como "NO_PROPOSAL_CHOSEN", "authentication failed", o timeouts. - Pruebas Iterativas: Si la conexión falla, intente simplificar la configuración de seguridad en la Fase 1 y Fase 2 (utilizando algoritmos más comunes y menos restrictivos) para ver si el cliente puede conectarse. Una vez que la conexión funcione, puede intentar aumentar gradualmente la seguridad.
- Compatibilidad de Clientes: Investigue qué algoritmos de cifrado y autenticación soporta el cliente VPN específico que está utilizando. Algunos clientes de Android o iOS pueden tener limitaciones.
- NAT en el Servidor: Si pfSense está detrás de otro dispositivo NAT, asegúrese de que el reenvío de puertos (500 UDP y 4500 UDP) esté configurado correctamente en el firewall externo hacia la IP WAN de pfSense.
L2TP/IPsec: Una Alternativa con sus Propios Matices
Además de IPsec puro, pfSense también soporta L2TP/IPsec, una combinación que utiliza L2TP para el túnel y IPsec para la seguridad.
- L2TP (Layer 2 Tunneling Protocol): Proporciona el túnel, pero su criptografía intrínseca es débil.
- IPsec: Se encarga de la confidencialidad, autenticación e integridad de los datos que viajan a través del túnel L2TP.
Configuración de L2TP/IPsec en pfSense:
- Habilitar Soporte para Clientes Móviles: En
VPN / IPsec, habilitarEnable IPsec Mobile Client Support. - Configurar IPsec (Fase 1 y Fase 2): Similar a la configuración de IPsec IKEv1, pero a menudo se utiliza
Aggressive modepara una mayor compatibilidad con clientes L2TP. - Configurar L2TP Server:
- Ir a
VPN / L2TP. - Habilitar el servidor L2TP.
- Interface: Seleccionar la interfaz WAN.
- Local IP address: La IP local de la interfaz WAN de pfSense.
- Remote IP address: El rango de IPs que se asignarán a los clientes VPN (ej.
192.168.100.100a192.168.100.200). - Secret: Introducir una clave precompartida (PSK).
- Authentication: Seleccionar
Local Database(si los usuarios se crean en pfSense) oRADIUS. - User: Crear usuarios y contraseñas en
System / User manager.
- Ir a
- Reglas de Firewall:
- Abrir el puerto 1701 UDP en la WAN para L2TP, además de los puertos 500 UDP y 4500 UDP para IPsec.
- Crear reglas en la interfaz L2TP para permitir el acceso a las redes internas.
Precauciones con L2TP/IPsec:
- Seguridad: La seguridad de L2TP/IPsec depende en gran medida de la fortaleza de los algoritmos IPsec configurados y de la robustez de la clave precompartida. Evitar algoritmos obsoletos es crucial.
- Rendimiento: La doble encapsulación (L2TP sobre IPsec) puede afectar ligeramente el rendimiento en comparación con IPsec puro.
- Compatibilidad: Aunque L2TP/IPsec es ampliamente compatible, la configuración específica de los algoritmos IPsec puede ser un punto de fallo.
Conclusión: Un Camino Hacia la Conectividad Segura
La configuración de IPsec en pfSense, si bien potente, requiere una comprensión detallada de los protocolos involucrados y una cuidadosa atención a los detalles de configuración. La inaccesibilidad de servidores desde conexiones VPN es un problema común que, en la mayoría de los casos, se resuelve mediante un diagnóstico metódico de la configuración de IPsec (Fase 1 y Fase 2), las reglas de firewall en la WAN y la interfaz IPsec, y la compatibilidad de los parámetros de seguridad con los clientes VPN. Al abordar estas áreas de manera sistemática y consultando los registros del sistema, es posible superar los desafíos y establecer conexiones VPN seguras y funcionales, permitiendo a las empresas mantener la conectividad y la productividad en un mundo cada vez más distribuido.