Cómo configurar un cliente OpenVPN en pfSense
pfSense es un firewall de código abierto, basado en FreeBSD, que también actúa como enrutador. Puede instalar pfSense en hardware antiguo (o más nuevo), siempre que el sistema tenga dos tarjetas de red (WAN y LAN) y utilice pfSense como enrutador. pfSense ofrece más potencia, control y seguridad que la mayoría de los enrutadores comerciales que puede comprar y tiene la ventaja de recibir actualizaciones frecuentes del sistema operativo. También tiene una interfaz basada en web fácil de usar a través de la cual puede configurar todos los aspectos de su enrutador/firewall.
Una de las muchas cosas interesantes que puedes hacer con pfSense es configurar una conexión de cliente a un proveedor OpenVPN. Luego puede configurar pfSense para enrutar todo el tráfico de todos los dispositivos conectados (PC, tabletas, teléfonos inteligentes) a través de la conexión VPN. Esto le permite:
- Conecte tantos dispositivos como desee a la VPN y evite los límites estrictos para las conexiones simultáneas que su proveedor pueda imponer.
- Conecte dispositivos que no admitan conexiones VPN de forma nativa, como consolas de juegos y televisores inteligentes.
- Conéctese a la VPN sin utilizar una aplicación VPN dedicada.
En esta publicación, veremos cómo configurar una conexión de cliente OpenVPN a un proveedor de VPN comercial en pfSense. Esta guía asume que usted ha pfSense instalado y que tenga una configuración estándar con al menos una interfaz LAN y una interfaz WAN.
Proveedores de VPN
No todo comercial Los proveedores de VPN admiten pfSense – aunque muchos lo hacen. Cuando un proveedor de VPN admite oficialmente pfSense, es bastante fácil encontrar todos los archivos que necesita para configurarlo en pfSense. Otros proveedores de VPN no admiten oficialmente pfSense, pero aún así ponen a su disposición los archivos de configuración que necesita para configurar una conexión de cliente en pfSense. Estos suelen ser proveedores que apoyan linux y ponen a disposición los archivos de configuración necesarios para una configuración de Linux. Pero resulta que los archivos que necesita para establecer una conexión de cliente OpenVPN en Linux son los mismos que necesitaría para configurarlo también en pfSense.
Aquí hay una lista de proveedores conocidos por trabajar con pfSense (oficialmente o no oficialmente). La lista no es exhaustiva, por lo que puede haber otras.
ALERTA DE OFERTA:Obtenga 3 meses gratis con ExpressVPN, nuestro proveedor de VPN número uno.
- AirVPN
- ExpressVPN
- tiburón surfista
- hide.me
- esconder mi culo
- vpn
- Lunar
- NordVPN
- OVPN
- Acceso privado a Internet
- ProtónVPN
- PuroVPN
- Torguardia
- VyprVPN
- escribano
También existen diferentes formas de configurar el mismo proveedor en pfSense. Para esta guía, elegí la forma más sencilla que funciona bien con una instalación básica típica de pfSense.
Lo que necesitarás
Para que esto funcione en pfSense, necesitará obtener lo siguiente del sitio web de su proveedor de VPN. Los proveedores de VPN que admiten pfSense (oficialmente o no oficialmente) pondrán sus archivos de configuración a disposición para su descarga.
- Tus credenciales : Esto sería un nombre de usuario y contraseña, un identificador de cliente, un número de cuenta, como sea que lo llamen. Varía según el proveedor. Puede ser cualquiera de los anteriores. Simplemente necesita sus medios de identificación y autenticación para su cuenta.
- El certificado de CA : El proveedor de VPN tiene una Autoridad de certificación que valida las conexiones a sus servidores VPN. Para configurar pfSense como cliente VPN, necesitará el certificado CA de su proveedor. Se parece a esto:
- La clave privada del certificado de CA : Algunos proveedores también requieren que importe la clave privada del certificado de CA. No todos lo hacen. Se parece a esto:
- La clave TLS : Algunos proveedores de VPN también requieren una clave TLS para crear una conexión de cliente a sus servidores. A menudo se la denomina clave estática. Si su proveedor de VPN requiere una clave estática para establecer una conexión OpenVPN, usted también la necesitará. Se parece a esto:
Entonces, lo primero que debe hacer es obtener los archivos de configuración de OpenVPN de su proveedor de VPN. Una vez que tenga todo eso, estará listo para comenzar a configurar la conexión del cliente en pfSense.
Configurando pfSense
Acceso
Lo primero que debemos hacer es iniciar sesión en nuestro cuadro pfSense.
- Inicie un navegador web y escriba: https://
en la barra de URL. pfSense tiene el valor predeterminado 192.168.1.1. - Ingrese su nombre de usuario y contraseña. Se le dirigirá al Panel de control de pfSense.
Importando el certificado CA y la clave
Comenzaremos importando el certificado CA de nuestro proveedor de VPN.
Cómo importar una CA a pfSense
- Navegar aSistema > Cert. Administrador > CAy haga clic en elAgregarbotón en la parte inferior derecha.
- Asigne a la CA un nombre descriptivo. Estoy usando My VPN Provider CA para este ejemplo.
- Selecciona elMétodocampo aImportar una autoridad de certificación existente.
- Pegue el certificado CA de su proveedor en elDatos del certificadocampo.
- Pegue su clave CA en elClave privada del certificado(si su proveedor lo requiere).
- Clic en Guardar. Ha importado la CA de su proveedor de VPN y regresa a la página de CA donde su CA recién importada ahora se muestra en la lista.
Agregar una conexión de cliente OpenVPN
Ahora que hemos importado nuestro certificado CA, podemos continuar y comenzar a configurar nuestra conexión VPN.
Si su proveedor de VPN admite explícitamente pfSense, la información que necesita para configurarlo será fácil de encontrar. Si su proveedor de VPN admite “extraoficialmente” pfSense al admitir Linux, puede encontrar la información necesaria en uno de los archivos .ovpn disponibles para Linux. Los archivos .ovpn se pueden abrir utilizando un editor de texto estándar. Se verá así (el certificado y la clave se han acortado para la captura de pantalla):
Navegar aVPN > OpenVPN > Clientesy haga clic en elAgregarbotón.
La página de configuración del cliente OpenVPN es bastante larga. Lo dividiremos por secciones y repasaremos todos los parámetros necesarios para configurar una conexión OpenVPN.
Información general
Desactivado : Deje esto sin marcar o su conexión de cliente se desactivará.
Modo servidor : Establezca esto en Peer to Peer (SSL/TLS). La otra opción, clave compartida, se utiliza normalmente para conexiones VPN punto a punto que vinculan dos redes a través de VPN.
protocolo l: normalmente está configurado en UDP, pero también se puede configurar en TCP si su proveedor admite conexiones TCP. UDP suele ser más rápido y es la opción preferida para OpenVPN.
Interfaz : POR
Puerto local : Déjelo en blanco a menos que su proveedor de VPN lo especifique
Host o dirección del servidor : la dirección IP o el nombre de host del servidor VPN al que se conectará.
Puerto de servicio : El puerto a través del cual se realizará la conexión VPN. Esto lo determina su proveedor de VPN.
Host o dirección de proxy : Dejar en blanco
Puerto proxy : Dejar en blanco
Autenticación de proxy : Dejar en blanco
Configuración de autenticación de usuario
Aquí es donde ingresa las credenciales de su proveedor de VPN. Como mencioné anteriormente, esto puede ser en forma de nombre de usuario y contraseña, o un identificador de cliente, o un número de cuenta, cualquiera que haya elegido su proveedor de VPN. Si su proveedor no requiere una contraseña, simplemente deje el campo de contraseña en blanco.
Nombre de usuario : Su nombre de usuario, identificador de cliente, número de cuenta, etc.
Contraseña : Su contraseña (si es necesaria)
Automático Rever : Déjelo sin marcar para que su cliente intente volver a conectarse cuando falle la autenticación.
Configuración criptográfica
La forma de configurar la sección Configuración criptográfica varía mucho entre los proveedores de servicios VPN. Necesitará obtener la información adecuada de su VPN. La mayoría de los proveedores hacen que esta información esté fácilmente disponible.
Configuración TLS : Algunos proveedores de VPN requieren el uso de una clave TLS para la autenticación de la conexión OpenVPN. Otros no lo hacen. Si es así, la clave TLS se habrá incluido con los archivos de configuración que descargó. Si su proveedor requiere una clave TLS, marque Usar una clave TLS. De lo contrario, desmárquelo.
Generar automáticamente una clave TLS : Dejar sin marcar.
Clave TLS : Pegue aquí la clave TLS proporcionada por su proveedor de VPN si es necesario. De lo contrario, deje el campo en blanco.
Modo de uso de clave TLS : Las claves TLS se pueden utilizar para la autenticación TLS o para la autenticación y el cifrado TLS. Esto depende de su proveedor. Seleccione el modo de uso de la clave TLS apropiado en el menú desplegable.
Dirección del directorio clave TLS : Deje en Usar dirección predeterminada a menos que su proveedor especifique una configuración diferente. Las claves TLS del cliente y del servidor deben configurarse en direcciones opuestas para que funcione la autenticación TLS.
Autoridad de certificación par : Seleccione la CA que importamos anteriormente.
Certificado de cliente : Deje esto configurado en Ninguno. Con OpenVPN, es posible utilizar autenticación basada en certificados en lugar de un nombre de usuario y contraseña, o ambos. Sin embargo, todos los proveedores de VPN que he visto utilizan autenticación basada en credenciales, presumiblemente porque distribuir certificados únicos a cada cliente rápidamente se volvería inmanejable.
Algoritmo de cifrado : esta configuración determina el cifrado utilizado para cifrar su conexión. Nuevamente, esto depende de su proveedor de VPN. Sin embargo, la mayoría de los proveedores utilizan AES-256-CBC o AES-256-GCM.
Habilitar NCP : NCP significa parámetros criptográficos negociables. Si su proveedor de VPN admite varias configuraciones de cifrado, NCP negociará el cifrado más fuerte posible que sea compatible tanto con el cliente (su equipo pfSense) como con el servidor VPN. A menos que sepa que su proveedor admite NCP, desmárquelo y se utilizará el cifrado seleccionado en el algoritmo de cifrado anterior.
Algoritmos NCP : Si utiliza NCP, puede seleccionar qué cifrados están disponibles para la negociación. Al hacer clic en un cifrado de la lista disponible, se importa a la lista permitida.
Algoritmo de resumen de autenticación : Este es el algoritmo utilizado para autenticar el canal de datos (el túnel a través del cual fluye su tráfico). Esto lo determina su proveedor de VPN. Seleccione el algoritmo apropiado en el menú desplegable.
Criptomonedas de hardware : Si el sistema en el que instaló pfSense admite la aceleración criptográfica por hardware, puede habilitarla aquí. Si su sistema admite esta configuración, puede habilitarla independientemente del proveedor de VPN que utilice.
Configuración del túnel
La configuración del túnel se dejará prácticamente en blanco. Estas configuraciones tienen que ver con el enrutamiento entre el cliente y el servidor y generalmente las maneja el proveedor de VPN en el lado del servidor.
Red de túneles IPv4 : La red IPv4 entre el cliente y el servidor. Déjelo en blanco.
Red de túneles IPv6 : La red IPv6 entre el cliente y el servidor. Déjelo en blanco.
Redes remotas IPv4 : Las redes IPv4 que se enrutarán a través del túnel. Déjelo en blanco.
Redes remotas IPv6 : Las redes IPv6 que se enrutarán a través del túnel. Déjelo en blanco.
Limitar el ancho de banda saliente : establece un límite estricto para el ancho de banda saliente. Déjelo en blanco.
Compresión : Algunos proveedores de VPN pueden requerir que habilites la compresión del tráfico que fluye a través del túnel VPN. Si su proveedor lo especifica, seleccione la opción adecuada en el menú desplegable. De lo contrario, déjalo como está.
Topología : Especifica la topología de la red VPN. Déjalo como está.
Tipo de servicio : Dejar sin marcar.
No tirar rutas : Esta configuración impide que el servidor VPN envíe rutas al cliente. Algunos proveedores incluyen la información de enrutamiento en la configuración del cliente y pueden solicitarle que habilite esta opción (como ExpressVPN). Si su proveedor lo especifica, marque esta opción. De lo contrario, déjelo sin marcar.
No agregar/eliminar rutas : Esta opción se puede utilizar para habilitar el enrutamiento selectivo: enviar parte del tráfico a través del túnel VPN y enviar el resto a través de la puerta de enlace del ISP. Esto requiere configurar la interfaz VPN (que crearemos a continuación) como puerta de enlace en pfSense y especificar algunas reglas de firewall y NAT para que funcione. Esto está fuera del alcance de esta guía. Además, en el escenario típico de una VPN comercial, querrás que todo tu tráfico pase a través de la conexión VPN. Deje esta configuración sin marcar.
Configuración de ping
La configuración de ping se utiliza para determinar si la conexión está activa o no y si debe cerrarse o reiniciarse. Deje todas las configuraciones como están.
Configuración avanzada
Opciones personalizadas : Algunos proveedores requieren configurar algunas opciones personalizadas en la configuración del cliente. Estos se pueden agregar aquí. A menos que su proveedor especifique las opciones personalizadas requeridas, déjelo en blanco.
E/S rápida UDP : optimiza la escritura de paquetes y puede acelerar su conexión VPN. Esto se puede habilitar y deshabilitar a su gusto. Yo diría que pruebes ambos y veas si obtienes un aumento de velocidad.
Salir Notificar : esta configuración alerta explícitamente al servidor cuando el cliente se desconecta para que pueda cerrar la conexión en lugar de esperar a que expire el tiempo de espera. Déjelo como está a menos que su proveedor lo especifique.
Búfer de envío/recepción : Puedes experimentar con diferentes tamaños de búfer dentro de OpenVPN. Diferentes configuraciones darán diferentes resultados en términos de velocidad. 512K es un buen lugar para empezar. Esta configuración es opcional.
Creación de puerta de enlace : Selecciona si se crearán puertas de enlace OpenVPN solo para IPv4, solo para IPv6 o ambos. A menos que su proveedor de VPN admita IPv6 (como Mullvad), configúrelo solo en IPv4. Si su proveedor admite IPv6, configúrelo en Ambos.
Nivel de verbosidad : Determina el nivel de detalle de los registros de OpenVPN para este cliente. El nivel predeterminado es 1. Pero puede configurarlo en un nivel superior para obtener más información al solucionar problemas. Los registros de OpenVPN en pfSense se pueden ver navegando a Estado > Registros del sistema > OpenVPN.
Ahora todo lo que queda para crear nuestra conexión de cliente es hacer clic en el botón azul Guardar en la parte inferior de la pantalla y hacer clic en Aplicar cambios.
Creando la interfaz VPN
Lo siguiente que debemos hacer es crear la interfaz virtual que alojará el segmento de red VPN (la subred de la que forma parte después de una conexión VPN exitosa) en nuestra caja pfSense.
pfSense creó automáticamente la interfaz cuando presionamos guardar después de configurar nuestra conexión anteriormente. Pero aún necesitamos asignarlo y configurarlo.
Cómo agregar una interfaz en pfSense
- Navegar a Interfaces > Asignaciones . Verás ovpnc1 listado a la derecha de Disponible puertos de red.
- Haga clic en el verde Agregar botón, a su derecha. La interfaz ovpnc1 se asigna y se muestra comoOPT1.
- Hacer clic OPT1 . Se le dirigirá a la página de configuración de la interfaz.
- Garrapata Habilitar interfaz y darle un nombre. Deje todas las demás configuraciones intactas.
- Hacer clic Ahorrar y Aplicar cambios . Su interfaz está asignada y habilitada.
Si regresa a la página Asignaciones de interfaz, podrá ver que la interfaz nombrada ahora forma parte de la lista de interfaces activas.
Comprobando la conexión
Bien, ahora tenemos configurada nuestra conexión de cliente OpenVPN y hemos creado nuestra interfaz VPN. Nuestra conexión está funcionando en este momento, pero pfSense no está configurado para enrutar el tráfico a través del túnel VPN.
Podemos comprobar que nuestra conexión funciona, navegando aEstado > Registros del sistema > OpenVPN. Si el cliente OpenVPN está configurado correctamente, debería ver Secuencia de inicialización completada , en algún lugar cerca de la parte superior de los registros de OpenVPN.
Ahora sólo necesitamos enrutar el tráfico a través del túnel VPN.
Reglas del cortafuegos
Necesitamos asegurarnos de que los dispositivos conectados a la interfaz LAN puedan enviar tráfico a Internet a través de la puerta de enlace predeterminada. Cuando instala pfSense, crea automáticamente una regla que permite cualquier tipo de tráfico fuera de la interfaz LAN de forma predeterminada. Entonces, si no cambiaste nada allí, deberías estar bien.
Si las cambió, asegúrese de que sus reglas permitan que los dispositivos LAN que desea conectar a la VPN accedan a Internet. Navegar aCortafuegos > Reglas > LANpara ver/actualizar sus reglas de LAN.
Así es como se ven las reglas LAN predeterminadas. De forma predeterminada, existe una regla para IPv4 y otra para IPv6. A menos que su proveedor de VPN admita IPv6, solo necesita la regla IPv4.
La regla permite que cualquier dispositivo de la LAN se conecte a cualquier destino, utilizando cualquier protocolo a través de cualquier puerto.
Si la regla no está ahí, puedes seguir adelante y crearla.
Cómo crear una regla de firewall LAN
- Haga clic en el verdeAgregarbotón con una flecha apuntando hacia arriba. Colocará la regla en la parte superior y pfSense coincidirá con esa regla primero.
- Selecciona elAccióncampo para pasar.
- Deja elDesactivadocasilla sin marcar.
- Deja elInterfazcampo establecido enY.
- Selecciona elDirección FamiliaaIPv4.
- Selecciona elProtocoloa cualquier
- Selecciona elFuenteaY neto.
- Selecciona elDestinoacualquier.
- Si también necesita una regla IPv6, repita el proceso y seleccioneIPv6desde elDirección FamiliaMenú desplegable.
reglas NAT
Lo siguiente que debemos hacer es configurar nuestras reglas de traducción de direcciones de red (NAT) para enrutar correctamente nuestro tráfico VPN.
Cómo agregar una regla NAT
- Navegar a Firewall > NAT > Saliente .
- Selecciona el Modo NAT saliente a Manual y luego haga clic en Ahorrar y Aplicar cambios . Sus reglas NAT ahora deberían verse así (pero con su red LAN en lugar de mi 10.0.0.0/24):
- Elimine todas las reglas, excepto las dos principales: las que tienen 127.0.0.1.
- Haga clic en el verde Agregar con una flecha que apunta hacia abajo, para crear una nueva regla NAT.
- Selecciona el Interfaz campo a la interfaz VPN que creamos anteriormente.
- Selecciona el Dirección Familia a IPv4 o IPv4+IPv6 si su proveedor de VPN admite explícitamente IPv6.
- Selecciona el fuente reda su dirección IP de LAN, pero haga que el último dígito sea 0 en lugar de 1. Entonces, si su dirección IP de LAN es 192.168.1.1, coloque 192.168.1.0 como red de origen.
- Deje todas las demás configuraciones intactas. Hacer clic Ahorrar y Aplicar cambios .
Sus reglas NAT ahora deberían verse así (pero con su red LAN en lugar de mi 10.0.0.0/24):
Ver también: ¿Qué es un cortafuegos NAT?
DNS
Lo último que debemos configurar es DNS para su cliente VPN. Y hay diferentes formas de hacerlo según la configuración de pfSense. Incluso si su proveedor de VPN codifica sus servidores DNS en su archivo de configuración .ovpn, pfSense aún debe conocer los servidores DNS que se utilizarán.
Resolvedor de DNS/Reenviador de DNS
Si está utilizando DNS Forwarder o DNS Resolver en modo de reenvío, simplemente puede agregar los servidores DNS de su proveedor de VPN a la página de Configuración general.
Cómo agregar un servidor DNS a pfSense
- Navegar a Sistema > Configuración general.
- Hacer clic Agregue el servidor DNS.
- Introduzca el dirección IP del nombre de host del servidor DNS en el cuadro correspondiente.
- Deja el Puerta ajustado a Ninguno .
- Hacer clic Ahorrar y Aplicar cambios .
- Repita para agregar servidores DNS adicionales.
DHCP
Cómo enviar un servidor DNS a los clientes a través de DHCP
Si no está utilizando DNS Resolver o DNS Forwarder, puede hacer que su servidor DHCP envíe el servidor DNS a cualquier cliente que solicite una dirección IP en su LAN.
- Navegar a Servicios > Servidor DHCP
- Bajo Servidores , puede ingresar hasta cuatro servidores DNS.
- Inserte los servidores DNS de su proveedor de VPN.
- Hacer clic Ahorrar y Aplicar cambios .
Terminando
Felicitaciones, acaba de configurar una conexión de cliente OpenVPN en pfSense. Todo lo que queda ahora es reiniciar pfSense y conectar un dispositivo a su LAN. Una vez conectado, puede ir a nuestra herramienta de verificación de dirección IP para verificar que su dirección IP pública haya sido cambiada a la dirección IP del servidor VPN. También puede comprobar si hay fugas de DNS con nuestra herramienta de prueba.
Ahora puede usar su VPN comercial con cualquier dispositivo que esté conectado a su caja pfSense, sin una aplicación VPN dedicada. Y recuerde, independientemente del límite que su proveedor de VPN imponga en la cantidad de conexiones simultáneas, su enrutador solo cuenta como un dispositivo en lo que respecta a su proveedor de VPN. Para que puedas conectar tantos dispositivos como quieras de esta manera.