redcauca/docs/qmp+pfsense.md

9.1 KiB

Configuración de RED MESH QMP + PFSense

Una de los requerimientos basicos de una Red Inalambrrica Comunitaria es poder compartir Internet y acceso a contenidos locales de forma eficiente, para eso es necesario que la parte tecnica pueda resolver varios problemas que enumero a continuación:

  1. Acceso controlado a internet a nivel de usuarios, ip, mac
  2. Control de ancho de banda y QOS para optimización de la navegación.
  3. Acceso a contenidos locales que no queden filtrados el firewall.
  4. Estabilidad en los enlaces.

Para lograr esto he elegido una serie de tecnologias libres que permiten realizar esta configuración en poco tiempo y dejar una red funcional de buena calidad para instalar en lugares remotos.

Uno de los puntos fundamentales antes de configurar una Red Inalambrica Comunitaria es diseñar la red de forma tecnica, para este ejercicio debemos tener en cuenta lo siguiente:

  • La red LAN configurada en PfSense debe ser lo suficientemente grande como para cubrir las redes de cada uno de los nodos de la red MESH, es decir si vamos a utilizar direcciones IP Clase A, la mascara de la LAN configurada en PfSense debe ser pequeña, por ejemplo 10.10.10.0/14 y la configuración de cada uno de los nodos mesh debe estar al interior de esta red, es decir una red: 10.10.10.0/27 (Para el primer nodo) 10.10.11.0/27 para el segundo nodo y asi sucesivamente segun la cantidad de nodos y posibles clientes que vamos a tener en la red.

A continuación explicaré la configuración de cada uno de los componentes de la red.

PfSense

pfsense.org es una distribución personalizada de FreeBSD adaptado para su uso como Firewall y Router. Se caracteriza por ser de código abierto, puede ser instalado en una gran variedad de ordenadores, y además cuenta con una interfaz web sencilla para su configuración. Elegí esta sistema operativo por las facilidades que ofrece en su administración y lo liviando puede ser para utilizar un Firewall.

Requerimientos minimos para la instalación de PfSense

  • Procesador minimo de 1.5Ghz doble nucleo, arquitectura 64bits
  • 2 GB de RAM
  • Disco duro de estado solido 60GB Minimo
  • 2 Tarjetas de red (Minimo)

La instalación de PfSense es sencilla, solo es bootear la maquina que vas ai instalar con una memoria usb creada usando la imagen iso que descargas de la pagina y seguir paso a paso las instrucciones en pantalla. Si necesitas más detalle puedes seguir est guia: https://www.redeszone.net/2018/03/30/pfsense-2-4-3-ya-esta-aqui-la-nueva-version-este-sistema-operativo-orientado-firewall/ Ignora la parte en donde hablan de una maquina virtual y sigue desde el punto que se arranca la instalación.

  • Lo primero que se debe hacer es configurar las interfaces WAN y LAN
  • La interfaz WAN es la salida a internet que vas a utilizar para la RED
  • La interfaz LAN es la conexión al resto de tu red y debe tener una configuración de red con una mascara de subred pequeña.

Paquetes a instalar

Para preparar nuestro PfSense debemos instalar los siguientes paquetes que vamos utilizar.

  • FreeRADIUS: con este paquete haremos la autenticación de usuarios
  • pfBlockerNG: Es una herramienta para hacer filtrado de sitios maliciosos.
  • Quagga_OSPF: Se puede utilizar para relizar enrutamientos avanzados a otrasa redes.
  • acme: Se utiliza para manejar los certificados de LetsEncrypt

Configuración de FreeRADIUS

Lo primero que se debe hacer es configurar el servidor de Autenticación que vamos a usar en la red.

  1. La configuración principal se realiza en el menú Servicios

  2. Se deben crear las interfaces:

    • Se crea una interfaz de AUTH que corre en el puerto 1812
    • Se crea otra interfaz para ACCT (Accounting) en el puerto 1813
  3. En la configuración del sistema (menú Sistema) ir a Gestión de Usuarios

  4. Buscar la pestaña Servidores de autenticación

  5. Añadir un servidor de autenticación tipo "RADIUS" o "RADIO"

    • El nombre puede ser cualquiera ejemplo: auth_server_red_comunitaria
    • Seleccionar protocolo PAP para que puedas usar contraseñas MD5 en los usuarios.
    • Secreto compartido es una contraseña que se puede generar de forma aleatoria
    • Puerto de autenticación: 1812
    • Puerto de cuenta: 1813
    • Atributo RADIUS NAS IP: Elegir la LAN
  6. Despues de realizar eso ya se puede regresar al menú de servicios / FreeRADIUS y empezar acrear usuarios.

    • Se debe seleccionar contraseña MD5
    • Cuando se crea el usuario se puede determinar la cantidad de ancho de banda que puede tener.

Portal Cautivo

  1. Ir al menu Servicios y bucar Portal Cautivo

  2. Añadir un portal cautivo, poner nombre y descripción y dar clic en "Guardar y Continuar"

  3. Aparece una ventana en la que debes activar la casilla que dice "Habilitar portal cautivo" luego dar clic en guardar

  4. Al dar guardar aparecera la configuración general se debe hacer lo siguiente:

    • Seleccionar la interfaz LAN en donde va a funcionar
    • Como vamos autilizar el portal cautivo en una RED MESH se debe desactivar el filtrado por mac. (En una siguiente versión de esta configuración veremos como poder activar este filtrado en una RED MESH)
    • En la sección de autenticación seleccionar el servidor de autenticación que creamos cuando configuramos el servidor RADIUS
    • Seleccionar la opción Per-user bandwidth restrictions, para que cuando creemos los usuarios en el RADIUS y definamos el ancho de banda que usa aplique la configuración.
    • Seleccionar un servidor de contabilidad que sera nuestro servidor de autenticación
    • GUARDAR LA CONFIGURACIÓN.
  5. Puede activar la configuración de VAUCHERS para tener usuarios ocasionales en la red.

  6. En la seccion de "Admitir las direcciónes IP" se deben agregar las direcciones IP de cada uno de los nodos de la RED MESH.

Servicio DNS (DNS Forwarder)

El servicio de DNS Forwarder o Redireccionamiento DNS utiliza DNSMASQ un paquete de software libre para hacer cache dns y realizar redireccionamientos de DNS en una RED. Recomendanos utilizar este servicio, solo es activarlo y ya viene funcional.

Con este servicio podemos crear ALIAS de IP para definir un DNS Local para nuestros servicios Locales.

Configuraciones adicionales en la RED de PfSense

  1. Se debe crear una Pasarela o Gateway que anuncie la IP del nodo al que esta conectado el PfSense
  2. Se debe crear una Ruta estatica por cada nodo que tenga la red para anunciar esta red en el PfSense y se pueda tener acceso a ella.
  3. En la configuración de la LAN se debe agregar como puerta de enlace adicional la pasarela que creamos
  4. En al configuración avanzada del sistema en la sección de Firewall and NAT (Cortafuegos y NAT) se debe habilitar la opción de filtrado de ruta estática o baypass static routes. Con esto nos aseguramos que el PfSense entendera a nuestros Nodos de la red MESH como una sola red.
  5. Desactivar el servidor DHCP de PfSense, el servicio de DHCP lo proveera cada uno de los nodos de la red MESH

QMP

La configuración de QMP o del Firmware seleccionado para nuestra RED MESH se instala en los nodos de la forma como especifica cada proyecto, en QMP se elige el modo comunidad y cada nodo tiene su propia definición de RED "pequeña" al igual que en LIME.

Para entender la configuración de cada uno de los firmware refierase a la pagina de cada proyecto y su documentación, aquí tratare los temas especificos para que una RED MESH salga a internet usando PfSense y el portal cautivo se muestre en cada uno de los usuarios de la red.

Configuración de Nodo conectado a PfSense

Este nodo debe estar en la misma LAN del PfSense:

  • Por ejemplo si el PfSense tiene la ip 10.40.10.1 el nodo debe tener la ip 10.40.10.2 con mascara de subred /27 o /24 segun como se defina el tamaño de cada nodo pero la sugerencia es no tener nodos como mas de 30 clientes
  • En la configuración de la LAN de este nodo se debe definir como Gateway la ip del PfSense.
  • Se debe habilitar en la configuración que este nodo es una HNA es decir que ofrece internet
  • Para que los clientes que se conectan a este nodo tengan Internet y puedan ver el resto de la red se agregan las siguiente configuraciones en el servidor DHCP del nodo:
    • list dhcp_option '3,10.40.10.1'
    • list dhcp_option '121,10.0.10.0/8,10.40.10.2'
    • list dhcp_option '249,10.0.10.0/8,10.40.10.2'
    • Estas reglas son las encargadas de definir en los clientes cual sera su salida a internet y ademas de dar acceso a la red MESH.

Con esto el nodo principal se anunciara como un HNA en la red y ademas los clientes que se conecten a el tendran Internet y podran ver la red MESH, para acceder a los servicios locales.

Configuración del resto de los nodos

El resto de los nodos de la red se configuran como establecen los protocolos de cada Firmware, como ya tenemos un nodo que se anuncia como HNA estos detectaran automaticamente la salida a Internet y se encargaran de repartirlo a los clientes de la red.

  • En la configuración de cada uno de los nodos se debe configurar como servidor DNS la ip del PfSense para que este se encargue de gestionar el servicio de DNS de la red.