Eliminando archivos de redinc

This commit is contained in:
root 2019-04-28 17:40:16 -05:00
parent ce82dabb99
commit b46cb88147
9 changed files with 0 additions and 7613 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

View File

@ -1,131 +0,0 @@
# LibreMesh y PfSense
Para la configuración de la redinc.org en la vereda La esperanza en el municipio Buenos Aires Cauca, se decidio por la utilización del Firmware LibreMesh para la implementación de una red MESH y que a su vez se integrara a esta red un Firewall que permitiera el manejo de un portal cautivo para el control del acceso a Internet y manejar diferentes formas de permitir el acceso a internet por parte de los clientes de la red.
Esta configuración en si misma representa un reto ya que los Firmware libres que implementan protocolos modernos para redes mesh como BMX6 o BMX7 que a su vez logran que el enrutamiento a la red sea dinamico no son 100% compatibles con enrutamientos estaticos en redes tradicionales para esto tuvimos que hacer una configuración especial en donde mezclamos lo mejor de los dos mundos y tener una configuración que cumpliera con los requisitos de la comunidad en cuanto al control que se requiere del acceso a Internet.
### Diseño de la red.
Entre las configuraciones posibles a la hora de diseñar el red, el direccionamiento IP y el tamaño de la misma elegimos una que nos permitiera tener una red bastante grande y que fuera compatible con los protocolos de la red MESH
La red definida cumple con los siguientes parametros:
Address: 10.17.0.0
Netmask: 255.255.0.0 = 16
Wildcard: 0.0.255.255 =>
Network: 10.17.0.0/16
Broadcast: 10.17.255.255
HostMin: 10.17.0.1
HostMax: 10.17.255.254
Hosts/Net: 65534
De esta forma cada uno de los equipos de la red y de los nodos de la Mesh tendran una ip del tipo 10.10.x.x/16 al comportarse como una sola red no es necesario realizar tareas complejas de enrutamiento para agregar equipos con diferentes caracteristicas o firmwares a la red MESH
LibreMesh de forma automatica crea sobre esta red grande segmentos de red que le permite a cada nodo tener su propio servidor DHCP y DNS Forwarder que entrega a los clientes segun el nodo al que se conectan.
Este tipo de configuración a su vez permite que la red tenga una especio de Itinerancia o Roaming por defecto logrando que clientes en movimiento salten de nodo sin notar intermitencias en el servicio al cambiar de nodos.
Una detalle importante a tener en cuenta es que la definicón del direccionamiento IP de la red la genera automaticamente LibreMesh basado en el nombre de la red segun el archivo de configuración que creamos para la compilación del Firmware, estos archivos pueden encontrarse en el siguiente enlace:
https://github.com/kleper/network-profiles/tree/master/RedINC-Comunitaria
### Segmento de RED Servidores
Al realizar la configuració de los primeros nodos elegimos que los servidores iban a pertenecer a un segmento de red creado por uno de los nodos que es el:
10.17.95.0/16
Los servidores quedaron con las siguientes IP:
- Firewall: 10.17.95.1
- Servidor contenidos Locales: 10.17.95.2
#### Direccionamiento IP para equipos que no pueden conectarse a la RedMES
Teniendo en cuenta que segun el tipo de equipos que tiene la RedINC y las diferentes tecnologias que se quieren implementar y probar y que deben quedar formando parte de la RedMESH se puede utilizar casi que cualquier IP que este en el rango explicado para definirla de forma estatica en estos equipos, en especifico se puede coger el rango de IPS desde 10.17.0.10 hasta 10.17.0.100 para agregar equipos de forma estatica y estos deben poder ser accesibles desde cualquier punto de la red.
Teniendo en cuenta lo anterior un equipo con el que se quiera hacer un enlace punto a punto debe llevar la siguiente configuración:
IP: 10.17.0.10
Netmask: 255.255.255.0
Gateway: 10.17.95.1
DNS: 10.17.95.1
Los demas equipos solo es ir creciendo el numero final de la dirección ip conservando las configuraciones de Netmask, GW y DNS. Ejmeplo:
10.17.0.10 - 10.17.0.11 - 10.17.0.12 ... ETC
Esta es la configuración sugerida para los diferentes enlaces Punto a Punto que tiene la red, para las BTS y para los equipos de TVWS.
### LibreMESH
Para poder que el Firmware LibreMesh que compilamos para la RedINC fuera compatible con nuestro Firewall debimos agregar a la configuración de cada uno de los equipos las siguientes lineas en los siguientes archivos al interior de cada router:
En la seccion **config interface 'lan'** del archivo:
- /etc/config/network
- option gateway '10.17.95.1'
Captura de la pantalla de como queda la configuración en un nodo:
![](https://docutopia.tupale.co/uploads/upload_149056723c629710a2a9399a4b1564b1.png)
En la seccion **config dnsmasq** del archivo:
- /etc/config/dhcp
- list dhcp_option '3,10.17.95.1'
- list dhcp_option '121,10.0.10.0/8,10.17.150.224'
- list dhcp_option '249,10.0.10.0/8,10.17.150.224'
- list address '/.redinc.org/10.17.95.2'
- list address '/firewall.redinc.org/10.17.95.1'
Captura de la pantalla de como queda la configuración en un nodo:
![](https://docutopia.tupale.co/uploads/upload_c4a050523742e2d711ba631249098a3a.png)
Las lineas:
- list dhcp_option '121,10.0.10.0/8,10.17.150.224'
- list dhcp_option '249,10.0.10.0/8,10.17.150.224'
El valor 10.17.150.224, debe cambiar segun la IP de cada uno de los nodos.
La configuración anterior lo que hace es decirle a cada nodo que tiene Internet en la red LAN por medio de la puerta de enlace 10.17.95.1 que es nuestro PfSense
Y que el servidor DHCP de cada uno de los nodos entregue a los clientes la puerta de enlace la ip de nuestro PfSense y que defina unas rutas estaticas necesarias para que los clientes puedan ver el resto de la red, tambien agregamos un par de lineas que permiten que a nivel de dns se definan las ip del dominio redinc.org
Los firmware compilados para la RedINC se pueden descargar del siguiente enlace:
https://tms.openstreetmap.co/lime/
En esta carpeta se puede encontrar 2 compilados del firware:
1. lime_default: Se utiliza para routers con mas de 5MB de memoria flash disponible.
2. lime_mini: Se utiliza para routers con menos de 4MB de memoria flahs disponible
Para saber que routers son adecuados para cada firmware visite la pagina de libremesh y revise el hardware soportado y el tamaño de firmware que recomiendan.
# Actualización generación automatica del Firmware
La ultima configuración realizada en el profile de la RedINC en el [repositorio de LibreMESH](https://github.com/libremesh/network-profiles/tree/master/RedINC-Comunitaria) permite que se compile el firmware y ya quede configurado con las opciones que necesita la red para hacer que todos los clientes vean al PfSense como gateway.
Esto ademas permite que podamos utilizar [el CHEF de LibreMesh para generar el Firmware](https://chef.libremesh.org/) el profile que se debe usar para generar el Firmware es el que se llama **hacklime**.
# PfSense
La configuración del PfSense para agregarlo a la red creada con LibreMesh no es diferente a la que se explica en el siguiente enlace:
https://docutopia.tupale.co/qmp+pfsense
Solo hay que tener en cuenta el direccionamiento IP y que ya no es necesario agregar ninguna ruta estatica adicional en el Firewall.
### RedINC.org
La IP de la WAN quedo configurada con la IP: 192.168.40.254/24

View File

@ -1,79 +0,0 @@
# PfSense
[pfsense.org](https://www.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**
1. 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
1. En la configuración del sistema (menú Sistema) ir a **Gestión de Usuarios**
1. Buscar la pestaña **Servidores de autenticación**
1. 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
1. 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**
1. Añadir un portal cautivo, poner nombre y descripción y dar clic en "Guardar y Continuar"
1. Aparece una ventana en la que debes activar la casilla que dice "Habilitar portal cautivo" luego dar clic en guardar
1. 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.
1. Puede activar la configuración de VAUCHERS para tener usuarios ocasionales en la red.
1. 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
1. 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.
1. En la configuración de la LAN se debe agregar como puerta de enlace adicional la pasarela que creamos
1. 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.
1. Desactivar el servidor DHCP de PfSense, el servicio de DHCP lo proveera cada uno de los nodos de la red MESH

View File

@ -1,129 +0,0 @@
# Configuración de RED MESH QMP + PFSense
![](https://code.tupale.co/kleper/redcauca/raw/branch/master/docs/2018-RedCauca.jpeg)
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
1. Control de ancho de banda y QOS para optimización de la navegación.
1. Acceso a contenidos locales que no queden filtrados el firewall.
1. 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](https://www.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**
1. 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
1. En la configuración del sistema (menú Sistema) ir a **Gestión de Usuarios**
1. Buscar la pestaña **Servidores de autenticación**
1. 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
1. 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**
1. Añadir un portal cautivo, poner nombre y descripción y dar clic en "Guardar y Continuar"
1. Aparece una ventana en la que debes activar la casilla que dice "Habilitar portal cautivo" luego dar clic en guardar
1. 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.
1. Puede activar la configuración de VAUCHERS para tener usuarios ocasionales en la red.
1. 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
1. 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.
1. En la configuración de la LAN se debe agregar como puerta de enlace adicional la pasarela que creamos
1. 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.
1. 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.