Supernodo casero con Linksys y DD- WRT
Jan 08, 2016
Supernodo casero con Linksys y DD-WRT
En el capítulo de hoy…
Evolución de un nodo en Guifi.net. DD-WRT como firmware para
routers. Configuraciones de red avanzadas. Utilización de linux para la
administración avanzada de red. Servicios básicos con DD-WRT.
La nanostation
Config 1: Modo bridge
La nano recibe por un extremo y envía por el otro. Nivel 2 (enlace).
Muy simple y cómodo. La config TCP/IP de
red (nivel 3) la realizará el PC.
Config 2: Modo router a 1 PC
La nano parte la red en 2 segmentos: WAN (wireless) y LAN (Ethernet).
Se crea una subred privada y se hace NAT.
Sólo podemos conectar a 1 equipo.
Esto empieza a complicarse.
Config 3: Modo router con router
Config 4: Modo bridge con router
Conexiones del linksys
Supernodo casero
Supernodo casero
Gestionamos 1 nano en modo cliente que establece el enlace con otro nodo.
Gestionamos 2 nanos en modo AP que permiten conexiones de clientes, cada una con su subred de IP’s.
Puede que tenemos que dar acceso a casa, con una IP pública.
Os dije que esto se iba a complicar.
Supernodo casero
Nuestro modesto nodo pasa a ser parte implicada en la red.
Enrutamos 2 subredes públicas y conectamos con otro router.
Ya no somos un simple gateway. No sólo debemos encaminar nuestro
tráfico hacia fuera, debemos encaminar el tráfico de fuera hacia adentro.
Supernodo casero
Las nanos están en modo bridge, es decir, configuración de red requerida: 0.
Toda la config está centralizada en el linux del linksys.
Muy útil el “Network Administration with Linux” y el “Linux advanced Routing”:http://linux-ip.net/ y http://lartc.org/
La práctica de redes ayuda mucho.
Supernodo casero
El firmware de Linksys es incapaz de gestionar esa configuración.
Necesitamos un firmware de 3ros, que funcione en en HW del Linksys, capaz de realizarlo.
Opciones: DD-WRT y OpenWRT. Voy a explicar DD-WRT, pero los
conceptos son los mismos para OpenWRT.
Basado en Linux. Se instala en múltiples arquitecturas. GPLv2. IPv6, WDS, RADIUS, QoS avanzado,
overclocking, JFFS2, cliente Samba, SSH, UPnP, Wake on Lan, WatchDog, Firewall avanzado, SNMP, instalación de SW adicional,etc.
Controversia en los últimos años. Parece que no sigue los términos de la
GPL. Incorpora módulos no GPL. Vende una versión comercial con código
no abierto (control de tráfico por usuario). El interfaz web es un componente no GPL
al que ofuscan el código.
Buscamos el firm que nos interesa desde su web.
Hay varias versiones de firm. La “std-generic” va de perlas para lo que
queremos.
Setup
Setup: Es la configuración de red. Fundamental. Desde aquí configuramos el modo de
funcionamiento de nuestro router. Tal como viene por defecto funcionará con la
pata WAN aislada, y el switch bridgeado en la LAN y Wireless LAN.
Tenemos que cambiar muchas cosas aquí.
Setup
Configuración WAN.
Setup
Nombre del router
Setup
Configuración LAN
Setup
Configuración del DHCP de la LAN
Setup > Advanced Routing
Definimos el modo de funcionamiento del router, normalmente Gateway/NAT.
Desde aquí no podemos configurar el enrutado dinámico.
Setup > VLANs
Podemos independizar cada puerto. Asignamos el bridge LAN como queramos
Setup > Networking
Podemos definir tagging o nuevos bridges (yo no he necesitado).
Definimos la configuración de red de aquellos puertos que los hemos independizado del bridge.
Setup > Networking
Wireless
Cambio de la configuración WLAN de la radio integrada.
Podeis poner cualquier tipo de seguridad a la red inalámbrica, cambiar parámetros de la radio o activar el WDS.
No lo veremos en esta presentación.
Services
Activación de servicios incluidos en el firmware.
Dnsmasq, SNMP, SSHd, syslogd, telnet. Permite hacer túneles PPTP y EOIP. Permite activar software de Hotspot tipo
Chillispot (portal cautivo) o un redirect.
Services
Activación del demonio SSHd. Permite añadir autorizaciones.
Services
Dnsmasq como servidor DNS y DHCP
Services
Herramientas de medición de tráfico Posibilidades:
Demonio ttraf.Demonio snmp.Demonio rflow (ntop)
Security
Lleva un firewall integrado. Útil en la configuración de LAN privada. A mi me dio problemas con las reglas al
pasar al modo router, así que lo tengo desactivado.
Puedes habilitar el paso de tráfico de VPNs (IPSec, PPTP, L2TP).
Access Restrictions
Permite bloquear accesos por URL, por keyword, por servicios o no permitir internet determinados días de la semana.
Yo no lo uso, pero puede ser útil para bloquear P2P o megaupload si la cosa se desmadrara.
NAT/QoS
Redirecciones de puertos. Zona desmilitarizada. Poco útil en este caso en concreto. Qos: No lo uso.
Administration
Activación de acceso remoto al DD-WRT. Cron, Overclocking, CIFS mount. Watchdog. Comandos a ejecutar una vez arrancado. Wake on Lan. Valores por defecto, actualizar firmware,
backup de configuraciones.
Administration
En el apartado “Management” habilitamos el acceso al interfaz web, el acceso remoto al router y el cron.
Status
Resumen de estado del router. Informe de la WAN, con graficas de
consumo (ttraf). Informe de la LAN (dhcp leases). Informe de la WLAN. Graficas de consumo de ancho de banda
en tiempo real.
Independizando el bridge
Independizando el bridge
Queremos 3 interfaces independientes de las 4 que tiene el bridge.
Queremos un servidor DHCP en cada pata sirviendo cada uno un rango de IP’s.
Queremos enrutado dinámico. No queremos NAT. Queremos hacerlo desde el interfaz web.
Independizando el bridge
Independizando el bridge
Conviene reiniciar tras cada cambio. Si miramos como ha quedado el bridge
tenemos esto:En “Basic Setup” > “Networking”
Independizando el bridge
Tenemos independizados los conectores. Les conectamos una nano en modo bridge
a cada uno de ellos. Las Vlanes no tienen IP configurada. Accedamos de nuevo a “Basic Setup” >
“Networking”
Independizando el bridge
Independizando el bridge
Nos faltan los servidores DHCP en cada uno de los interfaces.
Bird, enrutado dinámico con OSPF
El firmware del DD-WRT incluye de serie el software de enrutado BIRD:http://bird.network.cz/
En guifi.net Castelló utilizamos OSPF como protocolo de enrutado dinámico.
No podemos activar OSPF desde el interfaz de DD-WRT.
Tenemos que configurar BIRD una vez arrancado el sistema DD-WRT.
Bird, enrutado dinámico con OSPF
En OSPF recibimos las rutas de encaminamiento por parte de otros routers, y publicamos las rutas para llegar a nuestras redes.
En BIRD la configuración OSPF es muy simple.
Lo configuraremos en los comandos de post-arranque: “Administration” > “Commands”.
Bird, enrutado dinámico con OSPF
mkdir /tmp/bird echo ' router id 10.228.130.2; log syslog { trace }; protocol kernel { learn; persist; scan time 10;
import all; export all; } protocol device { scan time 10; } protocol direct { interface "*";} protocol ospf WRT54G_ospf { area 0 { interface "*" { cost 1; authentication none; }; }; }' > /tmp/bird/bird.conf bird -c /tmp/bird/bird.conf
Independizando el bridge
Independizando el bridge
Independizando el bridge
Independizando el bridge
Empezamos por la configuración WAN
Independizando el bridge
Al puerto WAN conectamos la nano que establecerá el enlace como cliente.
Se corresponde con el interfaz vlan1. El interfaz eth1 es la wireless.
Repositorio de software. IPKG
Muy similar al apt-get de Debian/Ubuntu. Antes que nada, necesitamos una
partición de lectura/escritura. Posibilidades:JFFS2 filesystem (poco espacio).RAM (no persistente).Montar una partición samba/cifs de
lectura/escritura (es lo que yo uso).
Repositorio de software. IPKG
Particion Journaling Flash Filesystem (JFFS2). Necesitas sitio en la flash, yo no tengo. Puedes aprovechar 4MB para software. Directorio: /jffs/ Activar: Administration > Management.
Repositorio de software. IPKG
Activar partición samba/cifs: Pestaña Administration > Management. Lo monta en /tmp/smbfs
Repositorio de software. IPKG
Actualizar lista de software: Ipkg –d smbfs update
Actualizar versión del software instalado: Ipkg –d smbfs upgrade
Listar software: Ipkg –d smbfs list
Instalar software: Ipkg –d smbfs install tcpdump
Repositorio de software. IPKG
Yo tengo instaladas 4 utilidades IPKG en el linksys. Tcpdump Monit Psmisc (fuser, pstree) Procps (top, free, vmstat)
No he conseguido instalar, pero está el sofware: Screen Nmap Lsof
Repositorio de software. IPKG
Para un ordenador de casa podeis instalar:Servidor samba.Servidor DLNA ushare.Servidor música mt-daapd.Apache.Vpnc (Cisco tunel client).Etc.
tcpdump
Monit: http://mmonit.com/monit/
Servicios: Monit
Monitoriza procesos, archivos, directorios, sistemas de archivos, estado de red, etc.
Open source. Disponible en el repositorio OpenWRT. Fácil de configurar. Muy útil.
Servicios: Monit
Ejemplo de configuración: set mailserver marti.uji.es set alert [email protected] set httpd port 2812 and allow admin:monit check process bird with pidfile /opt/var/run/bird/pid start program = "/opt/sbin/bird start" stop program = "/opt/sbin/bird stop"
Servicios: Monit
Interfaz web: