Apuntes de Kirby
  • 👀whoami
  • 🦉Redes
    • Introducción Redes
      • Organizaciones
      • Historia
      • Puntos de conexión
      • Métodos de acceso a la red
    • Clasificación de las redes
    • Topología de las red
    • Direccionamiento IP
      • IPv4
        • Subredes IPv4
        • Superredes IPv4
        • VLSM
      • IPv6
      • MAC
      • NAT
    • Enrutamiento estático
    • Enrutamiento dinámico
      • RIPv1 & RIPv2
      • Tablas de enrutamiento
      • 🚧Redes conmutadas
    • CML
      • 🚧1er CML lab
    • CISCO
      • ¿Qué son las VLAN?
        • Ejemplo 1 de VLAN
        • Ejemplo 2 de VLAN
      • Acceso y password
      • NAT / PAT
    • Firewalls
      • Tipos de firewalls
      • ZPF
        • Funcionamiento
        • Configurando un ZPF
      • Sophos Firewall XG
        • Sophos home
        • Aprendiendo a usar Sophos
      • pfSense
        • Instalando pfSense
        • OpenVPN en pfSense
        • Port Forward
        • Alias
    • Proxy
      • Squid en pfSense
        • Squid Proxy Server
        • SquidGuard Proxy
      • Proxy reverse Nginx
    • 🚧Suricata
  • 🐝Servicios
    • Servidores Web
      • Nginx
        • NGINX, hosts virtuales
        • Hosts virtuales basados en dominio
        • PHP-FPM
        • Nginx: PHP y MySQL
          • MySQLi - PHP
        • En Alpine linux
        • 🚧Proxy
    • Servidores de correo
      • Seguridad en el correo
      • Postfix
      • hMailServer
      • Clientes de correo
        • Mailutils
        • Mutt
    • Servidores de FTP
      • FileZilla
      • VSFTPD
      • FTP vía IIS
    • Servidores DNS
      • DNS - Windows Server 2016
      • DNS - Ubuntu Server 22.04
      • Systemd
    • Servidores DHCP
      • DHCP-Windows Server 2016
      • DHCP-Ubuntu Server 22.04
    • Servidores MySQL
    • 🚧Mensajería instantánea
      • Ejabberd
    • 🚧Imágenes - Vídeos
      • FFMPEG + YT-DLP
      • Plex
      • Jellyfin
      • Plesk
      • RTMP
      • SRT
    • Webmin + Virtualmin
  • NextCloud
  • 🔑Seguridad
    • NAS
      • Instalación Synology NAS en VirtualBox
        • Creación de volúmenes y su uso
        • Actualización Synology NAS
        • Creación de usuarios y carpetas compartidas
        • Funciones del panel de control
          • Acceso por SSH
          • Configuración de los servicios de archivos
          • Configuración de red
          • Copias de seguridad (restauración)
          • Seguridad
          • Personalizar páginas de inicio
          • Servicio de notificaciones
        • Centro de paquetes Synology
          • Servidores multimedia
          • Paquetes de utilidades
          • Cloud Sync
          • Hyper Backup
          • Synology Office
      • Truenas
        • Rsync en Truenas
      • OpenmediaVault
    • Backups
      • Rsync
        • Ejemplo de rsync
    • ¿Qué son las ACL?
    • SOPS/AGE
    • RAID
      • mdadm
  • 🐳Virtualización
    • Proxmox
      • Instalar en VMWare
      • Instalar en VirtualBox
      • Entorno Proxmox
      • Almacenamiento local
      • Añadir discos
      • Clonar
      • Qemu agent
      • Linux container - LXC
      • Clúster
      • Red Interna
      • 🚧Proxmox Backup
      • 🚧Otras consideraciones
    • Alpine Linux
    • Contenedores
      • Docker
        • YAML
        • Instalando Docker
        • Portainer
          • Instalando Portainer
          • Dentro de Portainer
        • Docker volumen
        • Docker compose
          • Docker: PHP y MySQL
          • Importar sitio web en Docker
          • Instalando Wordpress
      • Pi-hole
        • Instalando Pi-hole en Docker
        • Instalando Pi-hole en Debian
        • RDP
          • RDP - Docker
  • 🐞Misceláneas
    • Datos - codificación
    • IPTables
    • Túnel con Cloudflare
    • Servidor de video
    • Comandos de Linux
    • Anaconda & Spyder
    • CGI - NGINX
    • Arduino
      • Capítulo 0 Blink
      • Capítulo 1 Led
      • Capítulo 2 Botton & LED
  • ⁉️Interesante
    • Curioso
    • Ideas
Powered by GitBook
On this page
  • ¿Qué es un servidor VPN?
  • Protocolos
  • OpenVPN
  • ¿Qué necesitamos para configurar un servicio de VPN en pfSense?
  • Instalar el plugin OpenVPN client
  • Crear los certificados digitales en el propio pfSense
  • Crear la CA (Autoridad de Certificación)
  • Crear el certificado del servidor OpenVPN
  • Configurar el servidor OpenVPN
  • Comprobar el servicio
  • Configurar las reglas en el firewall para permitir acceso
  • Exportar el archivo de configuración OpenVPN para los clientes
  • Comprobar estado del servicio y de los clientes conectados
  • Links

Was this helpful?

Edit on GitHub
  1. Redes
  2. Firewalls
  3. pfSense

OpenVPN en pfSense

¿Qué es un servidor VPN?

Se trata de una herramienta importante dentro del ámbito de la seguridad y la privacidad en línea. Un servidor VPN nos facilita una conexión segura y cifrada entre un dispositivo cliente (PC, smartphone) y una red privada a través de Internet. Por tanto, su función principal es establecer un túnel seguro que cifra el tráfico de datos entre el cliente y el servidor, proporcionando privacidad y seguridad en la comunicación.

Al conectar un dispositivo a un servidor VPN, todo el tráfico se enruta a través de este túnel, haciendo que la información que se transmite sea más segura.

La función principal de un servidor VPN es la de crear una capa de privacidad y seguridad al enrutar el tráfico a través de una conexión cifrada. Cuestión especialmente importante al utilizar redes públicas, como las de bares, aeropuertos o cualquier otro sitio con acceso WiFi, donde los datos pueden ser vulnerables a ataques cibernéticos.

Por otra parte, un servidor VPN permite a los usuarios acceder a una red privada de manera remota, permitiendo el acceso a recursos como archivos compartidos o aplicaciones internas.

Protocolos

Existen diferentes tipos de protocolos que pueden ser utilizados por los servidores VPN para establecer la conexión segura. Algunos son:

  • OpenVPN

  • IPSec

  • L2TP/IPSec

También conocemos de la existencia de servicios VPN gestionados por terceros que ofrecen acceso a servidores VPN en ubicaciones geográficas diversas, permitiendo a los usuarios eludir restricciones geográficas y proteger su privacidad en línea.

OpenVPN

Es una implementación de código abierto del protocolo VPN que nos permite establecer conexiones seguras a través de Internet.

Cuando se menciona la "OpenVPN integrada en pfSense", se refiere a la capacidad de pfSense para actuar como un servidor OpenVPN. Con esta integración, pfSense permite a los usuarios configurar y administrar conexiones VPN utilizando el protocolo OpenVPN directamente desde la interfaz de administración web de pfSense.

Al utilizar OpenVPN en pfSense, los usuarios pueden aprovechar características como la autenticación de usuarios, la encriptación del tráfico y la creación de túneles seguros para el acceso remoto a la red o la interconexión segura de redes a través de Internet. La integración de OpenVPN en pfSense facilita la implementación de soluciones VPN para garantizar la privacidad y seguridad de las comunicaciones en la red.

¿Qué necesitamos para configurar un servicio de VPN en pfSense?

A la hora de configurar una VPN necesitamos recorrer los siguientes pasos:

  1. Instalar el plugin OpenVPN Client para generar la configuración

  2. Crear los certificados digitales en el propio pfSense

    1. Crear la CA (Autoridad de Certificación)

    2. Crear el certificado del servidor OpenVPN

  3. Configurar el servidor OpenVPN

  4. Configurar las reglas en el firewall para permitir acceso

  5. Exportar el archivo de configuración OpenVPN para los clientes

  6. Comprobar estado del servicio y de los clientes conectados

Instalar el plugin OpenVPN client

Lo primero es descargar el paquete openvpn-client-export y para ello vamos a System - Package Manager - Available Packages y buscamos el paquete openvpn-client-export y pulsamos en Install.

Crear los certificados digitales en el propio pfSense

Crear la CA (Autoridad de Certificación)

Una CA es, una entidad confiable responsable de emitir y revocar certificados digitales utilizados para transacciones y firmas electrónicas. Abrimos la interfaz del pfSense y navegamos hasta System - Certificate Manager y hacemos clic en Agregar.

Creamos el certificado manteniendo casi todas las opciones por defecto y asignando un nombre.

Opción
Descripción

Descriptive name

OpenVPN_CA

Common name

OpenVPN_CA

Una vez realizado los cambios y guardando nos aparece nuestro certificado:

Crear el certificado del servidor OpenVPN

En el apartado siguiente, System – Certificates clicamos en agregar un certificado:

Opción
Descripción

Method

Create an Internal Certificates

Descriptive name

OpenVPN_Certificates

Common Name

OpenVPN_Certificates

Certificate type

Server certificate

Aquí nos tiene que aparecer nuestra CA previamente creada

Configurar el servidor OpenVPN

Opción
Descripción

Description

OPENVPN_Server

Server mode

Remote Access (SSL/TLS + User Auth)

Protocol

UDP on IPv4 only

Interface

WAN

Puerto

5194 (cambiamos el puerto por defecto)

Peer Certificate Authority

OpenVPN_CA (seleccionamos el nuestro)

Server certificate

OPENVPN_Certificate (Server: Yes, CA: OPENVPN_CA)

  • Por último, debemos seleccionar la red que vamos a utilizar para comunicar el cliente con el pfSense. En mi caso voy a seleccionar la red: 10.4.44.0/24, así como las redes o IP internas a las que tendrá acceso el cliente cuando se conecte por la VPN.

  • Hacemos clic en Redirect IPv4 Gateway: Force all client-generated IPv4 traffic through the tunnel. para seleccionar esta opción

  • Podemos seleccionar la opción Inter-client communication para permitir comunicación entre clientes de la VPN.

  • Podemos seleccionar la opción Duplicate connection para permitir varias conexiones de un mismo cliente.

  • Podemos proporcionar el dominio a los clientes y los DNS a los que poder acceder.

    • DNS Server 1: 1.1.1.1

    • DNS Server 2: 8.8.8.8

  • Seleccionamos la opción de Verbosity level: 3 (recommended).

  • Guardamos y listo!

Comprobar el servicio

Nos dirigimos a Status - Service y podemos comprobar los servicios activos y recién habilitados.

Configurar las reglas en el firewall para permitir acceso

Ahora nos toca crear una regla en la WAN que nos permita el acceso a través del puerto de VPN.

Regla en "Firewall - Rules - WAN"

Para ello, clicamos en Firewall - Rules - WAN y vamos a crear la regla, clicando donde dice Add rule to the top of the list.

Seleccionamos las opciones siguientes, para una configuración básica:

Opción
Descripción

Action

Pass

Interface

WAN

Protocol

UDP

Source

Any

Destination

Any

Destination port range

5194

Logs

Seleccionamos la opción de guardar

Description

OPENVPN:RULE

Una vez realizados los cambios, guardamos y se nos muestra como sigue:

Regla para permitir todo el tráfico VPN

Ahora nos vamos a la pestaña de OpenVPN para crear otra regla que permita todo el tráfico. Seleccionamos todos los protocolos (ANY) y desde cualquier origen (ANY) a cualquier destino (ANY).

Seleccionamos también la opción de almacenar los logs del tráfico. Guardamos y se nos crea la regla.

Exportar el archivo de configuración OpenVPN para los clientes

Crear un cliente para la VPN

Primero tenemos que crear un usuario nuevo, por tanto nos vamos a System - User Manager

Creamos un nuevo usuario y clicamos en Click to create a user certificate para crear el certificado para ese usuario.

Una vez creado nuestro usuario de prueba (con su certificado para la VPN) ver cómo exportar los clientes VPN. Para ello seleccionamos en el menú a VPN - OpenVPN - Client Export.

Y si nos vamos al final del todo, veremos a nuestro usuario Punky.

Comprobar estado del servicio y de los clientes conectados

Si queremos hacer una prueba podemos descargar el certificado para Android o el de OpenVPN Connect (IOS/Android).

En el caso de utilizar un dispositivo móvil, tendríamos que instalar la OpenVPN for Android

Una vez tengamos lista la app, podemos exportar a nuestro dispositivo móvil el certificado del cliente VPN que hayamos creado. En mi caso, sería el usuario punky

Nos conectamos a la VPN y se nos muestra el log:

Y si nos vamos, por ejemplo al navegador y escribimos la IP

Ya podemos comprobar la conexión al firewall. Claramente que nos falta mucho. Se trata de una conexión básica. Lo siguiente a probar es configurar el acceso de un usuario a un equipo de la red detrás del firewall.

Links

PreviousInstalando pfSenseNextPort Forward

Last updated 2 months ago

Was this helpful?

Ahora vamos a configurar el servidor OpenVPN a donde se van a conectar los clientes para lo cual, nos vamos a VPN - - y clicamos en Add y rellenamos las opciones:

🦉
OpenVPN
Servers
https://www.cloudflare.com/es-es/learning/network-layer/what-is-ipsec/
https://www.pfsense.org
https://docs.netgate.com/pfsense/en/latest/recipes/rfc1918-egress.html
Instalación finalizada del paquete pfsense-client-export
Certificado de openvpn
Open VPN server certificate
NUestro certificado de openVPN
Algunas de las opciones a seleccionar
OpenVPN certificate
Status - Service
Crear la regla en firewall - rules - WAN
Regla en WAN para permitir el tráfico VPN
Regla para permitir todo el tráfico en la OpenVPN
Cerar un usuario
Usuario Punky creado
Certificados a exportar del usuario
OpenVPN for Android
Certificado de usuario Importado en la aplicación OpenVPN
Usuario conectado a la VPN de pfSense
Accediendo a pfSense en el navegador